개발·스테이징 랜딩의 KR SEO 검증
메디컬 소개 페이지의 한국 전용 접근을 유지하면서, 해외 검사 요청의 차단 때문에 개발·스테이징 배포가 실패하는 문제를 수정합니다.
사이트 응답을 전달하는 CDN인 CloudFront는 개발·스테이징에서 한국만 허용합니다. 배포 자동화를 실행하는 GitHub Actions 러너는 미국에서 실행되므로 실제 사이트를 요청하는 Verify Deployed SEO 단계의 검사 8개가 모두 실패했습니다. 같은 검사를 한국에서 실행하면 8개 모두 통과했습니다. 오류 응답을 홈페이지와 HTTP 200으로 대체하는 CDN 설정 때문에 사이트맵도 HTML로 돌아올 수 있습니다.
변경 전
변경 후
개발·스테이징에서는 해외 러너의 배포 후 HTTP 검사 단계를 제거하고, 작업 요약에 미실행 사실과 한국에서 실행할 명령을 표시합니다. 배포 전에 빌드 파일을 검사하는 Verify SEO Output 단계는 유지합니다. 파일 동기화, 약관의 실제 URL에 대응하는 객체 게시, 캐시 무효화 순서도 유지합니다. 배포 성공만으로 실제 HTTP 검사를 통과했다고 판단하지 않습니다.
한국에서는 LANDING_VERIFY_URL에 개발 또는 스테이징 주소를 지정하고 LANDING_SEO_INDEXABLE=false pnpm --filter @hereby/landing test:seo:deployed를 실행합니다. 오류 응답을 실패시키는 검사 코드는 유지하며 별도 한국 Actions 러너는 요구하지 않습니다. 국가 제한 해제나 검사 횟수 증가로 처리하지 않습니다. 운영 환경의 배포 후 HTTP 검사는 기존대로 실행합니다.
검증
- 두 workflow의 YAML과 shell 문법을 확인하고 요약 단계를 실제 실행하여 환경별 한국 검사 명령이 출력되는 것을 확인했습니다.
- 개발·스테이징의 빌드 SEO 검사가 유지되고 운영 workflow가 기준 브랜치와 동일한 것을 확인했습니다.
- 로컬 SEO·경로 회귀 검사 9개와 한국에서 개발·스테이징 HTTP 검사 각각 8개, 총 16개가 통과했습니다.
- 전체 린트·빌드, 랜딩 타입 검사와 PR 전 preflight가 통과했습니다. preflight는 4개 통과, 지적 0개, 비해당 30개로 종료했습니다. 수정 workflow의 GitHub 실행은 병합 후 확인 대상입니다.
열람 절차와 유지보수 범위는 제품 개발 기록에 기록했습니다.