当规范标签跨语言指向时,Hreflang 失效
当本地化页面的规范指向其英文同级时,会取消自身的 hreflang 注释,浏览器也无法检测到。审计数据显示哪些检查捕捉到了矛盾,以及我们自己的 9 区域前缀在其中一次失败的日期.
页面可以在同一 中携带 2 标签<head> that address the same crawler about the same URL and say opposite things. On https://example.com/fr/pricing, 这表示该页面是该集群的法语成员:
<link rel="alternate" hreflang="fr" href="https://example.com/fr/pricing" />
这条,1 下面的行,表示该页面是应合并到英文原版的变体:
<link rel="canonical" href="https://example.com/pricing" />
真实站点会在它们拥有的每个本地化路由上都提供两者,使用相同的模板. 这是在七月记录的那一次失效之后仍然存在的失败——缺失 hreflang 自引用,在我们当前数据中仍有 58% 的 88 hreflang 评估失败. 一个站点可以关闭该循环,正确设置每个自引用,并且仍然让每个本地化页面请求被其英文同级替换.
跨语言规范要求 Google 将本地化的 URL 合并到原版
规范标签是一次合并请求:将此 URL 视为该版本的变体,并索引该版本。 hreflang 注释是一次路由声明:此 URL 是该语言的版本。 将它们指向不同的 URL,站点就发出了一个无效自身声明的请求——簇中的法语槽位被一页自我否认的页面填充. Google 已明确表示 hreflang 只是提示而非指令,规范化的工作方式相同:站点提供信号,Google 进行解析。 这种解析就是整个问题. 对于自规范化的本地化页面,发布者决定哪个 URL 为法语搜索者服务。 对于跨语言规范,发布者已将决策交给它,同时认为簇已配置——随后报告的结果是本地化页面在其自身市场中排名无处,而英文页面则占据其位置. 产生这些的生成器是普通的. 一个基于路由定义而非请求路径的规范助手,为每个语言输出未加前缀的 URL。 一个 CMS,其 hreflang 设置按语言,但规范设置为全局,也会如此. 那么迁移添加了语言前缀到 URL 并将规范指向内容原始位置的做法. 在每种情况下,页面都能完美渲染,注释在 view-source 中看起来完整,且矛盾仅在 2 属性上.
数据集
| hreflang 自引用存在 | 主页自身的 hreflang 注释缺失 | 58% 的 88 评估;59% 的 34 网站 |
| 主页规范存在 | 主页根本没有声明任何规范 URL | 29% 的 49 网站 |
方法论:每个域名的最新完成审计快照,engine-v2 检查集,大约在 23 – August 31, 2026 期间,已匿名化。 分母因检查而异——34 到 49 网站——因为只有当输入存在时才会运行检查:自引用检查在没有任何 hreflang 注释的主页上不会给出裁决,这就是其站点计数较少的原因。 评估级别和站点级别的比率不同,因为某些域名在窗口内被审计多次。 样本是自选的——已运行审计的所有者——并倾向于中小型,因此请将比率视为该细分市场的方向性指标。 第二行是更安静的风险. 一个没有规范的页面并未与其 hreflang 注释相矛盾,但也未为注释辩护:页面中没有任何内容说明它认为哪个 URL 是权威的,因此一个可通过超过 1 个地址访问的语言变体完全由推断解决。* 正确聚类的前提是先进行规范卫生检查,这就是为什么我们的规范指南是hreflang 实施指南的前置条件,而不是其伴随文件.
矛盾仅在聚类的两端可见
单个页面无法报告自身的此类失败. /fr/pricing 内部一致——一个 hreflang 集合,一个规范,均格式良好。* 当你将注释与被注释页面并排查看时,缺陷才会出现,这就是为什么我们的审计会获取整个聚类而不是读取 1 文档.
每次运行都会解析主页的 hreflang 注释并从中获取最多 12 个同站点目标,若主页本身落在域外,则完全跳过此步骤,因为这些注释来自外部站点的 HTML。对于每个返回内容的目标,引擎记录状态码、请求是否重定向、是否存在 noindex 指令,以及目标自身的规范是否解析为注释所命名的 URL。* 该处的不匹配被记录为 canonical_mismatch 并导致高严重性检查失败——该检查是跨语言规范捕获。 URLs 与尾斜杠和大小写标准化后进行比较,因此 /fr/pricing 和 /FR/pricing/ 被视为同一页面,任何更细的差异都不被视为不同。
第二次检查将页面在其 lang 属性中声明的语言与其自身 hreflang 注释所声称的本地化进行比较,仅在审核中某个页面声明了 hreflang 时才进行。 如果网站在任何地方都没有自引用注释,则在审核中被视为单语,检查会报告这一点而不是通过。
当无法获取替代页面时,判定为不确定而非失败,报告会说明实际评估了多少声明的目标。 无法访问的替代页面是证据缺口,将其报告为缺陷相当于捏造缺陷。
Our own locale prefixes served English until August 17, 2026
这些检查存在是因为我们在 seoreport.dev 上未能通过此类缺陷. Ahrefs Site Audit 报告在我们自己的网站上有 184 个 URL 的 hreflang 与 HTML lang 不匹配。 该 lang 属性是症状;内容也是英文,在该 9 个本地化前缀上,这使每个本地化 URL 成为其英文双胞胎的重复——相同的结果是跨语言规范产生的,来自另一方向的到达。
原因是1函数边界. 文档壳从一个返回默认语言的助手中获取其语言,当 window 未定义时。 在服务器上,/fr/pricing 因此渲染了 lang="en" 并种子了英文翻译包,而发出头部链接的组件——它读取路径,而非运行时——发出了正确的 fr 自定义 hreflang,直接放在它旁边。 一个客户端效果在水化后切换了语言,因此每个基于浏览器的检查都通过了,没有人看到它. 爬虫不会运行该效果.
已在 August 17, 2026 修复:shell 从路径派生其语言,已本地化的布局在加载器中解析 locale bundle,使服务器渲染和水化共享它,并且支持的 locale 没有 bundle 时会抛出错误,而不是静默地在其前缀下提供英文. 文本方向也错误——阿拉伯语曾经在服务 ltr。
门是一个原始的HTML烟雾运行,没有JavaScript,因为浏览器检查对整个失败类是盲目的。 在生产环境中运行红色优先时,它报告了440在128本地化URL中的失败,每个页面在100%英语迁移. 在修复后的构建中:0在144URL中的失败. 引擎的语言与hreflang比较是单独构建的,第一站点它会失败的是我们的.
x-default 继承后备页面声明的任何内容
我们声明x-default的网站样本太小,无法发布失败率,而且我们不评分的第二个原因是:捕获的HTML证明了声明了x-default注释,而不是发布者打算服务的受众。 该正确性问题无法从文档中决定,因此检查报告它能做的以及相邻事实——URL形状、目标健康、相互注释、规范对齐——都独立评估相同的目标。
机制所暗示的内容值得一提. x-default 是搜索者的后备,当站点不提供其语言时,它通常指向主市场页面。 如果该页面携带跨语言规范,所有未匹配搜索者的后备都会继承矛盾,审计将通过目标健康检查报告,而不是通过x-default本身。
在原始HTML中按语言验证,双向
像爬虫一样获取页面并读取3内容:
curl -s -A "Googlebot" https://example.com/fr/pricing | grep -iE '<html|rel="canonical"|hreflang'
lang属性、自引用的hreflang条目和规范必须在 1 个语言和 1 个URL上保持一致:
<!-- On https://example.com/fr/pricing --><html lang="fr"><link rel="canonical" href="https://example.com/fr/pricing" /><link rel="alternate" hreflang="en" href="https://example.com/pricing" /><link rel="alternate" hreflang="fr" href="https://example.com/fr/pricing" /><link rel="alternate" hreflang="x-default" href="https://example.com/pricing" />
然后在每个语言的 1 个页面上重复,并获取每个URL注释所命名的注释以确认每个都规范化为自身。 规则足够简短,便于交给开发者:每个 hreflang 集群的成员都规范化为自身. 跨语言规范在恰好 1 种情况下是正确的——当本地化的URL根本未本地化且使用与原始相同的语言——在这种情况下,URL也不属于该集群。 Search Console 的 URL 检查提供了关于哪个规范 Google 实际选择的权威第二意见,按 URL。我们的审计在每个报告上循环遍历集群,免费报告 列出了每个相互矛盾的对及其发现页面。 9 语言前缀在 seoreport.dev 现在通过了,并且它们通过是因为我们首先在一个整个产品都在发现它的站点上发布了缺陷.
查看您的网站排名
获取一份免费的 AI 驱动的 SEO 报告,包含可操作的发现和优先修复建议,帮助提升您的网站。
不需要注册。.