Command Palette

Search for a command to run...

12 个常见的 Hreflang 错误以及如何修复它们

12 个常见的 Hreflang 错误以及如何修复它们

T
Toolz Team
|Aug 23, 2026|12 最小读数

搜索引擎优化工具 合集的一部分

Hreflang 有一个属性,它使得调试变得独特烦人:每个故障模式都会产生看起来正确的标记,没有控制台错误,浏览器中没有红色徽章,没有构建失败的标签渲染,页面验证为 HTML,注释什么也没做。几周后,您会从搜索控制台报告或另一个国家/地区的人告诉您他们弄错了页面。

我现在已经调试了足够多的这些,可以有一个列表。这就是那个列表,大致按照我找到每个列表的频率排序,其中包含您将观察到的症状和修复情况。它位于下面 完整的 hreflang 指南 沿着碎片 x-默认值hreflang 与规范

TL;博士: 最常见的 hreflang 错误是缺少返回标签、非 ISO 代码等 en-UK、相对 URL、跨语言指向的规范、缺失 x-default、以及混合相同网址的实现方法,它们都沉默了:标记渲染,什么也不做搜索控制台's国际目标报告大规模捕获返回标签和未知代码错误;其余的需要抓取或查看渲染的HTML hreflang 标签生成器 在部署之前验证代码、URL、重复项和缺失的后备功能。

1。缺少返回标签

症状: Search 控制台报告"没有返回标签"语言版本不会换入合适的市场,整个集合的行为就好像hreflang不存在一样。

原因: A页声明B页为备选,但B页不声明A页,谷歌要求双方确认关系,并丢弃未往复的注释。

修复: Group中每个页面上放完整、相同的注释集,包括一个自指条目,不要试图巧妙地知道哪个页面需要哪个条目,英文页面列出了英文、法文、德文、x-default;法文页面也是如此;德文页面也随处可见相同的块。

从很大程度上来说,这是最常见的失败,而且几乎总是由每页的手动编辑或渲染 " 其他语言"的模板引起的。而不是"所有语言"。

2、使用非ISO区域代码

症状: Search Console 报告 "未知语言代码 ",或者在注释被悄悄忽略时完全没有。

原因: en-UK 领先领域。 UK 不是 ISO 3166-1 alpha-2 代码;英国是 GB。发明了区域代码,例如 en-EUes-LATAM 是同一类错误,也是如此 en-uk 错误的外壳与已经无效的区域配对。

修复: 语言来自 ISO 639-1、ISO 3166-1 alpha-2 的区域,用连字符连接起来,对于拉丁美洲,有效的答案是 UN M49 代码 es-419。对于中文, 喜欢脚本子标签: zh-Hantzh-Hans

为什么
en-UK en-GB UK 不是 ISO 3166-1 代码
en-EU 每个国家或平原都有单独的条目 en 欧盟不是国家代码
es-LATAM es-419 UN M49 拉丁美洲地区代码
zh-CH zh-Hanszh-CN CH 是瑞士
CA en-CAfr-CA 仅区域无效

3、仅限区域的注释

症状: 没什么事发生,注释完全被忽略。

原因: 尝试在不命名语言的情况下瞄准一个国家,例如 hreflang="US"hreflang="CA"。Hreflang是语言优先的设计;该区域是语言的可选缩小,而不是其本身的目标。

修复: Name the language。如果你用两种语言为加拿大服务, 那就是两个条目: en-CAfr-CA

4、相对网址

症状: 注释被忽略。经常伴有 "这在我的机器上有效"因为相对 URL 在浏览器中可以很好地解决问题。

原因: href="/fr/pricing" 代替 href="https://example.com/fr/pricing".Hreflang 需要完全合格的绝对 URL,包括协议和主机。

修复: Emit 绝对 URL,如果您是在模板中构建它们,则从配置的站点源而不是硬编码字符串构建它们,因此暂存部署不会发布生产 URL,反之亦然。

5。跨语言指向的规范

症状: 整个语言版本从索引中消失。Hreflang 显示正确且没有效果。

原因: 法语页面声明英语页面为其规范,那指示谷歌放弃法语URL,而一个已经规范化掉的URL无论hreflang说什么都不能提供给任何人,规范是更强的信号,它获胜。

修复: 每一页都自我规范化,Hreflang 描述了那些自我规范页面之间的关系,这个值得自己阅读: hreflang 与规范 通过包括参数化 URL 在内的组合进行工作。

6。无x默认

症状: 来自您不以明显随机语言版本为目标的国家/地区的访客。

原因: No fallback声明,所以谷歌选择。它的选择是基于你看不到的相似性信号,这就是荷兰访问者最终出现在德国页面上的方式。

修复: 添加一个 x-default 每组条目,指向语言选择器或您的主要国际版本。 x-默认指南 涵盖了指向何处以及使其无用的错误。

7、混合实施方式

症状: 间歇性、难以再现的行为。有些页面交换正确,而另一些则不正确。

原因: HTML <link> 标签和 XML 网站地图 xhtml:link entries 都声明 hreflang 相同的 URL。每个都是单独有效的。它们一起是两个真理的来源,漂移,当他们不同意时,你就无法知道谷歌使用了哪一个。

修复: URL 集选择一种方法。大多数站点的 HTML 标签,当您有许多本地并想要精简页面头时,站点地图条目,PDF 等非 HTML 文件的 HTTP 标头。然后删除另一个而不是将其留作备份。

8。尾随斜杠和协议不匹配

症状: 即使两个页面都带有注释,返回标签也会失败。

原因: 注释指向 https://example.com/fr 而可索引 URL 是 https://example.com/fr/.或者它指向 http:// HTTPS站点上。这些是不同的URL,因此真实页面上的返回标签与另一个页面命名的URL不匹配。

修复: Url 的确切规范形式,你会在站点地图中放入相同的字符串。从你的规范标签使用的同一个 URL 构建器生成 hreflang,所以两者不能不同意。

9。指向重定向或404s

症状: 部分或退化的行为;受影响对上的搜索控制台错误。

原因: Locale 退役,现在重定向它的 URL,或者在命名它的注释停留时删除翻译页面,重定向目标仍然解析,所以它不是致命的,但它添加了一个跳,最终 URL 上的返回标签可能与被命名的 URL 404 目标直接毒害了这对。

修复: 爬取您自己的 hreflang 目标并检查状态代码。这是无人运行的检查,它是在编写时发现正确的集合中腐烂的检查。

10。注释无指纹页

症状: 该集的行为不一致;有些替代品从未出现。

原因: 携带时,页面被宣传为语言替代品 noindex.你已经告诉谷歌,既要把这个网址提供给市场,又要把它排除在指数之外,矛盾的解决是赞成 noindex

修复: 删除注释或删除注释 noindex.分期剩菜和未翻译的占位页是通常的罪魁祸首。

11、在机器人中阻挡hreflang目标txt

症状: 替代方案永远不会得到确认。搜索控制台显示明显带有返回标签的页面的返回标签错误。

原因: Robots。txt中禁止目标,所以谷歌机器人无法获取,也看不到返回标签,你那边的注释没问题;另一边的确认是无法到达的。

修复: 允许在 hreflang 注释中抓取您命名的每个 URL。如果某个部分不应该被抓取,那么它也不应该被抓取在 hreflang 集中。 robots.txt 生成器 对于审核当前规则块非常有用,该规则块通常比预期的要广泛。

12、一套内重复代码

症状: Unpredictable。Google 可能会拿走第一个、最后一个,或者丢弃这对。

原因: 2个具有相同hreflang值的条目指向不同的网址,通常是因为两个系统都发出注释,或者是因为一个区域设置地图有一个重复的键。两个 x-default 条目最常见的形式也是同样的问题。

修复: 每组每个代码一个条目。查看渲染的源而不是模板;仅从模板中看不到添加第二个块的插件。 免费 hreflang 生成器 标记您构建的集合中的重复代码,尽管它看不到页面还会发出什么。

您如何系统地发现这些错误?

3次传球,按这个顺序,因为每一次都抓住不同的级别。

首先是搜索控制台。 International Targeting 报告涵盖了整个属性,并发现了两个缩放错误:缺少返回标签和未知语言代码。它落后于您的部署,无论完全重绘需要多长时间,因此请将一周不变视为正常情况。

爬行秒。 任何提取 hreflang 的爬虫都会给你每个 URL 的集合。按集群分组并比较计数:一个页面有五个一组中的四个条目就是错误。然后检查每个目标的状态代码,即发现错误 8、9、10 和 11 的通过。

最后渲染 HTML,适用于行为不端的特定页面。 curl 它,计算注释块,计算 x-default entries,并将 URL 与规范逐个字符进行比较,这就是重复和尾部斜杠不匹配出现的地方,并且它是唯一看到在运行时注入什么插件的通行证。

Generator 值得在其中任何一个之前运行,因为在你写入它的时候验证集合,在错误 2,3,4,6,12 能够发货之前就去除了它们。任何工具都无法强制执行的是互惠,因为那是除了你前面的页面之外的页面的属性。为此,纪律是结构性的:一个区域设置地图,一个渲染器,每个页面上的完整块。 下一个。js文字出版社 指南显示了代码中的外观。

常见问题

最常见的 hreflang 错误是什么?

Missing return标签,A页将B页命名为备选但B页没有命名A页,因此Google放弃了关系,修复方法是将完全相同的注释集,包括一个自指条目,放在组中的每个页面上。

为什么 Search Console 说我的 hreflang 没有返回标签?

为你指向的页面没有用匹配的注释指向后方,或者指向略有不同的URL,尾随斜杠、协议差异以及www与非www都算作不同的URL。

En-UK 是有效的 hreflang 代码吗?

不。 UK 不是 ISO 3166-1 alpha-2 代码。英国的正确代码是 GB故值为 en-GBen-UK 被默默地忽略。

hreflang URL 可以是相对的吗?

No。Hreflang要求包括协议和主机在内的完全限定的绝对URL。相对URL即使在浏览器中正常解析,也会被忽略。

规范标签是否覆盖 hreflang?

效是。如果一个页面将规范化为不同的语言版本,则该 URL 从索引中删除,hreflang 无法将其带回。每个页面都必须对自己进行规范化。

hreflang 修复需要多长时间才能出现?

Days to weeks。google 必须在设置中重新绘制每个页面才能确认返回标签,而搜索控制台则报告同一时间表的更新。

我可以使用 HTML 标签和站点地图 hreflang 吗?

Ke,但不能,相同网址的两个来源相去甚远,不同意时也没法说出是用哪一个,每个网址集选一个方法。

hreflang 目标需要可爬行吗?

是。txt或标记为noindex的机器人中阻止了目标,谷歌无法确认返回标签,即使你的标记是正确的,注释也失败了。


Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!