// Engineering Log

Продолжение истории: как заброшенный портал ожил снова, но уже без редакции

Опубликовано 13.07.2026

// Быстрый маршрут

Эта статья относится к теме Серверы и инфраструктура.

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

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

Публикация без движка решилась почти сама собой

С Hugo первая проблема оказалась даже проще, чем я думал. После публикации каждой новой статьи проект просто пересобирается заново — это буквально команда сборки, которая перегенерирует статику из markdown-файлов. По затратам это ничтожная операция, в разы дешевле, чем банально отрисовать пару страниц на старой версии с Drupal и MySQL под капотом. То есть сайт полностью статический, но при этом не застывший — публикация нового материала занимает секунды, а не требует поднятия базы и вызова тяжёлых php-хуков.

А вот с контентом решили интереснее

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

Пайплайн получился рабочим буквально за полдня. Начинается всё с парсера, который ходит по агрегатору новостей и по ключевым словам ищет материалы, потенциально относящиеся к региону. Найденный текст дальше проходит цепочку обработки, которая по сути повторяет путь материала в обычной редакции: сначала из текста выделяются факты и цитаты — отдельно, в структурированном виде, а не как сплошное полотно. Дальше этот набор фактов в формате json проверяется на соответствие редакционной политике: не любая тема нам интересна, и важно, чтобы материал был реально привязан к региону, а не оказался дайджестом всея Руси, где город упомянут вскользь в одном предложении. Если проверка пройдена, факты и цитаты уходят в LLM уже на этап написания — модель собирает из них связный нейтральный текст, без своей отсебятины сверх исходных фактов. После этого готовая статья сверяется с оригиналом источника на предмет фактической точности: не перепутаны ли цифры, имена, события. И только на финальном шаге добавляются мелкие украшательства — например, автоматический поиск упоминаний людей в тексте и простановка ссылок на их поиск по архиву сайта, что для новостного портала с пятнадцатилетней историей превращается в довольно приятный бонус.

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

Итог — оживший архив на автопилоте

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

А по деньгам это выглядит почти неприлично дёшево: если не считать потраченное на разработку время, публикация одной новости обходится примерно в 0,2 цента. Для сравнения — раньше содержание этого же объёма контента требовало живых людей, зарплат и редакционного процесса, который просто перестал быть экономически оправданным. LLM в данном случае не заменила журналистику как профессию — она сделала экономически возможным то, что без неё было бы попросту закрыто и забыто.

// Похожая задача

Если у вас похожая ситуация

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

Тема статьи

Серверы и инфраструктура

VPS, Linux, веб-стек, миграции, хостинг, базы данных и базовая эксплуатация.

Часто с этим приходят

  • Перенести сайт или сервис на новый сервер
  • Настроить Linux, Nginx, базу данных и бэкапы
  • Разобраться, почему всё работает нестабильно

// Следующий шаг

Если вам нужна не только статья, а помощь по этой теме, удобнее сразу перейти в услугу. Главная и подборка материалов остаются рядом.

Открыть услуги

// Contact

Нужна помощь?

Свяжись со мной и я помогу решить проблему

Написать в Telegram

Отвечаю в течение рабочего дня (03:00–13:00 GMT)

Или оставьте заявку здесь:

Написать и получить быстрый ответ