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