𝟯 𝗣𝗼𝘀𝘁-𝗗𝗲𝗽𝗹𝗼𝘆 𝗖𝗵𝗲𝗰𝗸𝘀 𝗜 𝗥𝘂𝗻 𝗔𝗳𝘁𝗲𝗿 𝗘𝘃𝗲𝗿𝘆 𝗖𝗹𝗼𝘂𝗱𝗳𝗹𝗮𝗿𝗲 𝗣𝗮𝗴𝗲𝘀 𝗕𝘂𝗶𝗹𝗱
Я потратил две недели на исправление багов, которые проявлялись только в продакшене.
Одно правило в _redirects заблокировало мою карту сайта (sitemap). Состояние гонки (race condition) между загрузкой изображений и деплоем в Cloudflare вызвало другую проблему.
Теперь после каждого деплоя я запускаю три специфические проверки. Это не полноценные тесты. Они решают именно те проблемы, с которыми я сталкиваюсь на своих сайтах Astro 5 SSG.
Проверка 1: Доступность sitemap
Я проверяю, что sitemap-index.xml возвращает статус 200 на всех доменах.
Я также проверяю sitemap-0.xml. Этот файл содержит фактические URL-адреса. Я слежу за тем, чтобы количество URL оставалось выше определенного числа. Для одного из сайтов, если количество падает ниже 1 000, я понимаю, что мой конвейер данных (data pipeline) дал сбой.
Для этого я использую curl. Я не перехожу по редиректам. Это помогает мне отлавливать сломанные правила редиректа, которые выглядят нормально в браузере, но блокируют поисковых роботов.
Проверка 2: Отправка в IndexNow
После проверки sitemap я запускаю скрипт для отправки URL в IndexNow. Это уведомляет Bing, Yandex, Naver и Seznam о новом контенте.
Если IndexNow возвращает ошибку 403, это означает, что файл верификации ключа не был задеплоен. Быстрое обнаружение этой ошибки предотвращает задержки в индексации поисковыми системами.
Я запускаю это вручную после деплоя. Я делаю это для того, чтобы отправлять только те URL, которые уже работают и стабильны.
Проверка 3: Тренды Lighthouse
Я запускаю проверку Lighthouse по расписанию, а не после каждого деплоя.
Я отслеживаю три метрики:
- Performance (ищу показатели ниже 80)
- CLS (ищу показатели выше 0.1)
- Accessibility (показатели доступности)
Поскольку мои сайты используют статический HTML и CSS, эти показатели должны оставаться стабильными. Если они падают, скорее всего, изменение в конфигурации Tailwind или в компоненте нарушило верстку.
Я не использую эти показатели для блокировки деплоев. Я использую их для мониторинга трендов.
Почему именно эти три?
Я не использую мониторы аптайма (uptime monitors) или сквозные пользовательские тесты (end-to-end tests). Мои сайты — это статические деплои на CDN. Запросы к базе данных выполняются только во время сборки.
Эти три проверки покрывают единственные реальные риски, с которыми я сталкиваюсь при такой конфигурации.
Источник: https://dev.to/morinaga/three-post-deploy-checks-i-run-after-every-cloudflare-pages-build-70b