博客

什么是 hreflang:包含错误示例的完整指南

在本文中: 什么是 hreflang,为什么需要它,如何为不同的 URL 结构正确编写属性,常见错误以及如何检查它们。
没有 hreflang 的多语言网站是一个让 Google 自己决定向每个受众显示哪个版本的网站。Google 经常出错,最终搜索结果中只会显示一个页面。正确配置的 hreflang 消除了这种不确定性。
这是因为如果不同语言的页面包含相同的内容,Google 只会将其视为重复内容,并在搜索结果中只显示其中一个。hreflang 元标签允许您为每个页面指定语言和地区,确保用户看到正确的版本。

什么是 hreflang 以及为什么需要它

hreflang 是一个 HTML 属性,它告诉 Google 哪些页面是彼此的翻译,以及每个版本的目标语言和地区。
没有 hreflang,Google 可能会:
  • 向德国用户显示俄语版本
  • 将翻译视为重复内容
  • 不在相应的区域搜索结果中显示语言版本
通过 hreflang,Google 知道:这是德国的德语页面,这是法国的法语页面,这是其他所有地区的英语页面。它允许您为同一种语言但不同地区设置不同版本。您还可以为一个国家指定多种语言,例如,加拿大的英语和法语(en-CA 和 fr-CA)。这对于正确的本地化至关重要:例如,在加拿大,即使是法语页面,价格也将以加元显示,而在法国则以欧元显示。这种区分对于向用户正确显示内容至关重要。

hreflang 的外观

属性添加到每个页面的 <head> 部分:
<link rel="alternate" hreflang="en" href="https://mysite.com/en/about/" />
<link rel="alternate" hreflang="de" href="https://mysite.com/de/about/" />
关键部分:
  • rel="alternate" — 表示这是一个替代版本
  • hreflang="ru" — 语言代码,根据 ISO 639-1
  • href — 版本的完整URL(包括协议和域名)
  • hreflang="x-default" — 默认版本,如果没有其他版本匹配

语言和地区代码

属性格式:语言或语言-国家。
仅语言:hreflang="en" — 适用于所有讲英语的用户,无论国家如何。
语言 + 国家:hreflang="en-US" — 适用于美国的英语,hreflang="en-GB" — 适用于英国。
何时使用国家:如果您的同一语言在不同国家有不同的内容。例如,美国以美元计价和英国以英镑计价的价格是不同的版本和不同的 hreflang。
如果内容对所有语言使用者都相同,则只需语言代码而无需国家代码。

互惠:最常被违反的规则

每个页面都必须包含指向所有语言版本(包括其自身)的 hreflang。这是一条关键规则:如果您有三种语言,则每种语言的每个页面都必须链接到所有三个版本。这创建了一个封闭的生态系统,允许 Google 查看所有变体并理解它们之间的相互关系。
正确:俄语页面上有指向德语、英语和其自身的链接。德语页面上有指向俄语、英语和其自身的链接。英语页面上有指向俄语、德语和其自身的链接。
不正确:俄语和德语页面有指向英语页面的链接,但英语页面没有反向链接。Google 认为这种实现不正确,可能会忽略。
<!-- 正确的 hreflang 集合示例 -->
<link rel="alternate" hreflang="de" href="https://mysite.com/de/about/" />
<link rel="alternate" hreflang="ru" href="https://mysite.com/ru/about/" />
<link rel="alternate" hreflang="en" href="https://mysite.com/en/about/" />
<link rel="alternate" hreflang="x-default" href="https://mysite.com/en/about/" />

x-default: 其他版本的默认

hreflang="x-default" 是一个特殊值,用于当没有其他版本适合用户时显示的页面。通常这是网站主要语言的版本(通常是俄语或英语)。
如果您的网站有俄语和哈萨克语版本,但没有英语版本,x-default 可以指向其中一个版本——或者根本不使用。这不是一个强制属性,但 Google 推荐使用。

实现方式

除了 <head> 中的标签,hreflang 还可以通过以下方式指定:
通过 HTTP 标头。 对于 PDF 和其他非 HTML 资源,这是唯一的选择。
通过站点地图。 不是在每个页面上添加属性,而是一个站点地图,其中为每个链接添加了该页面在其他语言中的版本。这对于大型网站很方便。
这三种方式对于 Google 来说是等效的——选择最容易维护的方式。顺便说一句,Multify 会自动将所需的元标签添加到页面的 HTML 代码和站点地图中。
不想手动编写 hreflang 吗?
Multify 在添加任何语言时,会自动为所有页面生成 hreflang。
尝试免费演示 →

常见错误

根据 Ahrefs 研究数据 (374,756 个域名),67% 使用 hreflang 的网站至少有一个实施错误。

错误 1:没有相互链接

这是最常见的错误。请检查:每个版本的每个页面是否都包含指向所有其他版本的 hreflang?如果没有,搜索引擎可能会错误地解释您的网站结构。

错误 2:URL 不正确

hreflang 需要带协议的绝对 URL:https://mysite.com/en/about/,而不是 /en/about/。相对路径不起作用。
一致性也很重要:如果规范 URL 以斜杠结尾(/about/),那么 hreflang 也应该有斜杠。如果没有,则没有。

错误 3:不存在的版本

hreflang 中指定的链接指向不存在的页面。例如,并非所有商品都已翻译,但所有商品都已设置属性。Google 将检测到 404 并注意到不一致。
如果某个页面没有翻译,请不要将 hreflang 指向不存在的版本。最好根本不指定,而不是错误地指定。

错误 4:同一页面上的重复

同一页面上具有相同 hreflang 的两个属性。这可能发生在手动维护标记或插件冲突时。Google 会选择第一个,忽略第二个。

错误 5:错误的语言代码

hreflang="kk" 是哈萨克语的正确代码(根据 ISO 639-1 列表)。不能使用 kz,因为它是地区代码,而不是语言代码。亚美尼亚语也类似:hy 是正确的语言代码,而 am 是地区代码。请记住,hreflang 需要的是语言代码,而不是像 ru-RU 这样可能令人困惑的格式。

错误 6:301 重定向上的 hreflang

如果带有 hreflang 的页面重定向到另一个页面,Google 会遵循重定向并丢失属性。hreflang 应该在最终页面上,而不是中间页面上。

如何检查

Hreflang 测试工具。显示错误:属性不正确的页面,缺少反向链接。一个很好的工具,但缺点是需要手动上传页面。
Screaming Frog 或 Ahrefs。 扫描整个网站。Screaming Frog 免费扫描多达 500 个 URL,并显示所有 hreflang 属性,并检查互惠性。
除了检查工具,重要的是要了解技术 SEO 需要一个综合的方法。hreflang 优化只是设置多语言网站结构工作的一部分。

hreflang 和 Tilda

Tilda 不会自动添加 hreflang。选项实际上是有限的:
通过 HTML 块手动添加。 在代码块中添加 <link> 标签。当网站结构发生变化时,手动更新。不适用于动态目录页面或博客。对于小型网站来说,这是可以接受的。
通过 Multify。 代理会自动为所有语言版本的所有页面生成 hreflang,包括产品页面和博客文章。添加语言后,属性会立即出现在所有位置。互惠性会自动遵守。
在一个有 50 个页面和 3 种语言的网站上手动维护 hreflang,这意味着 150 组属性。每次添加页面或语言都需要更新所有版本。这是自动化完全解决的问题。
无需手动操作即可添加 hreflang
尝试使用 Multify,在网站发生任何更改时自动生成 hreflang。
提交申请 →
2026-04-14 01:35