개발 slecs

홈 페이지 타이틀이 DB에서 안 나가던 SEO 버그 해결

목차

홈페이지 SEO 타이틀이 CMS에서 설정한 값 대신 다른 곳에서 나가고 있던 문제를 발견했다. 레이아웃 파일에서 DB의 메타 정보를 제대로 참조하도록 배선을 다시 정리한 작업이다.

SEO 타이틀이 검색 결과에 미치는 영향

겉으로 보면 타이틀 하나일 뿐이지만, 이건 단순한 HTML 메타 정보가 아니다. 구글·네이버 같은 검색 엔진이 페이지를 색인할 때 가장 먼저 읽는 부분이고, 사용자가 검색 결과에서 처음 눈에 보는 텍스트다. 마케팅팀이나 운영자가 CMS에서 신경 쓰며 설정해놓은 SEO 타이틀이 실제로는 다른 곳에서 렌더링되고 있다면, 아무리 좋은 콘텐츠를 만들어도 검색 유입이 제대로 발생하지 않거나 부정확한 제목으로 노출되는 상황이 생긴다. 결과적으로 CTR(클릭률) 손실로도 이어질 수 있다.

배선의 문제—왜 이런 버그가 발생했는가

이 문제가 발생한 이유를 생각해보면 몇 가지 패턴이 있다. 첫째, 시간이 지나면서 레이아웃 파일의 메타 정보 참조 경로가 변경되었을 수 있다. CMS 스키마가 진화하면서 cms_site.meta.seo.title 같은 정확한 경로가 도입되었는데, 레이아웃 파일은 여전히 옛 경로나 하드코딩된 값을 쓰고 있었을 가능성이다. 둘째, 팀이 성장하면서 누가 메타 정보를 담당하는지, 어디서 참조되어야 하는지 명확하지 않았을 수 있다. 프론트엔드는 데이터를 쓰고 있지만, 실제 메타 정보는 백엔드나 CMS에서 오는 구조인데, 그 "배선"을 정확히 누가 책임질지 모호했던 거다.

수정 내용—DB에서 제대로 가져오기

// Before: 하드코딩되거나 잘못된 경로에서 가져오기
<title>기본 타이틀</title>

// After: CMS에서 동적으로 가져오기
<title>{cms_site.meta.seo.title}</title>

레이아웃 파일(src/layouts/Base.astro)에서 cms_site.meta.seo.title 경로로 정확하게 지정하도록 수정했다. Astro 정적 생성 시점에 이 데이터를 올바르게 주입받고, 렌더링된 HTML의 <title> 태그에 반영되도록 배선한 것이다. 이렇게 하면 운영자가 CMS에서 수정한 SEO 타이틀이 즉시 홈페이지의 검색 엔진 노출도에 반영된다.

회고—명확한 데이터 책임선 그리기

이 작업을 하면서 느낀 점은, 정적 생성(SSG)이나 서버 렌더링 구조에서 메타 정보가 어디서 나와야 하는지 팀 전체가 명확히 이해해야 한다는 것이다. 특히 마케팅이나 운영팀이 관리하는 CMS 데이터를 프론트엔드에서 정확한 경로로 참조하지 않으면, 시간이 지날수록 "설정했는데 안 되네" 같은 불만이 생기고 신뢰가 깎인다.

앞으로는 유사한 메타 정보들(OG 이미지, 디스크립션, 언어 정보 등)도 같은 원칙으로 점검할 필요가 있겠다는 생각이 들었다. 레이아웃 파일처럼 모든 페이지에 영향을 주는 부분은 PR 리뷰 때도 "이 경로가 실제로 존재하는가", "CMS 스키마와 일치하는가" 같은 질문을 빠뜨리지 말아야겠다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.