한국어를 main 으로 하고 영어, 중국어, 일본어로 판매를 하는 쇼핑몰을 구글 서치 콘솔로 살펴보다가 아래와 같은 문제점을 발견하게 되었습니다.
사이트에 hreflang 태그가 없습니다.

사이트에 언어를 설정하는 3가지 방법에는 아래와 같은 3가지 방법이 있으며 hreflang 태그는 헤더의 HTML 링크 요소를 이용하는 방법에 해당하며 설명에 따라 설정하여 언어 설정을 완료했습니다.
http://www.example.com/ 사이트에 영어 페이지를 호스팅하고 http://es.example.com/ 사이트에 동일한 페이지의 스페인어 버전이 있다고 가정해 보겠습니다.
이 경우 다음 중 한 가지 방법으로 스페인어 URL이 영어 페이지에 상응하는 스페인어 페이지임을 Google에 나타낼 수 있는 방법에는 아래의 3가지가 있습니다.
서브도메인을 사용하는 경우에 적당합니다. 예를들어 www.example.com 와 같은 메인 도메인이 있고 이것에 스페인어 버전은 es.example.com/ 와 같은 서브도메인을 사용하는 경우에 적당한 방법입니다.
HTML에 http://www.example.com/의 <head> 섹션에 다음과 같이 http://es.example.com/에 있는 해당 웹페이지의 스페인어 버전을 가리키는 link 요소를 추가합니다.
<link rel=”alternate” hreflang=”es” href=”http://es.example.com/” />(현재 페이지를 대신할 수 있는 페이지( http://es.example.com/ )가 있고 그 페이지는 스페인어로 만들어젔다는 의미입니다. )
PDF와 같이 HTML이 아닌 파일을 게시하는 경우 HTTP 헤더를 사용하여 URL의 다른 언어 버전을 나타낼 수 있습니다.
링크: <http://es.example.com/>; rel=”alternate”; hreflang=”es”
링크 HTTP 헤더에 여러 개의 hreflang 값을 지정하려면 다음과 같이 값을 쉼표로 구분합니다.
링크: <http://es.example.com/>; rel=”alternate”; hreflang=”es”,<http://de.example.com/>; rel=”alternate”; hreflang=”de”
서브디렉토리를 경우에 적당합니다. 예를들어 www.example.com/ 와 같은 루투 디렉토리가 있고 이것에 스페인어 버전을 example.com/es/ 와 같은 서브드렉토리로 만들어 구현하는 경우에 적당한 방법입니다.
마크업을 사용하는 대신 사이트맵에서 언어 버전 정보를 제출할 수 있습니다. 이 방법의 자세한 설명은 사이트맵을 사용하여 대체 언어 페이지 표시 를 참조하세요.
그런데 hreflang tag 를 살펴보다가 hreflang tag 가 다국어 페이지 검색 엔진 최적화에 중요한 태그임을 알게 되었습니다. 아래는 다국어 페이지 검색 엔진 최적화 에 게시된 다국어 사이트 / 페이지에 대한 흥미로운 Q & A 입니다.
Q. 회사 공통 컨텐츠(CEO메시지, 정책 등)의 경우 국가/권역/사이트별로 동일한 컨텐츠가 노출되어 일관성을 유지해야 합니다. 하지만, 동일한 컨텐츠가 여러 사이트에서 노출될 경우 검색 순위에서 좋지 않은 영향을 준다고 알고 있습니다. 이럴 경우 대체 방안은 없는지요? 대략적으로 전체 페이지를 이미지로 노출, 검색엔진이 검색하지 못하도록 robot.txt 설정 등의 대안이 나오긴 했는데..
A. 검색엔진에게 언어별 / 권역별로 각기 다른 페이지들이 언어만 다를뿐 실제는 같은 페이지라고 알려주면 됩니다. hreflang tag 이용
모든 페이지의 <head>와 </head>사이에 다음과 같은 태그를 넣어줍니다.
<link rel="alternate" hreflang="ko" href="http://ko.example.com/ceo.html” /> <link rel="alternate" hreflang=“en” href="http://en.example.com/ceo.html" /> <link rel="alternate" hreflang="jp" href="http://jp.example.com/ceo.html” />
rel = “alternate”는 현재 페이지를 대신할 수 있는 대체페이지가 있다는 신호입니다.
데스크톱 페이지에 해당 모바일 URL을 가리키거나 같은 내용을 담은 다른 언어로 된 페이지가 있다는 신호로 사용될 수 있습니다.
‘해당 페이지의 특정 언어(hreflang) 페이지를 다음 주소(href)에서 찾을 수 있다’는 의미입니다.
자세한 설정 방법은 다국어 페이지 검색 엔진 최적화 를 참조하세요.
다국어 페이지 검색 엔진 최적화 에서는 아래와 같은 장점을 알려주셨는데, 저는 “1) 여러 페이지를 한 페이지로 인식하기 때문에, 순위와 관련된 모든 신호가 하나로 모여지게 됩니다.“에서 영감을 얻었습니다. 이것은 다수의 언어 또는 권역별 사이트/페이지중 1개의 언어 또는 권역별 사이트 / 페이지를 최적화하고 hreflang tag 이용하여 다른 언어별 또는 권역별 사이트 / 페이지를 연결하면 최적화되지 않았던 사이트/페이지도 최적화된다는 점을 의미하고 더 나아가 최적화되지 않았던 사이트/페이지조차도 최적화된 사이트/페이지의 최적화에 더욱 점수를 높혀 순위를 상승시키는다는 의미이기 때문입니다.
1) 여러 페이지를 한 페이지로 인식하기 때문에, 순위와 관련된 모든 신호가 하나로 모여지게 됩니다. 예를 들어, B라는 페이지가 A1로 링크하고, C라는 페이지가 A2로 링크하여도, A1와 A2가 같은 페이지임을 알고 있기 때문에 B와 C의 링크에 대한 신호를 한데로 모아서 처리합니다.
2) 여러가지 언어 페이지 중 혹시 검색 엔진이 미처 발견하지 못한 페이지가 있었더라도, 이 ‘힌트’를 통해 알게 되어 수집과 색인을 할 수 있게 됩니다.
3) 여러가지 언어로 서비스하는 구글과 같은 검색 엔진의 경우, 사용자의 해당 언어에 맞는 페이지를 검색 결과에 보여줄 수 있게 됩니다. 한국어 사용자는 한국어 버전으로, 일본 사용자는 일어 버전으로 바로 접근할 수 있게 됩니다.
4) 이러한 장점은 구글에만 한정되지 아니하고, link 태그는 HTML 표준에 포함된 기능입니다. 표준에 따라 더 나은 정보를 제공하려고 하는 검색 엔진이라면 이 ‘힌트’를 활용하여 사이트가 검색이 올바르게 되도록 도와줄 것입니다.
참고자료 : 1. 언어 및 지역 URL에 hreflang 사용