没有 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 代码和站点地图中。
常见错误
根据 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 组属性。每次添加页面或语言都需要更新所有版本。这是自动化完全解决的问题。
