۳ بررسی پس از استقرار (Post-Deploy) که من بعد از هر Build در Cloudflare Pages انجام می‌دهم

من دو هفته را صرف عیب‌یابی (debugging) خطاهای محیط عملیاتی (production) کردم.

یک خطا مربوط به قانون sitemap بود که باعث مسدود شدن sitemap index من می‌شد. خطای دیگر، یک race condition در آپلود تصاویر بود. این مشکلات فقط پس از استقرار (deployment) ظاهر شدند.

اکنون بعد از هر build در Cloudflare Pages، سه بررسی مشخص را انجام می‌دهم. من از یک مجموعه تست کامل (full test suite) استفاده نمی‌کنم؛ بلکه از این بررسی‌های سریع برای شناسایی شکست‌های واقعی استفاده می‌کنم.

من این بررسی‌ها را روی سه سایت که از Astro 5 SSG استفاده می‌کنند اجرا می‌کنم: aiappdex.com، findindiegame.com و ossfind.com.

۱. تأیید Sitemap

من بررسی می‌کنم که آیا sitemap-index.xml در تمام دامنه‌ها کد وضعیت (status code) ۲۰۰ را برمی‌گرداند یا خیر. برای تأیید این موضوع از curl استفاده می‌کنم و دنبال ریدایرکت‌ها (redirects) نمی‌روم.

این کار باعث شد اشتباهی که قبلاً مرتکب شده بودم را پیدا کنم. من قانونی داشتم که sitemap index را به یک sub-sitemap ریدایرکت می‌کرد. در مرورگر همه چیز درست به نظر می‌رسید، اما این کار باعث مسدود شدن خزنده‌های جستجو (search crawlers) می‌شد.

همچنین sitemap-0.xml را بررسی می‌کنم. اطمینان حاصل می‌کنم که تعداد URLها به حداقل حد نصاب (threshold) برسد. اگر تعداد کاهش یابد، احتمالاً خط لوله داده (data pipeline) من با شکست مواجه شده است.

۲. ارسال به IndexNow

پس از بررسی sitemap، یک اسکریپت node اجرا می‌کنم. این اسکریپت sitemap زنده را می‌خواند و URLها را به endpoint مربوط به IndexNow ارسال می‌کند. این کار به Bing، Yandex، Naver و Seznam اطلاع می‌دهد.

اگر IndexNow خطای ۴۰۳ برگرداند، یعنی فایل تأیید کلید (key verification file) من وجود ندارد یا یک ریدایرکت باعث از کار افتادن مسیر شده است. شناسایی سریع این مورد از تأخیر در ایندکس شدن جلوگیری می‌کند.

من این کار را به صورت دستی پس از موفقیت‌آمیز بودن استقرار انجام می‌دهم. این کار تضمین می‌کند URLهایی را ارسال می‌کنم که واقعاً روی CDN فعال هستند.

۳. نظارت بر روند Lighthouse

من این کار را هر دوشنبه از طریق یک cron job اجرا می‌کنم. این فرآیند برای اجرا بعد از هر استقرار، بسیار کند است.

من عملکرد (performance)، تغییرات چیدمان (layout shifts) و قابلیت دسترسی (accessibility) را بررسی می‌کنم. من به دنبال پس‌رفت‌ها (regressions) در سایت‌های Astro SSG خود هستم. اگر امتیازها کاهش یابند، تنظیمات Tailwind یا تغییرات کامپوننت‌ها را بررسی می‌کنم.

من از این امتیازها برای متوقف کردن buildها استفاده نمی‌کنم، بلکه از آن‌ها برای ردیابی روندها (trends) استفاده می‌کنم.

این سه بررسی، نقاط شکست واقعی من را پوشش می‌دهند. من از نظارت بر زمان بالا بودن (uptime monitoring) یا تست‌های end-to-end استفاده نمی‌کنم. برای سایت‌های استاتیک روی یک CDN، این بررسی‌های مشخص بیشترین ارزش را دارند.

Source: https://dev.to/morinaga/three-post-deploy-checks-i-run-after-every-cloudflare-pages-build-2eg1