Почему мой сайт — статический

Сайт, который вы сейчас читаете — это папка с обычными Markdown-файлами. Программа превращает их в HTML. GitHub раздаёт этот HTML. Всё. Ни базы данных, ни PHP, ни React-приложения, ни бэкенда, ни аналитического SDK, ни баннера про cookies. Я раз за разом выбираю эту схему вместо современных альтернатив — Substack, Medium, WordPress, сайтов на Notion, — и меня иногда спрашивают почему. Вот ответ.

Он открывается мгновенно Ссылка на заголовок

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

Большинство современных блогов под капотом делают примерно то же самое (читают базу, рендерят шаблон, возвращают HTML), но делают это на каждый запрос, обычно через несколько слоёв кэширования, которые кто-то должен поддерживать. У статического сайта рендеринг происходит один раз — на моём ноутбуке, в момент публикации. Дальше каждый читатель получает уже готовый результат.

Я пишу в Markdown, и текст переживает платформу Ссылка на заголовок

Каждую статью я пишу как .md-файл в обычном текстовом редакторе. Никакого WYSIWYG-инструментария, никакого меню форматирования, никаких ИИ-подсказок переписать. Только текст и горстка символов: # для заголовка, * для выделения, [текст](url) для ссылки. В этом ограничении и смысл: когда страница не может показать всплывающие окна, боковые блоки и плашки «вам также понравится», ценность приходится класть в слова.

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

Это интернет старых времён, без шума Ссылка на заголовок

Я застал интернет, когда сайты были маленькими, сделанными вручную и тихими. Ты заходил на чью-то страницу, читал, что человек написал, может быть, переходил по ссылке на другую маленькую страницу — и уходил. Никакого бесконечного скролла. Никакого «вовлечения». Никакого аукциона объявлений, решающего, какую рекламу вставить в зазор между двумя абзацами. Никакой аудитории, выведенной из вашего телефона.

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

Я владею всем стеком Ссылка на заголовок

Сайт — это Git-репозиторий. История каждого изменения каждого поста в нём. Резервная копия — это git clone. Переезд — это копирование папки. Если завтра GitHub перестанет его хостить, исходники останутся на ноутбуке, и к обеду я подниму сайт где-то ещё. Нет вендора, от которого я завишу. Нет условий обслуживания, которые надо вычитывать заново. Нет страха получить письмо «ваш аккаунт заблокирован».

Это владение значит больше, чем кажется. Когда среда твоя, можно не торопиться. Можно писать что-то узкое. Можно оставить пост на годы — он не сползёт куда-то вниз ленты. Можно вернуться и отредактировать. Работа накапливается; ничто не арендовано.


Этот сайт работает на Hugo для сборки, GitHub Pages для хостинга. Про практическую настройку — отдельный пост; этот про «почему», а не про «как».