홈 페이지 SEO title이 CMS에서 제대로 로드되도록 수정
목차
홈 페이지의 <title> 태그가 DB의 CMS 메타데이터(cms_site.meta.seo.title)에서 가져오도록 배선했다. 동적 콘텐츠를 다루는 시스템에서 메타데이터까지 하드코딩해두면 운영 변경이 어렵고, SEO 효과도 감소하니까 이런 수정이 자주 필요하다.
문제 상황
홈 페이지 레이아웃 파일(src/layouts/Base.astro)에서 페이지 title을 렌더링할 때, CMS 시스템에 저장된 데이터를 쓰지 않고 있었다. 즉, 검색 엔진에 노출되는 title이 정적이거나 기본값으로 고정되어 있었고, CMS에서 SEO title을 수정해도 웹사이트에 반영되지 않는 상황이었다. 이건 운영 관점에서 꽤 답답한 상황이다. 마케팅팀이나 컨텐츠 담당자가 SEO 최적화를 위해 title을 바꾸려고 해도 개발팀이 코드를 수정해야 하고, 그 과정에서 배포 사이클까지 기다려야 한다.
SEO title은 단순 꾸미개가 아니다. 검색 결과 페이지에서 사용자가 처음 보는 텍스트고, 클릭율과 검색 순위에 직접 영향을 미친다. 홈 페이지의 title은 특히 중요한데, 이걸 하드코딩하거나 잘못된 소스에서 가져가면 SEO 성과 측정 자체가 불가능해진다.
Base.astro에서 CMS 데이터 바인딩
Astro 레이아웃 파일은 여러 페이지가 공유하는 기본 마크업을 정의한다. Base.astro에서 <head> 영역의 <title>과 Open Graph 메타 태그들을 관리하는데, 이 부분에서 cms_site.meta.seo.title을 읽어서 바인딩하도록 수정했다.
변경의 핵심은 간단하다:
| 변경 전 | 변경 후 |
|---|---|
| title이 하드코딩되거나 기본값 의존 | cms_site.meta.seo.title에서 동적으로 로드 |
| CMS 수정 → 코드 변경 필요 → 배포 대기 | CMS 수정 → 즉시 반영 |
| 홈 SEO 최적화 속도 저하 | 운영 자율성 증대 |
이 수정을 하면서 발견한 건, 유사한 메타 태그들(og:title, twitter:card 등)도 같은 방식으로 정렬이 필요할 가능성이 높다는 것이었다. 한 번에 홈 title만 고치고 넘어가기보다, 비슷한 패턴이 시스템 전역에 있는지 파악하고 점진적으로 개선하는 게 좋다.
동적 메타데이터 관리의 균형점
팀 내에서 이런 fix들을 처리할 때 자주 고민하는 게 "어디까지를 CMS에서 관리할 것인가"이다. 모든 메타데이터를 DB로 옮기면 유연하지만, 코드와의 싱크 비용이 생긴다. 반대로 코드에 박으면 개발은 빠르지만, 운영자가 손을 못 댄다.
우리 팀의 경험상, 자주 바뀌는 텍스트(title, description, 이미지)는 CMS에, 구조적인 설정(라우팅, 권한, 렌더링 로직)은 코드에 두는 게 균형이 맞다. 홈 페이지는 "방문자가 가장 먼저 보는 곳"이면서 "SEO 성과가 가장 큰 곳"이니까 여기서부터 CMS 연동을 시작하는 게 ROI가 높다.
이 변경이 작아 보이지만, 실제론 "운영 자율성"과 "개발 배포 주기 단축"이라는 두 가지 효과를 동시에 주는 수정이다. 코드 변경 한두 줄이 조직 전체의 생산성을 조금씩 높인다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.