Генераторы статических сайтов (SSG) популярны и предлагают множество преимуществ, но в этой статье обсуждаются причины, по которым они не могут быть подходящей заменой вашей системе управления контентом (CMS).
В моей предыдущей статье мы обсуждали, как ваш сайт может выиграть от использования генератора статических сайтов:
Статический сайт — это набор страниц, содержащихся в основных
Система управления контентом хранит содержимое страницы в базе данных и предоставляет средства для редактирования и применения тем. Управление становится проще за счет гибкости, производительности, требований к серверу, безопасности и резервного копирования.
Генератор статических сайтов — это компромисс между использованием статического сайта с ручным кодом и полноценной CMS. Вы создаете полный сайт один раз, используя необработанные данные (например, файлы Markdown) и шаблоны. Полученный набор файлов переносится на ваш живой сервер.
Термин «Jamstack» (JavaScript, API и разметка) используется в отношении статических сайтов. Это относится к развитию фреймворков, бессерверных функций и связанных с ними инструментов, которые генерируют статические файлы, но позволяют добавлять сложную интерактивность.
К популярным генераторам статических сайтов относятся Jekyll, Eleventy, Gatsby, Hugo и Metalsmith. SSG доступны для большинства языков; см. StaticGen для многих других.
Похоже, что SSG предлагают преимущества как CMS, так и статических миров, но они могут не подходить для каждого проекта...
1. Вы сами по себе
Вы не продвинетесь далеко, используя генератор статических сайтов, без опыта разработки. Этот процесс сложнее, чем при использовании CMS, ресурсов меньше, и вам может быть сложно найти готовые плагины и шаблоны.
Сравните это с WordPress. Пользователю, не являющемуся техническим специалистом, может потребоваться помощь в установке, но после ее завершения он сможет отредактировать сайт и установить одну из многих тысяч доступных тем и плагинов. У них может быть не самый лучший сайт, сделанный на заказ, но они работают с минимальным вмешательством.
2. Паралич выбора
Существует множество генераторов статических сайтов, но даже самые популярные инструменты используются небольшой частью
Существует много CMS, но есть один очевидный выбор: WordPress. На нем работает более 40% Интернета, поэтому помощи в избытке. Опять же, это поможет, если у вас есть некоторый опыт работы с PHP, но даже не разработчик может создать разумный
3. Начальное время настройки
Создание вашего первого статического сайта займет время. Вам нужно будет изучить процесс сборки, и большую часть кода шаблона необходимо будет разработать. Также могут потребоваться сценарии развертывания.
Разработка пользовательской темы CMS также может быть сложной, но доступны готовые шаблоны, и помощь легче найти. Дальнейшая разработка может не потребоваться после первоначальной установки.
4. Нет интерфейса администрирования
Клиенты могут проявлять осторожность при столкновении со сложным интерфейсом CMS. Многих может напугать просьба создать и отредактировать набор файлов Markdown. Возможно, вы можете упростить процесс:
используя свою существующую CMS в качестве источника данных SSG, или
предоставление более простых рабочих процессов, таких как редактирование файлов на основе Git в StackEdit или Hackmd.io.
Но это еще больше повлияет на ваше первоначальное время разработки.
5. Согласованность
Статические сайты гибки: все, что содержится в исходном контенте, может быть отображено на
CMS можно настроить так, чтобы ограничивать пользователя. Контент обычно привязан к базе данных с определенными полями, поэтому панели администрирования предлагают пользователю ввести заголовок, основной контент, выдержки, избранные изображения и т. д. Даже если пользователь введет
6. Управление большими сайтами
Рассмотрим
Редактирование и публикация контента могут быть более неудобными. Редакторам может потребоваться доступ к репозиторию Git или общим папкам, а не к простому
Обновления в режиме реального времени задерживаются, поскольку сайт необходимо перестроить, протестировать и развернуть.
Время сборки может быстро увеличиться, а развертывание может стать громоздким.
Генераторы статических сайтов, возможно, лучше всего подходят для сайтов, содержащих не более нескольких сотен страниц с парой новых сообщений каждую неделю. Потребуются автоматизированные процессы сборки и развертывания, и вы можете достичь точки, когда CMS станет более практичным вариантом.
7. Серверная функциональность
Статические сайты идеально подходят для страниц с контентом, но ситуация усложняется, когда вам требуются входы пользователей в систему, заполнение форм, средства поиска, дискуссионные форумы или другие взаимодействия с сервером и базой данных. Варианты включают:
Добавление стороннего клиентского компонента, такого как поиск Algolia или комментарии Disqus.
Создание собственных серверных (или бессерверных) API, которые могут использоваться клиентским JavaScript для добавления необходимых функций.
Создание страниц, содержащих <? php...? >или подобных блоков кода на стороне сервера.
Переключение на такую платформу, как Next.js, которая по возможности отображает статический контент, но также допускает обработку на стороне сервера.
Однако время разработки, сложность сборки, последствия для безопасности, усилия по тестированию и расходы возрастут. Сравните это с установкой подходящего плагина WordPress, который может реализовать клиентские или серверные функции за несколько минут.
Подходит ли вам статический сайт?
Прежде чем принимать
ваши требования к проекту, размер, сложность, частота обновления и т. д.
ваши пользователи, их местоположение, ожидания и т. д.
навыки развития вашей команды, и
любые факторы размещения и/или развертывания.
Подавляющее большинство