답변
구현 방식부터 정리하면, 구글이 지원하는 hreflang 구현 방식은 세 가지입니다. 가장 널리 쓰이는 것은 각 페이지의 head 영역에 link rel="alternate" hreflang="언어코드" href="URL" 태그를 넣는 HTML head 방식입니다. PDF처럼 head가 없는 파일이라면 서버 응답 헤더에 Link 속성으로 명시하는 HTTP 헤더 방식을 쓰고, 페이지 수가 많은 대형 사이트라면 사이트맵 파일에 xhtml:link 요소를 추가해 일괄 선언하는 XML 사이트맵 방식이 관리하기 편합니다. 서식 규칙은 정확히 지켜야 합니다. hreflang 값에는 언어 코드(ISO 639-1, 예: ko, en)를 반드시 넣고, 필요하면 지역 코드(ISO 3166-1 Alpha-2, 예: KR, US)를 추가로 붙입니다. 이때 언어 코드가 국가 코드보다 항상 먼저 와야 합니다(ko-KR이 맞고 KR-ko는 틀립니다). 언어 코드와 국가 코드는 서로 다른 체계이니 혼동해서 반대로 쓰지 않도록 주의하세요. 가장 흔히 놓치는 실수가 양방향 참조입니다. hreflang 어노테이션은 양방향이 필수 조건입니다 — 한국어 페이지가 영어 페이지를 대체 언어로 가리키면, 영어 페이지도 반드시 한국어 페이지를 가리켜야 합니다. 한쪽 방향의 참조라도 빠지면 구글은 해당 어노테이션 전체를 무시해버리므로, 신규 언어 페이지를 추가할 때마다 기존 언어 페이지들의 hreflang 목록에도 새 페이지를 추가로 반영하는 절차를 빠뜨리면 안 됩니다. 마지막으로 hreflang 태그가 가리키는 URL은 그 페이지의 캐노니컬 태그가 가리키는 정식 URL과 반드시 일치해야 합니다. hreflang은 파라미터가 붙은 URL을 가리키는데 canonical은 파라미터 없는 URL을 가리키는 식으로 어긋나면, 구글이 다국어 페이지 관계를 정확히 인식하지 못해 엉뚱한 국가에 잘못된 언어 페이지가 노출되는 왜곡이 생길 수 있습니다. 다국어 사이트를 구축한 뒤에는 서치 콘솔의 국제 타겟팅 보고서로 hreflang 오류가 없는지 주기적으로 점검하시길 권합니다.