Готовые страницы, ничего не вычисляется
Что такое статический сайт
Статический сайт — это набор готовых страниц в виде файлов, которые сервер отдаёт каждому посетителю ровно в том виде, в каком они лежат. В момент открытия ничего не вычисляется: нет запроса к базе данных и нет программы, которая собирает страницу на лету.
Динамический сайт собирает каждую страницу в момент визита из базы данных с помощью программы на сервере. Большинство сайтов компаний, портфолио, документация и блоги показывают всем одно и то же, поэтому хорошо работают статическими — и становятся от этого быстрее и безопаснее.
Статический и динамический сайт: сравнение
| Статический сайт | Динамический сайт | |
|---|---|---|
| Как появляется страница | Собирается один раз, отдаётся файлом | Собирается при каждом визите |
| Что работает на сервере | Только веб-сервер, например nginx | Программа на PHP, Python или Node и база данных |
| Скорость | Высокая: файл уже готов | Зависит от сервера и кэша |
| Безопасность | Почти нечего атаковать: нет базы и входа в админку | База, плагины и админка требуют обновлений |
| Хостинг | Дешёвый или бесплатный: GitHub Pages, Cloudflare Pages | Сервер или хостинг с PHP и базой |
| Правки | После новой сборки, обычно меньше минуты | Сразу |
| Одна страница для всех | Да | Может отличаться для каждого |
| Подходит для | Сайтов компаний, портфолио, документации, блогов, лендингов | Магазинов с корзиной, личных кабинетов, соцсетей |
Что умеет статический сайт
Статический не значит примитивный. Всё, что происходит в браузере посетителя, работает как обычно.
Формы
Поиск
Карты, видео, чаты
Несколько языков
Аналитика
Чего он сам не умеет
Личные кабинеты
Корзину и оплату
Данные, которые меняются каждую секунду
Нужна ли сайту база данных
Задайте один вопрос: видит ли каждый посетитель одну и ту же страницу? Если да, содержимое может лежать в файлах, а сайт — быть статическим. База оправдана, когда посетители сами создают данные: заказы, кабинеты, комментарии, записи.
Большинству небольших сайтов компаний база не нужна. Убрав её, вы убираете самую частую причину взломов и ежемесячную работу по обновлению плагинов.
Если части сайта всё же нужны живые данные, HERON подключает базу отдельным модулем, а не ставит её под каждую страницу. Сайт и база общаются по закрытому ключу, страница только читает данные или отправляет запросы, а в собранном контейнере нет ничего, во что можно внедрить код. Как работает модуль базы данных
Как сделать статический сайт
- 1
Создайте структуру
Генератор статических сайтов, например HERON, сам делает папку:site.yamlдля настроек,content/для страниц,media/для фото,theme/для внешнего вида. - 2
Пишите страницы текстовыми файлами
Каждая страница — файл в Markdown: короткий блок настроек сверху (заголовок для поиска, заголовок страницы, описание), дальше заголовки, списки и текст. Новая страница — копия существующего файла под новым именем. - 3
Соберите
Генератор превращает папку в готовые HTML-страницы, картинки всех размеров, карту сайта, теги для поиска и llms.txt для нейросетей. - 4
Проверьте у себя
Откройте сайт на своём компьютере наlocalhost:8000и посмотрите каждую страницу, прежде чем она станет публичной. Строгая сборка HERON остановится на пустом описании или битой ссылке. - 5
Опубликуйте результат
Когда всё готово, опубликуйте готовый сайт: файлами на любом хостинге или образом на сервере. С git сборку и публикацию может запускать сам push. - 6
- 7
- 8
- 9
Вопросы
Хорош ли статический сайт для SEO?
Да. Поисковики легко читают готовый HTML, а скорость учитывается в ранжировании. Важно, чтобы теги были правильными: заголовки, описания, карта сайта, канонические адреса. HERON пишет их при каждой сборке.
Статический сайт правда безопаснее?
Нет базы, которую можно украсть, и нет входа в админку, который можно подобрать, поэтому самым частым атакам не во что целиться. Сам веб-сервер, как на любом сайте, нужно обновлять.
Можно ли обновлять статический сайт без программиста?
Да. Поменяйте текст в файле и опубликуйте снова. С публикацией через git вся работа — сохранить и сделать push.
Сколько стоит статический сайт?
Хостинг может быть бесплатным: GitHub Pages принимает сайт до 1 ГБ из открытого репозитория, Cloudflare Pages — до 20 000 файлов. Платите только за домен — обычно около 10–15 долларов в год. Свой небольшой сервер стоит от 5–6 евро в месяц. Варианты хостинга
HTML, написанный руками, — тоже статический сайт?
Да. Генератор статических сайтов просто избавляет от копирования меню и подвала в каждую страницу и от ручного написания тегов для поиска.