站点运营

站点运营:多語言與地区版本自查,hreflang 與跳轉要一致

多語言站点的常见問题往往不在翻译质量,而在版本之間的對應關系:hreflang 互指不全、指向失效地址,或用自動跳轉把蜘蛛带去另一個版本。本文梳理語言與地区代碼的寫法規則、hreflang 的三條硬規則、常见错誤清單與可执行的自查流程,帮你把各語言版本整理清楚。

站点运营

站点运营:多語言與地区版本自查,hreflang 與跳轉要一致

做多語言或多地区站点时,最容易出問题的地方不是翻译质量,而是頁面之間的對應關系。同一個产品有中文版、英文版、日文版,如果 hreflang 寫错、互指不完整,或者用自動跳轉把用戶和蜘蛛带去另一個版本,搜尋引擎就可能只挑一個版本展示,甚至把几個版本当成重复内容。

先分清“語言”和“地区”

語言代碼用 ISO 639-1(如 zh、en、ja),地区代碼用 ISO 3166-1 Alpha 2(如 CN、US、JP)。业務只按語言区分时,寫 zh 就够;如果同一語言在不同地区内容不同(如 en-US 與 en-GB 的價格、幣種、库存不同),就必须带上地区。規則一旦定下,全站统一,不要一半寫 zh-CN,一半寫 zh-Hans。

hreflang 的三條硬規則

  • 互相指回:A 頁面寫了指向 B 的 hreflang,B 頁面也必须寫回 A,缺一邊等于没寫。
  • 自我引用:每個版本都要包含指向自己的 hreflang,中文頁也要寫 zh-CN 指向自己。
  • 补一個 x-default:指定没有匹配語言时展示哪個版本,通常是語言選擇頁或預設語言首頁。

常见的寫法错誤

  • hreflang 指向的 URL 是 404,或者會跳轉到別的地址;應寫最终 URL,不要寫會 301 的地址。
  • 只寫相對路径 /en/ 却没有域名,模板調整後就失效。
  • sitemap 里寫了一份 hreflang,HTML 标簽里又寫了一份,两邊内容不一致。
  • 語言選擇頁没有 hreflang,用戶点進去後落到错誤版本。
  • 用 zh-CN 和 zh-Hans 混寫指同一頁面,互相冲突。

自動跳轉要谨慎

按浏览器語言或 IP 自動跳轉,對訪客体驗不一定更好,對抓取更麻烦:蜘蛛通常從某個地区發起請求,可能永遠只看得到預設版本,其他版本卡在“已發現未抓取”。如果确實需要跳轉,建议:

  • 跳轉只在用戶点击明确選擇後触發,並记住這次選擇。
  • 服務端跳轉用 302 而不是 301,避免把另一個版本当成永久規范。
  • 确保每個語言版本都有獨立、可直達的静態 URL,不依赖跳轉才能訪問。

自查流程

  1. 導出所有語言版本的 URL 列表,按“頁面主题 + 語言地区”分组,確認每组頁數一致,没有漏掉某個语種。
  2. 抽查核心頁面源碼,確認 hreflang 完整、互指、含自引用和 x-default。
  3. 用抓取工具批量跑一遍,检查 hreflang 指向的地址返回 200,且與最终 URL 一致。
  4. 核對 sitemap 與頁面内的 hreflang 是否一致,重复的删掉一種寫法。
  5. 在搜尋控制台按地区、語言查看展示與抓取情况,某個版本長期没有抓取记錄,就回头看跳轉和入口。

内容层面別偷懒

如果几個語言版本直接用机器翻译,正文高度相似,容易互相竞争。至少保證标题、描述、正文要点针對当地重寫,價格、單位、联系方式做本地化。有些语種内容暂时做不出来,宁可不放该版本,也不要用空壳頁面占位——空頁面既没有實际價值,也會分散抓取。

多語言站点的核心不是多寫几份 hreflang,而是每個版本都有獨立可訪問的地址、清晰的語言归属,以及能互相指認的對應關系。

把語言地区清單、hreflang 寫法規則、預設版本策略记進文档,新增语種时照着模板走,比每次临时想办法省事得多。