Смена движка блога

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

Честно говоря, Wordpress с течением времени нравился мне всё меньше. Он превратился в какую-то оболочку для плагинов, из которых многие имеют платную версию; в бесплатной же функционал урезан и она постоянно напоминает плашками в админке о том, что хорошо бы купить платную. Сам Вордпресс постоянно обрастает бирюльками вроде вышеупомянутых «рекомендаций о здоровье сайта».

Редактор «Гутенберг», появившийся в 5-й версии Вордпресса, был очень удобен, но каждый раз он показывал окно «Добро пожаловать в редактор блоков!», которое должно было появиться только единожды при первом запуске. В интернете есть статьи по решению этой проблемы, но попробовав один метод, который не сработал, я оставил эти попытки. Не хотелось что-либо поломать, а пишу в блог я не так часто.

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

Теперь, значит, рекомендуется поставить Redis, чтобы ускорить работу. Ладно. Помимо контейнера с Redis опять-таки ставится очередной плагин, причём настраивать его приходится из консоли, редактируя wp-config.php.

После настройки я запустил Wordpress и получил неработающий сайт, который не поднялся даже после удаления изменений, внесённых в конфигурацию. Восстановить работоспособность удалось только удалив все плагины, но из-за этого поехала вёрстка, в частности, блоки кода начали выглядеть искажённо даже после установки плагина подсветки заново.

После этого мне надоело и я решил перейти на другую CMS, желательно без базы данных, как DokuWiki. От движка нужна поддержка:

  • Галерей картинок;
  • Аудио-плейлистов (в Вордпрессе они были, но их убрали);
  • Подсветки синтаксиса;
  • Видео (Youtube и локальных файлов);
  • По возможности, RSS и типографики.

Перебрав около десятка статических CMS (Grav, HTMLy, Pico и т. п.), я остановился на Datenstrom Yellow, для работы которого требуется только веб-сервер и PHP с минимумом дополнительных модулей (php-curl, php-gd, php-mbstring, php-zip). Для сравнения, в PHP Вордпресса было больше 20 модулей. Записи в блоге делаются в формате Markdown, можно использовать и HTML-код. Переезжал я с помощью wordpress-export-to-markdown, который сконвертировал XML-экспорт из Вордпресса в файлы Markdown и скачал картинки; последующая доработка делалась с помощью Powershell и вручную.

Мелкие недостатки есть:

  1. В Вордпрессе можно было указать у галереи, сколько будет картинок в ряду, здесь указывается точный размер превью.
  2. Не очень удобный способ заполнения альтернативного текста для картинок в галереях.
  3. Видео (локальное или ссылка) не адаптируется к размеру колонки.
  4. Не самый удобный способ написания постов, но это для регулярно имеющего дело с кодом и командной строкой человека не проблема.

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