𝟯 Bước Kiểm Tra Sau Triển Khai Tôi Thực Hiện Sau Mỗi Lần Build Cloudflare Pages
Tôi đã mất hai tuần để gỡ lỗi những vấn đề chỉ xuất hiện trên môi trường production.
Một quy tắc sitemap đã chặn sitemap index của tôi. Một vấn đề khác liên quan đến việc chậm trễ khi tải lên hình ảnh.
Tôi không sử dụng một bộ kiểm thử end-to-end đầy đủ. Thay vào đó, tôi sử dụng ba bước kiểm tra cụ thể để bắt được những lỗi mà tôi thực sự gặp phải.
Tôi thực hiện các bước này trên ba trang web được xây dựng bằng Astro 5 SSG trên Cloudflare Pages.
- Xác minh Sitemap
Tôi kiểm tra xem sitemap-index.xml có trả về mã trạng thái 200 trên tất cả các tên miền hay không.
Tôi cũng kiểm tra sitemap-0.xml. Tôi đảm bảo rằng nó chứa một số lượng URL tối thiểu. Đối với một trang web, con số đó là 1.000. Nếu số lượng này giảm xuống, nghĩa là đường ống dữ liệu (data pipeline) của tôi đã gặp lỗi.
Tôi đã học được điều này qua một bài học xương máu. Một quy tắc chuyển hướng (redirect rule) đã từng làm hỏng sitemap của tôi trong suốt năm ngày. Nó trông vẫn bình thường trên trình duyệt nhưng lại thất bại đối với các trình thu thập dữ liệu (crawlers). Việc sử dụng curl đã giúp tôi tìm ra lỗi này ngay lập tức.
- Gửi dữ liệu qua IndexNow
Sau khi các bước kiểm tra sitemap hoàn tất, tôi chạy một script để gửi các URL tới IndexNow. Việc này sẽ gửi các URL của tôi đến Bing, Yandex, Naver và Seznam.
Nếu IndexNow trả về lỗi 403, có nghĩa là tệp xác minh khóa (key verification file) của tôi bị thiếu hoặc một quy tắc chuyển hướng đã bị hỏng. Việc phát hiện lỗi này ngay sau khi triển khai sẽ giúp ngăn chặn sự chậm trễ trong việc lập chỉ mục (indexing).
Tôi thực hiện việc này một cách thủ công sau khi triển khai thay vì chạy bên trong GitHub Actions. Điều này đảm bảo rằng tôi chỉ gửi các URL đã hoạt động và ổn định.
- Kiểm tra Lighthouse hàng tuần
Tôi thực hiện kiểm tra Lighthouse vào mỗi thứ Hai lúc 04:30 UTC.
Tôi theo dõi các điểm số về hiệu suất (performance), thay đổi bố cục (layout shifts) và khả năng truy cập (accessibility). Vì các trang web này sử dụng Astro SSG và không có client-side JS, các điểm số này sẽ duy trì ổn định. Nếu điểm số giảm, điều đó cho tôi biết một thay đổi về CSS hoặc component đã làm hỏng bố cục.
Tôi không dùng các điểm số này để chặn việc triển khai. Tôi dùng chúng để theo dõi các xu hướng.
Tại sao lại là ba bước này?
Tôi không sử dụng giám sát thời gian hoạt động (uptime monitoring) hay kiểm tra API. Các trang web của tôi là trang tĩnh. Cloudflare đảm nhận phần hạ tầng. Cơ sở dữ liệu chỉ được truy vấn tại thời điểm build.
Đối với các triển khai CDN tĩnh, ba bước kiểm tra này đã bao quát được các rủi ro thực tế của tôi.
Nguồn: https://dev.to/morinaga/three-post-deploy-checks-i-run-after-every-cloudflare-pages-build-2862