“Accept-Language 헤더에서 로케일 설정” 사용 시 HTML lang 속성 값이 잘못된 경우

Microsoft의 AppSource에 일부 제품을 등록하려고 합니다. 등록을 위해 모든 영어 기반의 경험(all English experience)이 필요합니다. 하지만 저희 포럼은 이중 언어로 운영되며, AppSource 목록에 영어 카테고리 링크를 포함하고 싶습니다.

인도 사용자들이 2차 콘텐츠를 영어로 볼 수 있도록(“Laatste nieuwsberichten”(네덜란드어) 대신 “Last topics”) "accept language 헤더에서 로케일 설정"을 활성화했습니다.

하지만 Postman으로 Accept-Language를 "nl"에서 "en"으로 전환하여 테스트해 보니 생성된 HTML이 올바르지 않습니다:

en인 경우:

<!DOCTYPE html>
<html lang="nl">

<head>

nl인 경우:

<!DOCTYPE html>
<html lang="nl">

<head>

실제 라벨은 네덜란드어에서 영어로 올바르게 변경되지만, html 태그의 lang 속성은 콘텐츠의 언어 대신 여전히 네덜란드어로 표시됩니다.

Locale-Adaptive Pages Testing Tool | TechnicalSEO.com 에서도 동일한 결과를 확인했습니다:

Google을 위해 lang 속성이 accept-language 또는 카테고리에서 파생된 값으로 설정될 수 있다면 인덱싱에 도움이 될 것입니다. Google은 일반적으로 Accept-Language가 설정된 상태에서 미국에서 크롤링한다는 점을 기억해 주십시오.

정확히 이해했는지 확인하기 위해 질문드립니다. 말씀하시는 문제가 크롤러와 API 요청에서만 발생하는 건가요?

Google 문서에서:

또한 크롤러는 요청 헤더에 Accept-Language를 설정하지 않고 HTTP 요청을 보냅니다.

Google이 Accept-Language 헤더를 설정하지 않으므로, 해당 접근 방식으로는 Google 관련 문제를 해결할 수 없습니다.

html 태그의 lang 속성은 항상 사이트의 기본 로케일로 설정됩니다. 사용자가 설정 페이지에서 사이트의 기본 로케일 이외의 로케일을 선택한 경우에도 마찬가지입니다.

2개의 좋아요

죄송합니다. 아마도 잘못된 URL을 붙여넣은 것 같습니다. Crawling and indexing of locale-adaptive pages  |  Google Search Central Blog  |  Google for Developers 를 확인해 주세요.

2015년부터 Google은 Accept-Language 헤더를 활용한 크롤링을 지원합니다.

1개의 좋아요