Куда идём мы с ...CMS

2018-02-10

Третьего дня имел беседу со своим гуру. Речь шла о современных системах управления контентом, а проще говоря — CMS.

Моя фраза “а вот есть же WordPress” вызвала задорное и, практически, оскорбительное веселье. Ответ я получил практически исчерпывающий — “так уже никто не танцует”, и знаете что ? Это похоже на правду.

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

Давайте решим простую задачу — мы хотим сайт, желательно быстро, чтобы было легко наполнять и его внешний вид не переносил нас во времена Geocities и Tripod (кто помнит, тот поймёт).

Как устроен HTML, мы примерно знаем, равно как и CSS. За окном вроде как 21 век, инновации и микросервисы (КДПВ это про них, да).

Казалось бы — выбор очевиден. Ставим этот самый Wordpress, натягиваем темку из приличных, обмазываем плагинами и начинаем самовыражаться, как умеем.

Вроде всё круто, но есть какой-то подвох. К WP прилагается ещё MySQL/Maria DB, PHP, сам веб сервер. Бесконечные патчи, апдейты, латание дыр. Обратите внимание на картинку у посту. Очень похоже. Зададимся очевидным вопросом — мы действительно хотим держать как минимум три различных сущности — сервер (да, сцуко, сервер) баз данных, PHP, и ещё веб-сервер в придачу? Лишь для того, чтобы запостить очередной креатив про котиков? Или “как я охуенно съездил на море, пока вы тут глотали пыль в офисе”?

Сорри, но нет. Не сегодня. И не завтра. Для “просто сайтов” есть простые и эффективные инструменты, а именно — системы статической генерации контента.

Всё относительно просто — на входе файлы в формате Markdown, несколько файлов с настройками. На выходе же просто набор директорий и файлов, которые можно скормить простейшему веб-серверу, и он будет отдавать их с безумной скоростью, да так, что CDN-провайдеры будут кусать локти и делать харакири из-за отсутствия спроса на услуги.

Бенефиты такого подхода очевидны:

  • Ничего лишнего, только контент.
  • Всё предельно просто — никаких промежуточных звеньев типа базы данных.
  • Скорость работы.
  • Безопасность. Лично я как-то подустал читать о новых уязвимостях в WP, например.
  • Хостить можно хоть на кофеварке с веб-интерфейсом.
  • Исходники сайта для быстрого переезда поместятся на дискету (да, сучата, небось даже и не знаете что это).

Список, очевидно, не полный. Ну тут уж пусть каждый для себя решает.

И вот, TOP-3 системы для генерации статических сайтов:

Определенно их больше, но эти, пожалуй, самые показательные.

Джекил писан на Ruby и является самой продвинутой в этом вопросе. Пеликан и Никола это Python. Мне лично приглянулся Пеликан относительно скоромными размерами и простотой установки, да и Ruby мне пока не особо знаком. Однако, есть мнение, что в повседневной жизни до правки кода там и не дойдет.

Да, есть недостатки.

  • Во-первых придётся поработать в командной строке и поредактировать как шаблоны, так и конфигурацию.
  • Во-вторых никаких специальных настроек для SEO типа микроразметки “там” нет, и её придётся делать самому.
  • Будет пугать отсутствие того же поиска и “каментов”.

На это отвечу просто. Настройка делается один раз и изучив её, вы получите гораздо больше контроля над собственным детищем. Финально вы всё равно проведете много времени в консоли и конфигах, будь то подкручивание готового шаблона или допиливание очередного “плагина”.

SEO? Просто делайте приличный контент. И оно не понадобится. И может быть говносайтов станет меньше. А может быть и нет.

Поиск… Вы когда им последний раз пользовались? Да и подключение сервиса от Google/Yandex будет работать точно быстрее и лучше, чем штатный поиск в вашем CMS. Комментарии прекрасно заменит Disqus. Более того, в сложной политической обстановке “срач в комментариях” формально будет жить вообще в другой стране (ну ты понЕл).

Остальные плюшки в виде счётчиков, контекста и так внешние. И к CMS имеют весьма отдаленное отношение.

Короче, следующий проект (если он будет) я буду делать с вероятностью 9 из 10 полностью на статике. И не из-за нищебродства или жмотства на “приличный сервак” (хотя да, я жмот и нищеброд ;)), а просто из-за того, что это простой и естественный путь. Будет ли он успешен — зависит точно не от CMS.

Учись


В массы

В трубу