3 בדיקות פוסט-פריסה (Post-Deploy) שאני מריץ אחרי כל build ב-Cloudflare Pages

ביליתי שבועיים בפתרון באגים של בעיות שהופיעו רק בסביבת הפרודקשן.

כלל sitemap אחד חסם את ה-sitemap index שלי. בעיה אחרת הייתה קשורה לעיכובים בהעלאת תמונות.

אני לא משתמש בערכת בדיקות end-to-end מלאה. במקום זאת, אני משתמש בשלוש בדיקות ספציפיות כדי לתפוס את השגיאות שאני באמת נתקל בהן.

אני מריץ אותן על שלושה אתרים שנבנו עם Astro 5 SSG ב-Cloudflare Pages.

  1. אימות sitemap

אני בודק אם sitemap-index.xml מחזיר קוד סטטוס 200 בכל הדומיינים.

אני בודק גם את sitemap-0.xml. אני מוודא שהוא מכיל מספר מינימלי של URLs. עבור אתר אחד, המספר הזה הוא 1,000. אם הספירה יורדת, זה אומר שצינור הנתונים (data pipeline) שלי נכשל.

למדתי את זה בדרך הקשה. כלל הפניה (redirect rule) שבר פעם אחת את ה-sitemap שלי למשך חמישה ימים. הוא נראה תקין בדפדפן, אבל נכשל עבור ה-crawlers. שימוש ב-curl עזר לי למצוא את השגיאה הזו מיד.

  1. שליחה ל-IndexNow

לאחר שבודקות ה-sitemap עוברות בהצלחה, אני מריץ סקריפט ששולח URLs ל-IndexNow. זה שולח את ה-URLs שלי ל-Bing, Yandex, Naver ו-Seznam.

אם IndexNow מחזיר שגיאת 403, קובץ אימות המפתח (key verification file) שלי חסר או שכלל הפניה שבור. תפיסת השגיאה הזו מיד לאחר הפריסה מונעת עיכובים באינדוקס.

אני מריץ את זה ידנית אחרי פריסה (deploy) במקום בתוך GitHub Actions. זה מבטיח שאני שולח URLs שהם בשידור חי (live) ויציבים.

  1. ביקורות Lighthouse שבועיות

אני מריץ בדיקת Lighthouse בכל יום שני בשעה 04:30 UTC.

אני מנטר ביצועים (performance), שינויי פריסה (layout shifts) וציוני נגישות (accessibility). מכיוון שהאתרים הללו משתמשים ב-Astro SSG ללא JS בצד הלקוח, הציונים אמורים להישאר יציבים. ירידה בציונים אומרת לי ששינוי ב-CSS או ברכיב (component) שבר את הפריסה.

אני לא משתמש בציונים האלה כדי לחסום פריסות. אני משתמש בהם כדי לנטר מגמות.

למה דווקא השלושה האלה?

אני לא משתמש בניטור uptime או בבדיקות API. האתרים שלי סטטיים. Cloudflare מטפלת בתשתית. ה-database נשלף (queried) רק בזמן ה-build.

עבור פריסות CDN סטטיות, שלוש הבדיקות האלה מכסות את הסיכונים האמיתיים שלי.

מקור: https://dev.to/morinaga/three-post-deploy-checks-i-run-after-every-cloudflare-pages-build-2862