𝟯 การตรวจสอบหลัง Deploy ที่ผมทำทุกครั้งหลัง Cloudflare Pages Build เสร็จสิ้น

ผมใช้เวลาสองสัปดาห์ในการไล่แก้บั๊ก (debugging) ข้อผิดพลาดบน production

ข้อผิดพลาดหนึ่งคือกฎของ sitemap ที่ไปบล็อก sitemap index ของผม อีกข้อหนึ่งคือปัญหา race condition ในการอัปโหลดรูปภาพ ซึ่งปัญหาเหล่านี้จะปรากฏขึ้นหลังจากทำการ deploy แล้วเท่านั้น

ตอนนี้ผมจะทำการตรวจสอบเฉพาะเจาะจง 3 อย่างหลังจาก Cloudflare Pages build เสร็จสิ้นทุกครั้ง ผมไม่ได้ใช้ชุดการทดสอบแบบเต็มรูปแบบ (full test suite) แต่ผมใช้การตรวจสอบที่รวดเร็วเหล่านี้เพื่อตรวจจับความล้มเหลวที่เกิดขึ้นจริง

ผมใช้การตรวจสอบเหล่านี้กับเว็บไซต์ 3 แห่งที่ใช้ Astro 5 SSG ได้แก่ aiappdex.com, findindiegame.com และ ossfind.com

𝟭. การตรวจสอบ Sitemap (Sitemap Verification)

ผมตรวจสอบว่า sitemap-index.xml ส่งคืน status code 200 ในทุกโดเมนหรือไม่ โดยผมใช้ curl ในการตรวจสอบ และผมจะไม่ทำตามการ redirect

วิธีนี้ช่วยให้ผมตรวจพบความผิดพลาดที่เคยทำไว้ก่อนหน้านี้ ผมเคยตั้งกฎที่ redirect sitemap index ไปยัง sub-sitemap ซึ่งดูเหมือนจะปกติเมื่อเปิดผ่านเบราว์เซอร์ แต่กลับไปบล็อกพวก search crawlers

ผมยังตรวจสอบ sitemap-0.xml ด้วย โดยต้องมั่นใจว่าจำนวน URL เป็นไปตามเกณฑ์ขั้นต่ำที่กำหนดไว้ หากจำนวนลดลง แสดงว่า data pipeline ของผมอาจจะมีปัญหา

𝟮. การส่งข้อมูลผ่าน IndexNow (IndexNow Submission)

หลังจากตรวจสอบ sitemap แล้ว ผมจะรัน node script ซึ่งสคริปต์นี้จะอ่าน sitemap ที่ใช้งานจริงและส่ง URL ไปยัง endpoint ของ IndexNow เพื่อแจ้งไปยัง Bing, Yandex, Naver และ Seznam

หาก IndexNow ส่งคืน error 403 แสดงว่าไฟล์ key verification ของผมหายไป หรือมีการ redirect ที่ทำให้เส้นทาง (path) เสียไป การตรวจพบปัญหานี้ทันทีจะช่วยป้องกันความล่าช้าในการทำ indexing

ผมรันขั้นตอนนี้ด้วยตัวเองหลังจาก deploy สำเร็จ เพื่อให้มั่นใจว่าผมได้ส่ง URL ที่ใช้งานจริงบน CDN ไปแล้ว

𝟯. การติดตามแนวโน้มด้วย Lighthouse (Lighthouse Trend Monitoring)

ผมตั้งค่าให้รันผ่าน cron job ทุกวันจันทร์ เพราะมันใช้เวลานานเกินไปที่จะรันหลังการ deploy ทุกครั้ง

ผมตรวจสอบทั้ง performance, layout shifts และ accessibility เพื่อดูว่ามี regression เกิดขึ้นกับเว็บไซต์ Astro SSG ของผมหรือไม่ หากคะแนนลดลง ผมจะเข้าไปตรวจสอบการตั้งค่า Tailwind หรือการเปลี่ยนแปลงของ component ต่างๆ

ผมไม่ได้ใช้คะแนนเหล่านี้เพื่อบล็อกการ build แต่ใช้เพื่อติดตามแนวโน้ม (trends) แทน

การตรวจสอบทั้งสามอย่างนี้ครอบคลุมจุดที่มักจะเกิดความล้มเหลวของผม ผมไม่ได้ใช้ uptime monitoring หรือ end-to-end tests แต่สำหรับ static sites บน CDN การตรวจสอบเฉพาะเจาะจงเหล่านี้ให้คุณค่ามากที่สุด

ที่มา: https://dev.to/morinaga/three-post-deploy-checks-i-run-after-every-cloudflare-pages-build-2eg1