답변
먼저 두 태그의 역할부터 구분해 말씀드리겠습니다. hreflang은 같은 콘텐츠의 언어·지역별 버전이 여러 개 있을 때 구글에게 '이 페이지들은 서로의 대체 버전'이라고 알려주는 신호입니다. head 태그에 언어코드(ISO 639-1)와 국가코드(ISO 3166-1)를 조합해 넣는데, 이 태그는 페이지 A뿐 아니라 관련된 모든 언어 버전 페이지 각각에도 서로를 향한 동일한 세트가 들어가야 정상 작동합니다 — 양방향 상호 참조가 원칙입니다. x-default는 특정 언어·국가에 명확히 대응되지 않는 방문자(지원하지 않는 국가에서 접속하거나 언어 감지가 안 되는 경우)에게 보여줄 기본 페이지를 지정하는 값입니다. 보통 언어 선택 페이지나 글로벌 영문 버전을 이 값으로 지정하는 게 실무 표준입니다. x-default가 없으면 구글이 어떤 버전을 기본값으로 보여줄지 자체 판단해야 해서, 의도치 않은 국가 버전이 다른 국가 검색결과에 노출되는 오인식 문제의 원인이 되기 쉽습니다. 구글봇이 국가별 페이지를 오인하는 가장 흔한 원인은 세 가지입니다. hreflang 상호 참조 누락(A는 B를 가리키지만 B는 A를 가리키지 않는 편도 설정), 실제로 존재하지 않거나 리다이렉트되는 링크를 href에 넣는 경우, 언어코드만 쓰고 국가코드를 빠뜨려 같은 언어를 쓰는 여러 국가(영어권 미국·영국·호주 등)가 구분되지 않는 경우입니다. 서치콘솔의 '국제 타겟팅' 보고서에서 이 세 유형의 오류가 구체적으로 어느 페이지에서 발생하는지 확인하실 수 있습니다. 언어 버전이 매우 많은 대형 크로스보더 사이트라면, head 태그마다 수십 개의 hreflang 링크를 넣는 대신 XML 사이트맵에 hreflang 정보를 일괄 기재하는 방식이 관리상 효율적이라고 구글이 공식 안내하고 있습니다. 페이지 수가 많다면 head 코드를 건드리지 않고 사이트맵 파일 하나로 전체 언어 매핑을 관리할 수 있는 이 방식을 검토해보시길 권합니다.