站点运营

站点运营:多语言与 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 结构、标注规则、上线检查项固定下来;每次新增语言版本或调整目录时,按同一张表核对一遍。内容量不大的站点也不必勉强铺开多语言,先把一个语言版本的内容与结构做扎实,往往比同时维护几个半成品版本更有效。