Hreflang 태그에서 ‘언어 버전 간 충돌’이란 일반적으로 코드가 검색엔진에 의해 읽히지 않는다는 뜻이 아니라, 동일한 페이지 그룹이 서로 모순되는 언어, 지역, 정규화 및 색인 가능성 신호를 동시에 전달하는 것을 의미합니다. 그 결과 검색엔진은 특정 언어 또는 시장에 어떤 URL을 제공해야 하는지 판단하기 어려워지며, 잘못된 버전을 순위 평가에 사용하거나 일부 hreflang 관계를 직접 무시할 수 있습니다.
기술 점검 시 페이지에 rel="alternate"가 있는지만 확인해서는 안 됩니다. Hreflang 최적화의 성립 여부를 실제로 결정하는 것은 URL 접근성, 양방향 관계, 언어·지역 타기팅, canonical 대상 및 실제 페이지 콘텐츠가 동일한 논리를 구성하는지 여부입니다.
유효한 hreflang 세트는 명확한 각 언어 또는 언어-지역 조합에 대해 고유하며 색인 가능한 URL을 할당해야 합니다. 예를 들면 다음과 같습니다.
en: 영어 사용자를 위한 일반 영어 페이지en-US: 미국 시장을 위한 영어 페이지en-GB: 영국 시장을 위한 영어 페이지zh-CN: 중국 본토 사용자를 위한 간체 중국어 페이지x-default: 일치하는 버전이 없을 때 사용하는 기본 버전 또는 언어 선택 페이지두 개 이상의 URL이 동일한 대상 사용자를 위해 표시되었지만 명확한 우선순위 관계가 없을 때 충돌이 발생합니다. 예를 들어 /en/과 /us/가 모두 en-US로 표시된 경우입니다. 또는 동일한 영어 페이지가 en, en-US, en-GB의 유일한 대체 페이지로 동시에 선언된 경우도 있습니다. 검색엔진은 기업 내부의 디렉터리 명명 방식으로 우선순위를 추론하지 않으며, 페이지 선언, 콘텐츠, canonical 및 크롤링 상태가 일관적인지만 평가합니다.
따라서 디렉터리 경로의 /us/, /uk/ 또는 국가 코드 최상위 도메인이 자동으로 올바른 지역 타기팅을 의미하지는 않습니다. 경로는 배포 전략을 나타낼 수 있지만 유효한 hreflang 언어 코드를 대체할 수는 없습니다.
hreflang과 canonical의 역할은 다릅니다. hreflang은 서로 다른 언어 또는 지역 사용자용 동등 버전을 식별하는 데 사용되며, canonical은 콘텐츠가 매우 유사할 때 선호 URL을 처리하는 데 사용됩니다. 두 요소는 서로를 대체해서는 안 됩니다.
대표적인 오류는 미국 영어 페이지 /en-us/product-a/가 hreflang에서 en-US로 선언되었지만, canonical은 일반 영어 페이지 /en/product-a/를 가리키는 경우입니다. 이는 검색엔진에 두 가지 상충하는 정보를 전달합니다. 하나는 이 페이지가 독립적인 미국 버전이라는 것이고, 다른 하나는 다른 URL의 중복 사본일 뿐이라는 것입니다. 해당 페이지에 독립적인 시장 가치가 있다면 canonical은 일반적으로 자기 자신을 가리켜야 합니다. 반대로 독립적인 콘텐츠와 서비스 의미가 없다면 hreflang을 이용해 이를 지역 버전으로 포장해서는 안 됩니다.
특히 파라미터 URL, 대소문자가 다른 URL, 후행 슬래시 버전, HTTP/HTTPS 버전 및 추적 파라미터가 포함된 광고 랜딩 페이지에 유의해야 합니다. hreflang이 최종 정규 URL이 아닌 주소를 가리키면 언어 관계가 불안정한 주소를 기반으로 설정됩니다.
hreflang 관계는 검증 가능한 폐쇄 루프를 형성해야 합니다. A 페이지가 B를 프랑스어 버전으로 선언했다면 B 페이지도 A를 해당 중국어, 영어 또는 기타 버전으로 선언하고 자기 참조도 포함해야 합니다. 영어 페이지에 10개의 언어 버전이 나열되어 있는데 프랑스어 페이지에는 자기 자신과 영어 페이지뿐이고 나머지 버전이 없다면, 검색엔진은 이러한 페이지를 하나의 완전한 세트로 안정적으로 식별할 수 없습니다.
이러한 문제는 템플릿이 단계적으로 배포되거나 CMS 다중 사이트 설정이 동기화되지 않거나 번역 페이지가 나중에 추가될 때 자주 발생합니다. 페이지 수가 많을 경우 소스 코드를 일부만 점검하는 방식은 신뢰하기 어려우므로, 페이지 템플릿, 언어 디렉터리 및 URL 매핑 규칙에 따라 일괄 검증해야 합니다.
언어 코드가 올바르다고 해서 타기팅이 적절한 것은 아닙니다. en은 일반 영어이고 en-US는 미국 영어입니다. pt는 일반 포르투갈어이고 pt-BR은 브라질 포르투갈어입니다. 일반 언어 페이지와 지역 페이지는 함께 존재할 수 있지만, 전제는 페이지 역할이 명확해야 한다는 것입니다.
예를 들어 한 사이트가 en, en-US, en-GB를 모두 유지하지만, 세 페이지의 가격, 단위, 연락처, 배송 범위, 철자 및 콘텐츠가 완전히 동일하다면 기술적으로 태그를 지정할 수는 있어도 비즈니스 측면에서 구분 근거가 부족합니다. 이 경우 문제는 hreflang에만 있는 것이 아니라, 사이트가 유사한 검색 수요를 경쟁하는 여러 URL을 인위적으로 만들었다는 데에도 있습니다.
반대로 지역 페이지가 잘못된 코드를 사용하면 역시 작동하지 않습니다. hreflang의 언어 부분에는 ISO 639-1 언어 코드를 사용해야 하며, 지역 부분에는 ISO 3166-1 Alpha-2 국가 또는 지역 코드를 사용해야 합니다. 형식은 언어가 앞에 오고 지역이 뒤에 오는 방식으로, 예를 들면 de-DE, ja-JP와 같습니다. 존재하지 않는 코드, 코드 대신 언어 이름을 사용하는 경우 또는 국가 코드를 앞에 배치하는 경우 모두 파싱 문제를 유발합니다.
hreflang이 가리키는 대상 URL은 정상적으로 크롤링할 수 있는 유효한 페이지를 반환해야 합니다. 대상 페이지에 리디렉션, 404, 소프트 404, 5xx 오류, noindex, robots.txt 크롤링 차단이 있거나 로그인이 필요하다면, 언어 관계가 소스 코드에 작성되어 있어도 적용되기 어렵습니다.
더 은밀한 경우는 지리적 리디렉션입니다. 사용자 또는 크롤러가 일반 영어 페이지에 접근할 때 서버가 IP를 기준으로 자동으로 미국 페이지로 리디렉션하고, 미국 페이지는 다시 hreflang에서 일반 영어 페이지를 가리키는 경우입니다. 자동 리디렉션은 크롤링과 사용자의 자율적 선택을 방해하며, 페이지 타기팅과 태그 선언이 일치하지 않게 만들기 쉽습니다. 지역 추천은 안내 배너, 선택기 또는 명확한 링크를 통해 구현할 수 있으며, 방문자와 검색엔진의 진입 URL을 강제로 덮어쓰는 방식은 적절하지 않습니다.
hreflang은 HTML <head>, HTTP 응답 헤더 또는 XML Sitemap을 통해 제공할 수 있습니다. 일반 웹페이지는 HTML 태그를 사용하면 확인이 편리하고, 비HTML 파일은 HTTP Header를 고려할 수 있으며, URL 수가 매우 많을 때는 Sitemap이 중앙 집중식 관리에 유리합니다. 어떤 방식을 사용하든 핵심은 ‘여러 곳에 더 많이 넣는 것’이 아니라 모든 위치에서 동일한 URL 매핑을 사용하는 것입니다.
HTML에서 /fr/를 fr-FR로 표시하고 Sitemap에서는 동일한 URL을 다시 fr-CA로 표시한다고 해서 적용 범위가 확대되는 것은 아닙니다. 오히려 설명할 수 없는 타기팅 충돌을 유발합니다. 엔지니어링 관점에서는 언어 버전 관계를 구조화된 데이터로 간주하고 통합 매핑 테이블에서 생성해야 하며, 서로 다른 팀이 템플릿, 플러그인 및 Sitemap에서 각각 관리해서는 안 됩니다.
효과적인 점검 순서는 코드 조각이 아니라 URL의 정체성에서 시작하는 것입니다. 먼저 각 페이지에 독립적인 언어 또는 지역 서비스 대상이 있는지 확인합니다. 다음으로 각 대상에 색인 가능한 정규 URL이 하나만 있는지 확인합니다. 이어서 해당 URL의 자기 참조 canonical, HTTP 상태, robots 지침 및 페이지 콘텐츠를 검증합니다. 마지막으로 모든 대체 버전이 동일한 세트 내에서 서로 참조하는지 검사합니다.
다국어 B2B 웹사이트에서는 제품 페이지, 카테고리 페이지, 솔루션 페이지 및 문의 랜딩 페이지가 서로 다른 버전 적용 범위를 갖는 경우가 많습니다. 프랑스어 콘텐츠가 없는 페이지라면 겉보기의 완전성을 위해 프랑스어 hreflang을 가상으로 만들 필요가 없습니다. 일부 지역이 영어 콘텐츠만 공유한다면, 모든 국가에 대해 영어 URL을 하나씩 복제할 필요도 없습니다. hreflang의 가치는 실제로 존재하는 버전 간 모호성을 제거하는 데 있으며, 모든 시장 디렉터리를 한 번씩 표시하는 데 있지 않습니다.
언어 버전 간 충돌이 발생할 경우, 중복 타기팅을 우선 제거하고 canonical과 최종 URL을 수정하며 양방향 참조를 보완한 다음 HTML 또는 Sitemap의 매핑 소스를 통일해야 합니다. 페이지 콘텐츠, 접근 경로 및 검색 신호가 동일한 버전 정의를 가리킬 때에만 hreflang은 지역 일치 기능을 수행할 수 있으며, 잘못된 색인과 트래픽 분산을 초래하는 새로운 원인이 되지 않습니다.
관련 기사
관련 제품