站点运营

站点运营:多語言與 hreflang 自查,別让两個語言版本互相抢词

多語言站点的隐患往往不在翻译质量,而在版本之間的關系有没有说清楚。本文說明 hreflang 的作用邊界,列出自引用、双向标注、語言地区碼寫法、與 canonical 冲突等检查項,並给出發現問题後的處理顺序,帮助站点减少同一批内容互相分流的可能。

站点运营

站点运营:多語言與 hreflang 自查,別让两個語言版本互相抢词

多語言站点為什么容易互相打架

当站点同时提供簡體中文、繁体中文、英文等多個版本时,搜尋引擎需要判断:面對同一批關鍵詞,究竟應该展示哪一個版本。如果頁面之間没有清晰的語言與地区對應關系,多個版本就可能同时進入索引,彼此分流点击,甚至出現搜尋结果里語言與用戶不匹配的情况。hreflang 的作用就是把這层關系说清楚,它本身不提升排名,只是帮助搜尋引擎做更合理的選擇。

先分清自己属于哪種场景

  • 同一内容的多語言翻译版:需要互相标注,形成閉环。
  • 同一種語言但面向不同地区,例如 en-US 與 en-GB:除了語言碼還要寫地区碼。
  • 只是同一頁面的不同參數或设备版本:這属于重复内容問题,不要用 hreflang 硬套。
  • 内容只覆盖單一語言,却给少量頁面加了多語言标注:先把标注删掉,避免信号自相矛盾。

逐項自查清單

  1. 是否双向且包含自引用。A 标注 B,B 也必须标注 A,同时每個頁面都要有指向自己的 hreflang。缺少自引用是高频疏漏。
  2. 語言碼與地区碼是否規范。語言碼用 ISO 639-1,地区碼用 ISO 3166-1 Alpha-2,中間用连字符,例如 zh-Hans、zh-Hant、en-GB。不要自造寫法。
  3. 是否成组閉环。同一组頁面應当把组内所有版本都列出,只寫一部分會造成關系不完整;组内也不應出現指向内容並不相同的地址。
  4. 声明的地址是否可抓取。hreflang 里寫的必须是最终可訪問的規范地址,不要寫重定向地址、带跟踪參數的地址,或需要登入才能看到的地址。
  5. 與 canonical 是否一致。如果 A 頁面 canonical 指向 B,同时又用 hreflang 声明两者是不同語言版本,两套信号就會互相抵消。規范地址通常應当指向頁面自身。
  6. 輸出方式是否统一。HTML head 中的 link 标簽、HTTP 响應头、XML 站点地图三種方式都可行,但同一站点建议统一,便于後續排查。
  7. 新頁面是否同步补充。新增語言版本时最容易漏加标注,建议把這一步寫進上线检查流程。

几種常见的错誤寫法

  • 把地区碼寫成自定义值,例如 zh-CN-www 這類不規范组合。
  • 只在中文頁标注英文頁,英文頁没有任何反向标注。
  • 整站用模板统一輸出同一组 hreflang,導致並不存在的語言版本也被声明。
  • x-default 被随手指向首頁,而不是真正的中立版本或預設語言版本。
提示:hreflang 只是给搜尋引擎的建议,最终展示哪個版本仍由搜尋结果决定。它的價值在于减少明顯错配,而不是保證某個版本一定排在前面。

發現問题後的處理顺序

  1. 先停掉明顯错誤的标注,例如指向已下线頁面或不存在的語言版本。
  2. 补齐自引用與双向關系,把每一组頁面凑成完整閉环。
  3. 核對 canonical 與 hreflang 是否指向同一地址,冲突时優先保證頁面指向自身。
  4. 對模板难以處理的頁面,用站点地图或响應头方式补充标注。
  5. 過一段時間回看抓取日誌與展示資料,確認不同語言版本各自承担對應的流量。

把检查變成日常動作

多語言站点的维護成本主要集中在上新和改版两個环节。建议在栏目規划阶段就确定語言與地区的對應表,把 URL 结构、标注規則、上线检查項固定下来;每次新增語言版本或調整目錄时,按同一張表核對一遍。内容量不大的站点也不必勉强铺開多語言,先把一個語言版本的内容與结构做扎實,往往比同时维護几個半成品版本更有效。