개발 slecs

홈 페이지 SEO title이 CMS 설정값을 반영하도록 수정

목차

홈 페이지의 <title> 태그가 CMS에서 관리하는 설정값(cms_site.meta.seo.title)을 제대로 로드하지 않던 버그를 고쳤다. 처음엔 작은 수정처럼 보였지만, 이걸 통해 SEO 전략과 콘텐츠 관리 아키텍처를 다시 생각해보게 됐다.

왜 이게 중요한가

검색 엔진 최적화에서 홈 페이지 title은 정말 중요한 요소다. 구글이나 네이버 같은 검색 엔진은 title 태그를 보고 페이지의 핵심 주제를 파악한다. 사용자가 검색 결과에서 봤을 때도 title이 첫눈에 띄는 부분이고, 이게 클릭 의사에 영향을 미친다.

CMS 기반으로 운영하면, 마케팅팀이나 운영진이 코드 배포 없이 title을 수정할 수 있어야 한다. 만약 title이 하드코딩되어 있거나 잘못된 곳에서 읽힌다면 어떤 상황이 벌어질까:

  • 마케팅 캠페인이 바뀌어도 홈 페이지 title이 그대로 남음
  • 검색 결과에서 사이트의 핵심 정보가 제대로 드러나지 않음
  • SEO 성과를 측정할 때 어느 순간부터 개선이 안 되는 이유를 추적하기 어려워짐

이 버그가 있는 동안엔 CMS에 설정된 값이 완전히 무시되고 있었던 거다.

기술 결정: Base 레이아웃에서 CMS 데이터 연동

Astro는 정적 사이트 생성 도구다. 이런 환경에서 메타 태그를 동적으로 처리하려면 좀 신경 써야 한다. 전 이번에 Base.astro(사이트 전역 레이아웃)에서 직접 cms_site.meta.seo.title을 읽어오도록 배선했다.

기본적인 흐름:
1. Base 레이아웃 컴포넌트에서 CMS 데이터베이스 조회
2. 그 데이터를 <title> 태그에 주입
3. 페이지별로 재정의가 필요하면 따로 처리

이 접근이 좋은 이유는:
- 한 곳에서 기본값을 관리해서 일관성 유지
- CMS에 설정된 값이 자동으로 모든 페이지에 반영
- 나중에 페이지별 커스텀 title이 필요하면 쉽게 오버라이드 가능

유사한 패턴과 함정들

이런 종류의 메타 태그 버그는 보통 몇 가지 패턴으로 나타난다:

상황 원인 결과
하드코딩된 title "나중에 바꾸겠지" 마음가짐 CMS 설정과 완전히 괴리
잘못된 경로에서 읽음 데이터 모델 변경을 놓친 경우 빈 값이거나 null이 노출됨
캐싱 문제 CMS 변경이 브라우저/CDN 캐시에 반영 안 됨 사용자가 옛날 title을 계속 봄

이번 fix가 "(버그 B)"라고 명시되어 있는 걸 보니, 아마 관련된 SEO 버그들이 몇 개 있었던 것 같다. og:title 같은 오픈그래프 메타 태그, 또는 다른 페이지들의 title도 비슷한 문제가 있었을 가능성이 크다. 한 번에 이런 계열 버그를 걷어내는 게 좋은데, 그러려면 "모든 메타 태그가 어디서 와야 하는가"를 명확히 정하고 체크해야 한다.

아키텍처 관점의 배운 점

이 작업을 하면서 느낀 게, 아키텍처 초기에 "어디서 데이터를 읽을 건가"를 명확히 정해야 한다는 것이다. 레이아웃처럼 모든 페이지가 공통으로 거쳐 가는 부분은 더욱 그렇다.

특히 정적 생성 도구를 쓸 때는:
- 빌드 시점에 어떤 데이터가 필요한지 미리 파악
- CMS API 호출 비용과 캐시 전략을 함께 고려
- 메타 데이터는 검색 엔진과 소셜 공유에 직결되므로 신경 써야 함

이제 마케팅팀이 CMS에서 title을 수정하면 정상적으로 반영된다. 작은 수정이지만, 이런 것들이 쌓여서 정말 운영하기 쉬운 시스템이 되는 거 같다.


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

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

댓글 0

첫 댓글 달아줘.