最常见的 hreflang 错误是忘记自己
在我们审计的 135 多语言网站中,40% 也犯了同样的错误:他们的页面从未在自己的 hreflang 注释中引用自己。原因在于这悄无声息地破坏了整个设置。
我们审计的每个多语言站点都会逐条检查其 hreflang 集群。 在 135 站点中,评估的 hreflang 注释时间为 5 月 4 至 July 19, 2026,54 也未通过同一检查——所有 54 都以完全相同的方式失败:页面未出现在自己的 hreflang 注释中。
这占了多语言样本的 40%,导致了 1 的特定错误。 其他 hreflang 失败没有接近——返回链接,即大多数指南警告的内容,在整个数据集中出现了 0 的失败。
他们没有注意到的规则
Hreflang 是等价页面之间的协议。 页面每个本地化版本都会声明完整的替代集合——所有语言和地区变体,包括 x-default——以便 Google 能为正确的搜索者提供正确的版本。 被遗忘的部分是:集合必须包含页面自身。 自引用条目并非冗余。 它是向 Google 确认该页面将自身视为集群成员的方式,并且是注释可靠生效所必需的。
没有它,集群就会变得模糊。 Google 已明确表示 hreflang 是提示,而非指令——不完整的提示很容易被忽略。 结果是国际站点最害怕的失败模式:西班牙的英文页面在西班牙排名,哥伦比亚的西班牙页面在英文搜索中排名,或 Google 在不同地区选择自己的规范页面。
可怕的是没有任何东西看起来有问题。 每个页面都正常渲染。 注释存在于 HTML 中。大多数 CMS 插件会生成它们。 只有在你机械地枚举集群时,遗漏才会显现——这正是审计所做的,而人类永远不会做。
数据集
| 存在自引用 | 135 | 54 (40.0%) |
| 返回交替之间的链接 | 135 | 0 |
| x-default 指向有效目标 | 133 | 7 (5.3%) |
| 目标健康(无重定向/阻止) | 135 | 9 (6.7%) |
方法论:每个域名的最新完成审计快照,5月 4 – July 19, 2026,已匿名化。 我们的样本偏向国际化——大多数受审网站都有 hreflang 注释——因此这些比率描述的是多语言网站,而非整个网络。 目标健康计数很小;请将其视为模式,而非百分比。
失败签名在各处相同
让我们印象深刻的不是比率,而是统一性。 所有 54 自引用失败产生相同发现:主页声明其交替但省略自身。 这几乎总是生成器问题,而非编辑问题。 插件从 其他 语言构建注释集,从不插入当前页面。 因为输出在源中看起来合理——一份整洁的 hreflang 链接标签列表——没人会质疑它。
剩余的失败也遵循可识别的模式:
- x-default 指向语言变体。 所有 7 个 x-default 失败都是同一错误:
x-default设置为英文页面,而非中性选择器或主要市场页面。 x-default 是为你不提供服务的搜索者的回退——将其指向 1 语言会使该语言成为其余世界的默认答案。 - 无法提供服务的目标。 一些网站链接的交替重定向到其他位置,返回 403,被 robots.txt 阻止,或规范化到不同的 URL。指向页面 Google 的注释无法按声明索引,即注释不存在。
正确的集群应该是这样的
一个健康的集群是一个闭环:每个页面列出所有页面,包括它自己,以及 x-default.
<!-- On https://example.com/ (English) --><link rel="alternate" hreflang="en" href="https://example.com/" /><link rel="alternate" hreflang="es" href="https://example.com/es/" /><link rel="alternate" hreflang="pt" href="https://example.com/pt/" /><link rel="alternate" hreflang="x-default" href="https://example.com/" /><!-- On https://example.com/es/ (Spanish) — the same full set --><link rel="alternate" hreflang="en" href="https://example.com/" /><link rel="alternate" hreflang="es" href="https://example.com/es/" /><link rel="alternate" hreflang="pt" href="https://example.com/pt/" /><link rel="alternate" hreflang="x-default" href="https://example.com/" />
Diagram source
graph TD
EN["/ (en)"] -->|列表| EN
EN -->|列表| ES
EN -->|列表| PT
ES["/es/ (es)"] -->|列表| EN
ES -->|列表| ES
ES -->|列表| PT
PT["/pt/ (pt)"] -->|列表| EN
PT -->|列表| ES
PT -->|列表| PT
XD["x-default"] -.->|回退| EN如果任何页面到自身的箭头缺失,循环就会打开——Google 决定如何处理歧义,而不是你。
如何在 10 分钟内检查你的集群
在你的主页上查看源代码并计数 hreflang 条目。 如果你的网站提供 3 个本地化版本加上 x-default,你应该看到 4 条目——其中 1 条必须是你当前所在的页面。 在 1 个本地化页面上重复此操作;集合在那儿应该完全相同。 然后获取每个标注的 URL 并确认它返回 200,能够被索引,并且规范化为自身。 集合中任何重定向、阻止或规范不匹配都表示合同中的断链。
如果您的注释来自 CMS 插件,请检查插件的输出而不是其设置页面——54 失败的网站几乎肯定在某个管理面板中启用了 hreflang. 付费的 SEOReport 诊断 会在每次运行时列举完整的集群,并显示哪些条目打断了循环。
国际 SEO 对细节要求苛刻,因为细节是机制。 我们样本中正确处理自引用的网站并没有更好的翻译工具或更大的预算。 它们有一个闭环——并且有办法在它打开时注意到。