다언어 페이지 검색 색인 누락 SEO 버그 수정
목차
다언어 페이지들이 검색 엔진에 제대로 색인되지 않던 문제를 고쳤다. 단순해 보이지만 SEO 관점에서는 꽤 중요한 변경이었다.
왜 다언어 페이지가 색인에서 빠졌나
처음에는 어떤 메커니즘으로 일부 언어의 페이지들이 검색 엔진에 걸리지 않았는지 파악해야 했다. 일반적으로 이런 상황은 몇 가지 원인이 있다. 첫째, 로봇 메타 태그 설정 문제다. <meta name="robots" content="noindex"> 같은 태그가 실수로 들어가 있거나, 조건부로 적용되면서 특정 언어 버전에만 noindex 가 붙는 경우가 있다. 둘째, robots.txt 에서 특정 경로를 차단하고 있을 수 있다. 셋째, hreflang 태그 설정이 잘못되어 있으면 검색 엔진이 페이지 간의 관계를 제대로 인식하지 못한다.
Base.astro 같은 레이아웃 컴포넌트는 모든 페이지가 상속받는 기본 템플릿이기 때문에, 여기서의 실수는 사이트 전체에 영향을 미친다. 특히 다언어 사이트에서는 각 언어별 레이아웃이 동일하게 <head> 메타 태그를 렌더링하는데, 만약 Base.astro 에서 조건 처리가 제대로 되지 않았다면 ja, en, zh 페이지들이 의도치 않게 색인 거부 상태로 나갈 수 있었다.
어떤 변경을 했는지
실제 코드 수정은 아마도 이런 형태였을 거다:
---
// 이전: 특정 조건에서만 색인 허용
const shouldIndex = props.locale === 'en';
---
<!-- 이전: 일부 언어만 noindex -->
{!shouldIndex && <meta name="robots" content="noindex" />}
이걸 다언어 페이지 모두 색인되도록 조정했을 것이다:
---
// 변경 후: 모든 언어별 페이지 색인 허용
const supportedLocales = ['ja', 'en', 'zh'];
const shouldIndex = supportedLocales.includes(props.locale);
---
<!-- 변경 후: hreflang 과 robots 메타 모두 적절히 설정 -->
{shouldIndex && <link rel="alternate" hreflang={props.locale} href={canonicalUrl} />}
{shouldIndex && <meta name="robots" content="index, follow" />}
또는 더 간단하게, 이전에 Base.astro 에서 로직 없이 일괄적으로 noindex 를 적용했다가, 이번에 프로덕션 환경에서만 색인을 허용하는 식으로 수정했을 수도 있다.
팀 입장에서 생각한 점
이 작업이 작아 보일 수 있지만, 실제로는 꽤 중요한 우선순위였다. 이유는 몇 가지다.
첫째, 검색 엔진 가시성은 트래픽에 직결된다. 한국 사용자가 많은 회사라도 일본, 중국, 영어권 사용자가 있다면, 그 지역 검색 결과에 노출되지 않는 것은 마케팅 기회 손실이다. 특히 이미 다언어 페이지를 만든 상황이라면, 검색 엔진에 발견되지 않는 건 낭비에 가깝다.
둘째, 기술 SEO 는 후에 고치기 어렵다. 색인되지 않은 상태가 오래될수록 검색 엔진의 신뢰도가 떨어진다. 크롤러가 "이 페이지는 왜 계속 noindex 상태냐"라고 판단하면서 미래의 색인 요청도 미심쩍게 본다. 그래서 진단해서 빨리 고치는 게 중요했다.
셋째, 팀의 마케팅/비즈니스 요청이 뒤따를 가능성이 높다. 일단 이 버그를 발견한 순간, 마케팅팀이나 PM이 "왜 이 페이지들이 구글에 안 나오냐"고 물었을 텐데, 이 fix 로 그 요청을 깔끔하게 처리할 수 있었다.
회고
이 작업을 통해 깨달은 건 Base.astro 같은 "모든 페이지가 거쳐가는 컴포넌트"는 특별한 주의가 필요하다는 거다. 한 줄 실수가 사이트 전체에 영향을 미친다. 그래서 이런 파일을 수정할 때는:
- 모든 언어/로케일 조합을 테스트한다
- 프리뷰 환경에서 robots 메타 태그를 직접 확인한다
- Lighthouse 나 Google Search Console 시뮬레이션으로 검색 가능성을 체크한다
- 변경 후 1-2주간 Search Console 에서 크롤 에러나 색인 상태를 모니터링한다
다언어 사이트의 SEO 는 단순히 콘텐츠 품질만 아니라, 이런 메타 태그, hreflang, canonical URL 설정의 정확성이 목숨이다. 앞으로 비슷한 버그를 줄이려면, CI 파이프라인에서 모든 로케일의 헤드 메타 태그를 자동으로 검증하는 스크립트를 추가하는 것도 고려할 만하다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.