۳ بررسی پس از استقرار برای Cloudflare Pages

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

من از مجموعه‌ تست‌های کامل end-to-end استفاده نمی‌کنم. در عوض، بعد از هر build در Cloudflare Pages، سه بررسی مشخص را انجام می‌دهم. این بررسی‌ها دقیقاً همان شکست‌هایی را هدف قرار می‌دهند که در سایت‌های Astro 5 SSG خود با آن‌ها مواجه می‌شوم.

گردش کار من به این صورت است:

۱. تأیید Sitemap

من بررسی می‌کنم که آیا sitemap-index.xml در تمام دامنه‌هایم کد وضعیت ۲۰۰ را برمی‌گرداند یا خیر. همچنین sitemap-0.xml را بررسی می‌کنم تا مطمئن شوم حداقل تعداد مشخصی URL را شامل می‌شود.

در یکی از سایت‌هایم، اگر تعداد زیر ۱,۰۰۰ عدد بیاید، می‌فهمم که خط لوله داده (data pipeline) من با شکست مواجه شده است. من از curl بدون دنبال کردنِ redirect استفاده می‌کنم تا اشتباهات در قوانین _redirects خود را پیدا کنم. یک قانون اشتباه ممکن است در مرورگر درست به نظر برسد، اما خزنده (crawler) موتورهای جستجو را مسدود کند.

۲. ارسال به IndexNow

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

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

۳. پایش روند Lighthouse

من هر دوشنبه یک بررسی برنامه‌ریزی‌شده با Lighthouse انجام می‌دهم. صفحه اصلی و یک صفحه داخلی (deep page) را برای هر سایت بررسی می‌کنم.

من به دنبال سه مورد هستم:

  • امتیازهای Performance زیر ۸۰
  • Cumulative Layout Shift بالای ۰.۱
  • افت در قابلیت دسترسی (Accessibility regressions)

من از این امتیازها برای متوقف کردن استقرار استفاده نمی‌کنم؛ بلکه از آن‌ها برای پایش روندها استفاده می‌کنم. اگر امتیازها کاهش یابند، تنظیمات Tailwind یا کامپوننت‌های layout خود را بررسی می‌کنم.

چرا این سه مورد؟

من uptime را پایش نمی‌کنم چون به Cloudflare اعتماد دارم. در دسترس بودن API را هم تست نمی‌کنم چون سایت‌های من استاتیک هستند. این سه بررسی، دقیقاً روش‌هایی را پوشش می‌دهند که در تنظیمات خاص من باعث بروز خطا می‌شوند.

منبع: https://dev.to/morinaga/three-post-deploy-checks-i-run-after-every-cloudflare-pages-build-35je