Cloudflare Pages 빌드 후 매번 실행하는 3가지 배포 후 점검 사항
저는 프로덕션 이슈를 디버깅하는 데 2주를 보냈습니다.
한 가지 오류는 사이트맵 인덱스를 차단하는 사이트맵 규칙이었고, 또 다른 하나는 이미지 업로드 지연이었습니다. 이러한 문제들은 배포 후에만 나타났습니다.
저는 전체 엔드 투 엔드(end-to-end) 테스트 스위트를 사용하지 않습니다. 대신, 흔히 발생하는 실패를 잡아내기 위해 세 가지 특정 점검을 수행합니다. 저는 Astro 5로 구축된 세 개의 사이트에서 이 점검들을 실행합니다.
- Sitemap Verification
모든 도메인에서 sitemap-index.xml이 200 상태 코드를 반환하는지 확인합니다. 이를 검증하기 위해 curl을 사용합니다.
또한 하위 사이트맵인 sitemap-0.xml도 확인합니다. 최소한의 URL 개수가 유지되고 있는지 확인하며, 만약 개수가 줄어든다면 데이터 파이프라인에 문제가 생겼을 가능성이 높습니다.
저는 이를 뼈아픈 경험을 통해 배웠습니다. 한 번은 리다이렉트 규칙 때문에 사이트맵이 5일 동안 작동하지 않은 적이 있었습니다. 브라우저에서는 잘 작동했지만, 웹 크롤러에게는 실패했습니다.
- IndexNow Submission
사이트맵 점검 후에는 node 스크립트를 실행합니다. 이 스크립트는 URL을 수집하여 Bing, Yandex, Naver, Seznam의 IndexNow 엔드포인트로 전송합니다.
배포 후 이 작업을 수동으로 실행합니다. 이를 통해 실제 라이브 상태인 URL을 제출할 수 있습니다.
만약 IndexNow가 403 에러를 반환한다면, 키 검증 파일이 누락되었거나 리다이렉트 규칙이 깨진 것입니다. 이를 조기에 발견하면 검색 엔진 인덱싱 지연을 방지할 수 있습니다.
- Lighthouse Trend Monitoring
이 점검은 매주 월요일마다 정기적으로 실행합니다. lighthouse-ci를 사용하여 성능, 레이아웃 안정성, 접근성을 확인합니다.
각각 하나의 홈 페이지와 하나의 딥 페이지(deep page)를 가진 세 개의 사이트를 모니터링합니다.
이 점수들을 배포를 차단하는 용도로 사용하지는 않습니다. 대신 트렌드를 추적하는 데 사용합니다. 점수가 떨어지면 최근의 CSS나 컴포넌트 변경이 레이아웃 시프트(layout shift)를 유발했음을 알 수 있습니다.
이러한 점검 사항들은 제가 실제로 겪는 실패 지점들을 다룹니다. 제 사이트들은 정적(static)이기 때문에 업타임 모니터링이나 API 점검은 필요하지 않습니다. 저는 정적 CDN 배포에서 문제가 생길 수 있는 부분에만 집중합니다.
Source: https://dev.to/morinaga/three-post-deploy-checks-i-run-after-every-cloudflare-pages-build-4704