𝟯 𝗣𝗼𝘀𝘁-𝗗𝗲𝗽𝗹𝗼𝘆 𝗖𝗵𝗲𝗰𝗸𝘀 𝗜 𝗥𝘂𝗻 𝗔𝗳𝘁𝗲𝗿 𝗘𝘃𝗲𝗿𝘆 𝗖𝗹𝗼𝘂𝗱𝗳𝗹𝗮𝗿𝗲 𝗣𝗮𝗴𝗲𝘀 𝗕𝘂𝗶𝗹𝗱

Я потратил две недели на исправление багов, которые проявлялись только в продакшене.

Одно правило в _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