Статьи

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


Актуальные сообщения на SitePoint сегодня:


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

  • Статический сайт — это набор страниц, содержащихся в основных файлах HTML. Вы можете написать их вручную в текстовом редакторе, но управление ресурсами и повторяющимися элементами, такими как навигация, может стать проблематичным.
  • Система управления контентом (CMS) хранит контент страницы в базе данных и предоставляет средства для редактирования и применения тем. Управление становится проще за счет гибкости, производительности, требований к серверу, безопасности и резервного копирования.
  • Генератор статического сайта (SSG) — это компромисс между использованием статического сайта с ручным кодированием и полной CMS. Вы создаете веб-сайт только для HTML с использованием необработанных данных (таких как файлы Markdown) и шаблонов. Полученная сборка переносится на ваш живой сервер.

генераторы статического сайта

Популярные генераторы статических сайтов включают в себя Jekyll , Pelican , Hugo и Metalsmith — см. StaticGen для многих других вариантов.

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

1. Ты сам по себе

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

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

2. Выбор паралича

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

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

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

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

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

4. Нет интерфейса администрирования

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

  1. позволить им использовать свою существующую CMS, или
  2. обеспечить более простые рабочие процессы, такие как редактирование файлов Dropbox в StackEdit .

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

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

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

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

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

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

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

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

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

Настоящий статический сайт не может предлагать интерактивные средства, такие как логины пользователей, заполнение форм, поиск или дискуссионные форумы. Есть некоторые варианты на стороне клиента, такие как поиск lunr.js и комментирование Disqus , но ваш выбор будет более ограниченным.

Существуют такие решения, как использование этапа сборки, который генерирует статический сайт, содержащий необходимые <?php ... ?> Это должно делать предварительную визуализацию HTML, где это возможно, например, навигацию, включения, партиалы и т. Д., Чтобы страницы были более эффективными и требовали меньше усилий от процессора PHP. К сожалению, вы увеличиваете сложность сборки, и это может принести мало пользы для некоторых платформ.

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

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

  • требования к вашему проекту, размер, сложность и т. д.
  • ваша база пользователей
  • навыки развития вашей команды, и
  • факторы хостинга и / или размещения.

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

Для практической демонстрации того, как создать сайт с помощью генератора статических сайтов, см. Мою статью Как создать статический сайт с помощью Metalsmith .