7 причин не использовать генераторы статических сайтов

Источник: «7 Reasons NOT to Use a Static Site Generator»
Генераторы статических сайтов (SSGs) популярны и предлагают множество преимуществ, но в этой статье обсуждаются причины, по которым они могут быть неподходящей заменой вашей системе управления контентом (CMS).

В моей предыдущей статье мы обсуждали, какие преимущества может получить ваш сайт от использования генератора статических сайтов:

Популярные генераторы статических сайтов включают Jekyll, Eleventy, Gatsby, Hugo и Metalsmith. SSG доступны для большинства языков программирования (более подробно на StaticGen).

Похоже, что SSG предлагает преимущества как CMS, так и статических миров, но они могут не подходить для каждого проекта...

1. Вы сами по себе

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

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

2. Паралич выбора

Существует множество генераторов статических сайтов, но даже самые популярные инструменты используются небольшой частью веб-сообщества. Вам понадобится время, чтобы изучить, исследовать и оценить варианты. Одним из первых SSG был Jekyll на основе Ruby, но, хотя вам необязательно иметь опыт работы с Ruby, он поможет, если вы использовали этот язык раньше.

Существует много CMS, но есть очевидный выбор: WordPress. Он используется на более 40% сайтов в Интернете, поэтому помощи в избытке. Опять, существенную помощь окажет знание PHP. Даже не разработчик может создать веб-сайт, используя готовые темы и плагины.

3. Время начальной настройки

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

Разработка пользовательской темы CMS также может быть сложной, но доступны готовые шаблоны, и легче найти помощь. Дальнейшая разработка может не потребоваться после первоначальной установки.

4. Отсутствие административного интерфейса

Клиенты могут проявлять осторожность при столкновении со сложным интерфейсом CMS. Многих может напугать просьба создать и отредактировать набор Markdown файлов. Возможно, вы можете упростить процесс:

Но это ещё больше повлияет на первоначальное время разработки.

5. Согласованность веб-сайта

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

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

6. Управление большими сайтами

Рассмотрим веб-сайт с тысячами страниц, ежедневными публикациями контента, последними новостями в режиме реального времени и десятками авторов в разных местах. Контентом можно управлять с помощью генератора статических сайтов, но:

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

7. Серверная функциональность

Статические сайты идеальны подходят для страниц с контентом, но ситуация усложняется, когда потребуется вход пользователей в систему, заполнение форм, средства поиска, дискуссионные форумы или другие формы взаимодействия с сервером и базой данных. Варианты включают:

  1. Добавления стороннего клиентского компонента, такого как поиск Algolia или комментарии Disqus.
  2. Создание собственных серверных (или бессерверных) API, которые могут использоваться клиентским javaScript для добавления необходимых функций.
  3. Создание страниц, содержащих <?php ... ?> или аналогичные клоки кода на стороне сервера.
  4. Переключение на такую платформу, как Next.js, которая по возможности отображает статический контент, но также позволяет выполнять обработку на стороне сервера.

Однако время разработки, сложность сборки, последствия для безопасности, усилия по тестированию и расходы возрастут. Сравните это с установкой подходящего плагина WordPress, который может реализовать клиентские или серверные функции за несколько минут.

Подходит ли вам статический сайт?

Прежде чем принимать какое-либо решение, проверьте:

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

Дополнительные материалы

Предыдущая Статья

7 причин использовать генератор статических сайтов

Следующая Статья

Создайте сервис контейнер на PHP — минимальный контейнер