你的页面有英文版和西班牙文版,但 Google 把英文版展示给了西班牙用户
当网站有多种语言版本或面向多个地区时,hreflang 标签告诉 Google 该给哪些用户展示哪个版本。没有这些标签的话,Google 只能猜——而且经常猜错。
结果就是:西班牙语用户看到了英文页面,立马跳出,你辛苦争取来的流量就这么没了。
Hreflang 是怎么工作的
Hreflang 是一个 HTML 属性,用来声明页面的语言和可选的地区,并将其与其他语言版本关联起来:
<link rel="alternate" hreflang="en" href="https://example.com/page" />
<link rel="alternate" hreflang="es" href="https://example.com/es/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />
其中 x-default 告诉 Google 当没有其他 hreflang 匹配用户语言时,应该展示哪个版本。
什么时候需要 hreflang
- 同一内容翻译成了多种语言
- 存在地区变体(美式英语 vs 英式英语)
- 不同国家展示不同内容(定价、可用性等)
如果你的网站只有一种语言,不需要 hreflang。
最容易搞砸的地方
Hreflang 一直有"难以正确实现"的名声——因为大家总是犯同样的错误:
| 错误 | 后果 |
|---|---|
| 缺少回指链接 | A 页面引用了 B 页面,但 B 没有引用 A。Google 会两边都忽略。 |
| 语言代码写错 | 用了 "uk" 而不是 "en-GB",或者用了 "jp" 而不是 "ja" |
| 缺少 x-default | Google 不知道哪个版本是兜底的 |
| Hreflang 指向非 canonical URL | canonical 和 hreflang 指向不同的页面——造成混乱 |
| 各页面实现不一致 | 有些页面有 hreflang,有些没有 |
回指链接规则是最容易出问题的。 每个 hreflang 标签必须是双向的。如果英文页面说"我的西班牙语版本是 /es/page",那么 /es/page 也必须说"我的英文版本是 /page"。如果任何一方缺失,Google 就会忽略整组 hreflang。
如何审计 hreflang
Hreflang 的问题几乎不可能靠手动发现,因为需要在多个页面之间交叉检查。自动化审计应该能够:
- 检查每个页面的 hreflang 标签
- 验证双向回指链接是否存在
- 校验语言和地区代码
- 确认 hreflang URL 与 canonical URL 一致
- 检测缺失的 x-default 标签
- 标记部分语言版本有 hreflang 而其他版本没有的页面
Kaitico 会检查每个爬取页面的 hreflang 实现,验证回指链接、语言代码和一致性——让你在国际 SEO 问题导致流量损失之前就能发现并修复。