Экспертиза · Обслуживание
Обслуживание — это знать, что форма сегодня отправляет, а не что сервер отвечает 200.
Мониторинг, который проверяет полный путь запроса до человека, обновления с воротами перед продакшеном и проверка приёмки, запускаемая после каждой публикации. Все три работают на этом сайте и могут быть открыты извне.
Уже построеноТри собственные реализации, все в репозитории этого сайта и все проверяемы сегодня: `src/app/api/health/contact/route.ts` (сонда доставки, сейчас отвечает 200 в live), `src/lib/lead-store.ts` (append-only журнал с ретенцией, применяемой при записи) и `scripts/verify-redesign.ts` (приемочная проверка, запущенная после публикации). Мы написали их потому, что 06.09.2026 собственная форма тихо упала: токен бота был отозван, endpoint возвращал 500, а запросы исчезали без следа. Это не история продаж — это коммит, который создал файлы выше.
«Сайт работает» — это утверждение о главной странице. Посетитель, который заполнил форму и получил ошибку, был остановлен не упавшей страницей, а каналом доставки, который тихо истёк. Разница между этими двумя вещами — это всё, что значит серьёзно сделанное обслуживание: мы следим не за тем, отвечает ли сервер, а за тем, доходит ли запрос от человека к человеку.
6 сентября 2026 именно это и произошло на этом сайте. Токен бота, который передавал запросы из формы команде, был отозван; интерфейс Telegram отвечал `401 Unauthorized`, наш маршрут возвращал 500, а посетитель видел «сообщение не удалось отправить». Запрос нигде не записывался. В журнале ошибок процесса было три реальных сбоя за примерно семь часов, прошедших с предыдущей публикации. Никто не смотрел.
Из этого вышли три части, которые мы теперь ставим в каждый проект, который обслуживаем. Append-only журнал, записываемый *до* попытки доставки, чтобы сломанный канал деградировал до «надо посмотреть в файл», а не до «запроса никогда не было». Зонд здоровья, который отвечает на один запрос, может ли лид сейчас дойти до человека. И проверка приёмки, которая запускается после каждой публикации и падает, если исчез канонический адрес, якорь вопросов или если в карте сайта появились адреса, которые нельзя открыть.
Остальное — скучная и проверяемая дисциплина: обновления с аудиторским шлюзом до касания production, автоматический перезапуск с порогом памяти и лимитом нестабильных перезапусков, ретенция, применяемая кодом, а не объявленная в политике, и IP-адреса, обрезанные до сетевого префикса, прежде чем быть записанными куда-либо.