Google에 페이지의 현지화된 버전 알리기

언어별 또는 지역별 페이지에 hreflang 또는 사이트맵 사용

서로 다른 언어 또는 지역별로 여러 버전의 페이지가 있는 경우 Google에 여러 페이지 버전을 알려주세요. 그렇게 하면 Google 검색에서 언어나 지역별로 가장 적절한 버전의 페이지로 사용자를 연결하는 데 도움이 됩니다.

별도의 조치를 취하지 않아도 Google에서 페이지의 다른 언어 버전을 찾을 수 있지만, 일반적으로는 언어별 또는 지역별 페이지를 명시적으로 지정하는 것이 좋습니다.

다음은 대체 페이지 지정이 권장되는 몇 가지 예입니다.

  • 콘텐츠 본문은 단일 언어로 유지하고 탐색 및 바닥글과 같은 템플릿만 번역하는 경우입니다. 일반적으로 포럼과 같이 사용자 제작 콘텐츠가 포함된 페이지가 여기에 해당됩니다.
  • 단일 언어로 된 유사한 콘텐츠에 약간의 지역적인 차이가 있는 경우입니다. 예를 들어 미국, 영국, 아일랜드를 타겟팅하는 영어로 된 콘텐츠가 여기에 해당됩니다.
  • 사이트 콘텐츠가 여러 언어로 완전히 번역되어 있는 경우입니다. 예를 들어 페이지마다 독일어와 영어 버전이 모두 있는 경우입니다.

페이지의 현지화된 버전은 페이지의 주요 콘텐츠가 번역되지 않은 상태인 경우에만 중복으로 간주됩니다.

Creating multi-regional and multilingual sites

대체 페이지를 지정하는 방법

Google에 페이지의 여러 언어/지역 버전을 명시하는 방법에는 세 가지가 있습니다.

HTML 태그

페이지 헤더에 <link rel="alternate" hreflang="lang_code"... > 요소를 추가하여 페이지의 모든 언어 및 지역 버전을 Google에 알립니다. 이 방법은 사이트맵이 없거나 사이트에 HTTP 응답 헤더를 지정할 수 없는 경우 유용합니다.

페이지의 각 버전은 <head> 요소 내에 <link> 요소 집합을 포함해야 하며, 페이지 자체를 포함한 페이지 버전마다 링크가 하나씩 있어야 합니다. 링크 집합은 페이지의 모든 버전에서 동일합니다. 추가 가이드라인을 참조하세요.

다음은 각 링크 요소의 구문입니다.

<link rel="alternate" hreflang="lang_code" href="url_of_page" />

lang_code
페이지의 이 버전에서 타겟팅하는 지원되는 언어/지역 코드 또는 페이지의 hreflang 태그에 의해 명시적으로 나열되지 않은 모든 언어에 해당하는 x-default
url_of_page
이 페이지의 지정된 언어/지역별 버전의 정규화된 URL
<link> 태그를 <head> 요소 상단에 배치하세요. 기본적으로 <link> 태그는 제대로 형식이 지정된 <head> 섹션 안에 있거나 <p> 및 추적 픽셀과 같이 <head>가 너무 이르게 닫히도록 만드는 항목 앞에 있어야 합니다. 확실하지 않다면 렌더링된 페이지의 코드를 HTML 유효성 검사 도구에 붙여넣어 링크가 <head> 요소 내에 있는지 확인하세요.

Example Widgets, Inc는 미국, 영국, 독일의 사용자에게 웹사이트를 제공합니다. 다음 URL에서는 지역적인 변형이 있을 뿐 실제로 동일한 콘텐츠를 제공합니다.

  • http://en.example.com/page.html - 일반 영어로 된 홈페이지이며 미국에서 발송되는 해외 배송 요금에 대한 정보가 포함되어 있습니다.
  • http://en-gb.example.com/page.html - 영국 홈페이지이며 가격을 영국 파운드로 표시합니다.
  • http://en-us.example.com/page.html - 미국 홈페이지이며 가격을 미국 달러로 표시합니다.
  • http://de.example.com/page.html 독일어로 된 홈페이지입니다.
  • http://www.example.com/ 어떤 언어도 타겟팅하지 않는 기본 페이지이며, 선택기를 통해 사용자가 언어와 지역을 선택하도록 할 수 있습니다.

Google에서는 이러한 URL의 언어별 하위 도메인(en, en-gb, en-us, de)을 사용하여 페이지의 타겟층을 결정하지 않으므로, 타겟층을 명시적으로 매핑해야 합니다.

다음은 위에 나열된 모든 페이지의 <head> 섹션에 붙여넣어야 하는 HTML입니다. 이렇게 하면 미국, 영국, 일반 영어 사용자 및 독일어 사용자는 현지화된 페이지로 연결되며 기타 모든 사용자는 일반 홈페이지로 연결됩니다. Google 검색에서는 사용자의 브라우저 설정에 따라 사용자에게 적절한 결과를 표시합니다.

<head>
  <title>Widgets, Inc</title>
  <link rel="alternate" hreflang="en-gb"
        href="http://en-gb.example.com/page.html" />
  <link rel="alternate" hreflang="en-us"
        href="http://en-us.example.com/page.html" />
  <link rel="alternate" hreflang="en"
        href="http://en.example.com/page.html" />
  <link rel="alternate" hreflang="de"
        href="http://de.example.com/page.html" />
  <link rel="alternate" hreflang="x-default"
        href="http://www.example.com/" />
</head>

 

HTTP 헤더

페이지의 GET 응답을 통해 HTTP 헤더를 반환하여 Google에 페이지의 모든 언어 및 지역 버전을 알릴 수 있습니다. PDF와 같이 HTML이 아닌 파일에 유용합니다.

다음은 헤더의 형식입니다.

Link: <url1>; rel="alternate"; hreflang="lang_code_1", <url2>; rel="alternate"; hreflang="lang_code_2", ...

<url_x>
연결된 hreflang 속성에 할당된 언어/지역 문자열에 해당하는 대체 페이지의 정규화된 URL. URL은 < > 표시로 둘러싸여 있어야 합니다. 예: <https://www.google.com>
lang_code_x
페이지의 이 버전에서 타겟팅하는 지원되는 언어/지역 코드 또는 페이지의 hreflang 태그에 의해 명시적으로 나열되지 않은 모든 언어에 해당하는 x-default

요청된 버전을 포함하여 페이지의 모든 버전에 <url>, rel="alternate"hreflang 값 집합을 지정해야 하며, 아래 예처럼 쉼표로 구분해야 합니다. 페이지의 모든 버전에서 반환되는 Link: 헤더는 동일합니다. 추가 가이드라인을 참조하세요.

다음은 영어 사용자, 스위스의 독일어 사용자, 기타 모든 독일어 사용자를 위한 3가지 버전의 PDF 파일이 있는 사이트에서 반환되는 Link: 헤더의 예입니다.

Link: <http://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <http://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch",
      <http://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

 

사이트맵

사이트맵을 사용하여 Google에 각 URL의 모든 언어 및 지역 버전에 관해 알릴 수 있습니다. 이렇게 하려면 단일 URL을 지정하는 <loc> 요소 및 페이지 자체를 포함한 페이지의 모든 언어/지역 버전을 나열하는 하위 <xhtml:link> 항목을 추가해야 합니다. 따라서 페이지의 3가지 버전이 있는 경우 사이트맵에 3개의 항목이 포함되며 3개의 동일한 하위 항목이 추가됩니다.

사이트맵 규칙:

  • xhtml 네임스페이스를 다음과 같이 지정합니다.
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
  • 각 URL에 별도의 <url> 요소를 만듭니다.
  • <url> 요소는 페이지 URL을 나타내는 <loc> 하위 요소를 포함해야 합니다.
  • <url> 요소에는 페이지 자체를 포함한 페이지의 모든 대체 버전을 나열하는 <xhtml:link rel="alternate" hreflang="supported_language-code"> 하위 요소가 있어야 합니다.  이러한 하위 <xhtml:link> 요소의 순서는 중요하지 않지만, 오류가 있는지 쉽게 확인할 수 있도록 동일한 순서를 유지하는 것이 좋습니다.
  • 추가 가이드라인을 참조하세요.

다음은 전 세계 영어 사용자를 타겟팅하는 영어 페이지와 이 페이지에 상응하는 전 세계 독일어 사용자 및 스위스 내 독일어 사용자를 타겟팅하는 페이지 버전입니다. 다음은 사이트에 있는 모든 URL입니다.

  • www.example.com/english/page.html - 영어 사용자 타겟팅
  • www.example.com/deutsch/page.html - 독일어 사용자 타겟팅
  • www.example.com/schweiz-deutsch/page.html - 스위스 내 독일어 사용자 타겟팅

다음은 위에 나열된 3개의 페이지의 사이트맵입니다.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>http://www.example.com/english/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/schweiz-deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
</urlset>

모든 방법에 관한 가이드라인

  • 각 언어 버전은 해당 언어뿐만 아니라 다른 모든 언어 버전을 나열해야 합니다.
  • 대체 URL은 다음과 같이 전송 방법(http/https)을 포함하여 정규화되어야 합니다.
     올바른 예: https://example.com/foo틀린 예: //example.com/foo 또는 /foo
  • 대체 URL이 같은 도메인에 있을 필요는 없습니다. 
  • 동일한 언어를 사용하지만 지역이 다른 사용자를 타켓팅하는 여러 개의 대체 URL이 있는 경우, 지정되지 않은 지역에 있는 해당 언어 사용자를 위한 포괄 URL도 함께 제공하는 것이 좋습니다. 예를 들어 아일랜드(en-ie), 캐나다(en-ca), 오스트레일리아(en-au)에 거주하는 영어 사용자를 위한 특정 URL이 있더라도 미국, 영국 및 기타 모든 영어 사용 지역에서 검색 사용자를 위한 일반 영어(en) 페이지도 제공해야 합니다. 이러한 페이지를 특정 페이지 중 하나로 선택할 수도 있습니다.
  • 두 페이지가 서로를 가리키지 않는 경우 태그가 무시됩니다. 이는 다른 사이트에 있는 사용자가 페이지의 대체 버전으로 이름을 지정하여 태그를 임의로 만들 수 없도록 하기 위함입니다.
  • 모든 언어마다 완전한 양방향 링크 세트를 유지하기 어려운 경우 일부 페이지에서 특정 언어를 제외할 수 있습니다. Google에서는 계속해서 서로를 가리키는 페이지를 처리합니다. 그러나 새로 확장된 언어 페이지는 기본/주요 언어의 페이지와 양방향으로 연결해야 합니다. 예를 들어 원래 만든 사이트가 .fr로 된 URL을 가진 프랑스어 사이트인 경우 새로운 멕시코(.mx) 및 스페인(.es) 페이지를 인지도가 높은 .fr과 양방향으로 연결하는 것이 새 스페인어 대안 페이지인 .mx와 .es를 서로 양방향 연결하는 것보다 좋습니다.
  • 특히 언어/국가 선택기 또는 자동으로 리디렉션되는 홈페이지의 경우 다른 페이지와 연결되지 않은 언어를 위한 대체 페이지를 추가하는 것이 좋습니다. x-default 값을 사용하세요.
    <link rel="alternate" href="http://example.com/" hreflang="x-default" />

지원되는 언어/지역 코드

hreflang 속성의 값은 언어(ISO 639-1 형식)를 지정하며 필요 시 대체 URL의 지역(ISO 3166-1 Alpha 2 형식)을 지정합니다.언어와 지역이 관련되어 있을 필요는 없습니다. 예를 들면 다음과 같습니다.

  • de: 지역과는 무관한 독일어 콘텐츠
  • en-GB: 영국 사용자를 위한 영어 콘텐츠
  • de-ES: 스페인에 있는 사용자를 위한 독일어 콘텐츠

국가 코드만 지정하면 안 됩니다. Google은 국가 코드를 기준으로 언어를 자동으로 인식하지 않습니다. 라벨을 단순화하려면 언어 코드만 지정할 수 있습니다.  페이지를 특정 지역으로 제한하려면 언어 코드 뒤에 국가 코드를 추가하세요.  예를 들면 다음과 같습니다.

  • be: 지역과는 무관한 벨라루스어(벨기에 프랑스어가 아님)
  • nl-be: 벨기에 사용자를 위한 네덜란드어
  • fr-be: 벨기에 사용자를 위한 프랑스어 

언어 스크립트 변형의 경우 국가에 따라 적합한 스크립트가 파생됩니다. 예를 들어 대만에 있는 사용자를 위해 zh-TW를 사용하면 언어 스크립트가 자동으로 파생됩니다(이 예에서는 중국어 번체). 또한 다음과 같이 ISO 15924를 사용하여 스크립트 자체를 명시적으로 지정할 수 있습니다.

  • zh-Hant: 중국어(번체)
  • zh-Hans: 중국어(간체)

또는 스크립트 및 지역의 조합을 지정할 수도 있습니다. 예를 들어 대만 사용자에 대해 zh-Hans-TW를 사용하여 중국어(간체)를 지정합니다.

일치하지 않는 언어에 x-default 태그 사용

사용자의 브라우저 설정과 일치하는 언어/지역이 없는 경우 예약된 값 hreflang="x-default"가 사용됩니다. 이 값은 선택사항이지만, 값을 지정하여 일치하는 언어가 없을 때 페이지를 제어하는 방법으로 활용하는 것이 권장됩니다. 사용자가 국가를 선택할 수 있는 클릭 가능한 지도가 있는 사이트의 홈페이지를 타겟팅하는 것이 좋습니다.

문제해결

흔히 발생하는 실수

다음은 hreflang 사용 시 가장 자주 발생하는 실수입니다.

  • 반환 링크 누락: 페이지 X가 페이지 Y로 연결되는 경우 반대로 페이지 Y에서 페이지 X로도 연결되어야 합니다. hreflang 사이트설정을 사용하는 모든 페이지의 연결이 이렇게 되어 있지 않으면 사이트설정이 무시되거나 잘못 해석될 수 있습니다.
  • 잘못된 언어 코드: 사용하는 모든 언어 코드가 언어(ISO 639-1 형식)를 지정하며 필요 시 대체 URL의 지역(ISO 3166-1 Alpha 2 형식)을 지정하는지 확인하세요. 지역만 지정하면 유효하지 않습니다.

hreflang 디버깅 오류

국제 타겟팅 보고서를 사용하여 가장 자주 발생하는 문제를 디버깅할 수 있습니다. Google에서 페이지를 크롤링했는지 확인한 후 보고서의 언어 탭을 방문하여 오류가 발견되었는지 확인하세요.

사용할 수 있는 여러 가지 타사 도구도 있습니다. 다음은 몇 가지 자주 사용되는 도구입니다. 이 도구는 Google에서 관리하거나 검사하지 않습니다.

도움이 되었나요?
어떻게 하면 개선할 수 있을까요?