CMS расшифровывается как content management system — система управления содержимым. Звучит внушительно, а делает вещь понятную: хранит тексты сайта в базе данных и подставляет их в общую для всех страниц вёрстку.

Сайт без CMS — это папка с файлами

Самый простой сайт выглядит так: папка, в ней index.html, about.html и style.css. Открыли файл в редакторе, поправили текст, сохранили, положили на хостинг. Пока страниц две, лучше способа не придумать.

Вот кусок такой страницы. Шапка с меню — это первые строки каждого файла:

about.html
<body>
  <header>
    <a href="index.html">Главная</a>
    <a href="about.html">Об авторе</a>
    <a href="works.html">Работы</a>
  </header>

  <h1>Об авторе</h1>
  <p>Меня зовут Дмитрий, я учусь в десятом классе.</p>
</body>

Теперь добавим четвёртый раздел — «Контакты». Ссылку на него придётся вписать в каждый файл: в index.html, в about.html, в works.html. Три файла — три одинаковые правки. У этого сайта сейчас больше полусотни страниц: полсотни правок ради одной ссылки.

Так я и попался в первый раз

Правил меню руками, на одной странице забыл. Неделю на сайте висела ссылка в никуда, и заметил я это случайно. Дело не в невнимательности — просто человек не умеет делать сорок одинаковых правок без единой ошибки.

Что делает CMS

Система управления сайтом разделяет страницу на две части, которые до этого были склеены в одном файле:

  • Как страница выглядит — шапка, меню, подвал, расположение блоков. Это шаблон, и он один на все страницы.
  • Что на странице написано — заголовок и текст. Это содержимое, оно хранится в базе данных отдельно для каждой страницы.

Когда посетитель открывает адрес, движок берёт шаблон, подставляет в него содержимое нужной страницы и отдаёт браузеру готовый HTML. Собирается страница каждый раз заново — файла about.html на диске больше нет вообще.

Ближайшая аналогия — дневник. Расчерченная сетка одинаковая на всех страницах, а записи в ней разные. Никому не приходит в голову перечерчивать таблицу ради новой записи.

В Evolution шаблон выглядит почти как обычный HTML. Отличие — метки в квадратных скобках: на их место движок подставит данные.

Шаблон в Evolution CMS
<body>
  {{header}}

  <h1>[*pagetitle*]</h1>
  [*content*]

  {{footer}}
</body>

Здесь [*pagetitle*] — заголовок страницы, [*content*] — её текст, а {{header}} и {{footer}} — шапка и подвал, вынесенные в отдельные куски. Что означает каждая скобка, разберём на следующих страницах этапа: сначала шаблоны, потом чанки.

Что это даёт на практике

  • Меню правится один раз — меняется на всех страницах сразу.
  • Новая страница создаётся мышкой в админке, а не копированием файла.
  • Текст может править человек, который не знает HTML, — например, учитель или родитель.
  • Вёрстка лежит в одном месте, и её не приходится искать по полусотне файлов.

Как это выглядит вживую

Почему Evolution, а не WordPress

WordPress — самая известная CMS в мире, и на ней работает каждый третий сайт. Я всё равно взял Evolution, и вот честное сравнение — с тем, в чём WordPress лучше.

Что важно для учебного проекта
Что сравниваю Evolution CMS WordPress
Шаблон Обычный HTML, куда вписаны метки. Свою вёрстку видно целиком PHP-файлы темы: разметка перемешана с кодом
Вес Ядро маленькое, лишнего почти нет Много всего «на всякий случай»
Готовые решения Дополнений мало, часть придётся написать самому Плагин есть почти на всё
Сообщество Небольшое, в основном русскоязычное Огромное, ответ находится за минуту

Для проекта, где нужно показать, как устроен сайт, решает первая строка таблицы. В Evolution моя вёрстка остаётся моей: я вижу тот же HTML, который написал, плюс несколько меток. В WordPress пришлось бы сначала объяснять, что такое цикл на PHP, — а это уже совсем другой проект.

Что я спросил у нейросети

Выбор я делал не в одиночку. Вот запрос целиком — можно скопировать и задать своей нейросети, подставив свои условия.

Мой запрос

Я школьник, делаю учебный сайт-портфолио на 40 страниц. Условия: обычный хостинг с PHP и MySQL, помощник — нейросеть, опыта в программировании почти нет, но HTML и CSS я понимаю.

Сравни для этой задачи три варианта: статические HTML-файлы, WordPress и Evolution CMS. По каждому напиши: что придётся освоить, сколько времени займёт первая рабочая страница, где я скорее всего застряну.

Отдельно ответь на вопрос: на чём проще всего показать другому человеку, как устроен сайт изнутри? Мне важно не только сделать, но и объяснить.

Ответ пришёл длинный, поэтому здесь он свёрнут — разверните, если интересно целиком.

Ответ нейросети

Статические HTML-файлы. Осваивать почти нечего: вы уже знаете HTML и CSS. Первая страница будет готова за вечер. Застрянете на повторяющихся частях — шапку и меню придётся дублировать в каждом файле, а при полусотне страниц любая правка навигации превращается в сорок одинаковых действий с риском что-нибудь пропустить.

WordPress. Установка занимает минут двадцать, готовых тем и плагинов очень много. Осваивать придётся структуру темы и основы PHP: файлы header.php, single.php, цикл вывода записей. Первая страница на своей вёрстке — день-два. Застрянете на том, что «своя вёрстка» в теме разрезана на куски и перемешана с кодом; объяснять устройство сайта другому человеку станет труднее, чем делать его.

Evolution CMS. Осваивать нужно четыре понятия: шаблон, чанк, сниппет, TV-поле. Первая страница на своей вёрстке — несколько часов, потому что шаблон здесь и есть ваш HTML с добавленными метками. Застрянете, скорее всего, на выводе списков (меню, новости): для них нужен сниппет DocLister, и его синтаксис придётся посмотреть в документации.

Что проще объяснить другому. Для задачи «показать, как устроен сайт» лучше подходит Evolution: в шаблоне видно исходную разметку, а роль каждой метки объясняется одной фразой. На статике объяснять нечего — но и показать нечего, кроме копирования. WordPress потребует сначала рассказать про PHP.

Рекомендация. При ваших условиях — Evolution CMS. Начните с одного шаблона и двух чанков (шапка и подвал), меню подключите позже. Проверьте заранее, что хостинг даёт нужную версию PHP.

Совет про версию PHP оказался важным: на хостинге по умолчанию стояла старая, и первая установка не пошла. Про вывод списков тоже правда — на сниппете меню я действительно застрял, и об этом будет отдельный мануал про мегаменю. Синтаксис сниппетов и список настроек лежат в документации Evolution — это то место, куда стоит идти с вопросом про сам движок, а не про свой сайт.

Проверяйте ответы нейросети

Здесь всё сошлось, но так бывает не всегда: пару раз мне уверенно называли настройки, которых в Evolution нет. Правило простое — то, что можно проверить за минуту, проверяйте за минуту.

Что теперь понятно

  • CMS хранит текст отдельно от вёрстки и собирает страницу в момент открытия
  • Сайт из отдельных файлов ломается на повторяющихся частях: меню, шапке, подвале
  • Шаблон в Evolution — это обычный HTML с метками в квадратных скобках
  • Evolution выбрана потому, что на ней видно свою вёрстку, а не потому, что она популярнее