피드로 돌아가기
Dev.toFrontend
원문 읽기
Duplicate og:type 제거를 통한 SEO 정밀도 복구 및 Build-time 검증 체계 구축
The og:type Bug Three of My Astro Sites Quietly Shipped
AI 요약
Context
BaseLayout과 BlogLayout의 중복 Meta Tag 선언으로 인해 Open Graph 파서가 첫 번째 값인 'website'만 인식하는 SEO 버그 발생. 레이어드 레이아웃 구조에서 각 레이어가 독립적으로 태그를 생성함에 따라 발생하는 데이터 불일치 문제임.
Technical Solution
- Meta Tag 소유권 단일화: BaseLayout이 og:type의 전역 소유권을 가지도록 설계 변경
- Prop 기반 동적 제어: BaseLayout에 Typed Prop을 도입하여 페이지 성격에 맞는 값(website, article 등)을 주입받는 구조로 전환
- 중복 생성 경로 차단: 하위 레이아웃의 Head Slot을 통한 직접적인 og:type 선언 방식 제거
- Automated Build Check: dist 폴더 내 HTML 파일을 전수 조사하여 og:type 개수가 정확히 1개인지 검증하는 Node.js 스크립트 도입
- CI/CD 파이프라인 통합: build 단계 후 검증 스크립트를 실행하여 중복 태그 발견 시 프로세스를 강제 종료하는 Fail-fast 전략 적용
실천 포인트
- 레이어드 레이아웃 설계 시 각 메타 데이터의 '단일 소유권(Single Ownership)' 원칙 정의 - SSG 빌드 결과물에 대해 정규표현식 기반의 HTML 구조 검증 스크립트 작성 및 배포 파이프라인 추가 - 템플릿 기반의 다수 사이트 운영 시, 개별 사이트가 아닌 공통 템플릿 레벨의 자동화 테스트 확보