网站翻译

如何正确使用和使用 Hreflang 和 Canonical 标记:完整指南

如何正确使用和使用 Hreflang 和 Canonical 标记:完整指南
更新于
2025年2月27日
2025年5月27日

由于用途相似,hreflang标签与canonical(规范)标签经常被混淆。毕竟,两者都旨在向谷歌和其他搜索引擎指明:应为特定搜索者索引并展示哪个网页。

不过,再仔细看看,你就会发现这些标签:

  • 具有不同的功能
  • 不一样,而且
  • 如果要达到某个目标,则不应交替使用。

最后一点尤为重要。因为如果你不清楚自己在做什么,在应该使用 hreflang 标签的情况下给网页添加了一个规范标签,或者反之亦然,那么搜索引擎就可能无法向搜索者提供正确版本的网页。

结果如何?你的搜索者看到的不是你精心为他们创建的网页,而是其他转化潜力较低的网页--这可能会导致你损失流量、销售额和收入。

让我们来看看 hreflang 标签和 canonical 标签之间的区别、在网站上正确实施这两种标签的最佳做法,以及在此过程中需要避免的一些常见错误。

Hreflang 和 Canonical 标签:二者有什么区别?

Hreflang 标签

Hreflang 标签是向搜索引擎爬虫提示网页语言及其目标地理位置的代码段。下面是一个 hreflang 标签的示例:

<link rel=“alternate” hreflang=“en-gb” href=“https://www.example.com/gb/” />

‍“

在本例中,hreflang 标签告诉搜索引擎,网页 "https://www.example.com/gb/"使用的是 ISO 639-1 语言代码 "en "中的英语,是为英国地区的搜索者准备的,使用的是 ISO 3166-1 地区代码 "gb"。

Hreflang 标签对国际网站尤为重要,因为这些网站的网页已针对不同的地域市场进行了本地化。这是因为它们可以帮助搜索引擎向来自不同国家的搜索者提供相应语言和地区版本的网页。

例如,一家在德国、法国、瑞士和意大利都有业务的零售商可能有六个不同的地域受众:

  1. 来自德国德语 用户。
  2. 来自瑞士德语 用户。
  3. 来自法国法语 用户。
  4. 来自瑞士法语 用户。
  5. 来自瑞士意大利语 用户。
  6. 来自意大利意大利语 用户。

这家零售商会首先在其网站上为每个网页创建六个不同的版本,以针对不同的地域受众。随后,在每个这样的页面变体上,该零售商都需要实施hreflang属性,以告知搜索引擎:

  • 该网页有六个不同的版本、
  • 这些页面变体不应被视为重复内容(即使其内容高度相似),以及
  • 应向来自某个国家的访客提供哪个页面变体。

此外,请记住hreflang 标签是信号而不是指令。换句话说,它们向搜索引擎指明了应该如何向国际搜索者提供网页。不过,搜索引擎可以在其认为合适的情况下选择以不同的方式为网页提供服务。

查看我们的hreflang 标签最佳实践综合指南,进一步了解 hreflang 标签的工作原理以及如何在您的网站上实施这些标签。

规范标签

与 hreflang 标签一样,规范标签也是向搜索引擎爬虫提供信号(而非指令)的代码片段。不过,它们的作用是告知搜索引擎:

  • 哪个 URL 被视为网页的 "正式 "版本,以及
  • 因此,他们应该在搜索中对该 URL 进行索引和排名。

当您有以下情况时,Canonical 标记非常有用:

  • 特定网页的 URL 变体,如 "http://example.com "与 "https://example.com"。
  • 在 URL 中加入参数,表示网页内容的细微变化,如 "http://example.com/products "与 "https://example.com/products?category=suitcases"。
  • 当同一内容出现在您网站的不同网页或完全不同的网站上,而您希望搜索引擎将您网站上的某个特定网页视为该内容的官方版本时,需要采取措施进行标识。

‍“

典型标记是这样显示的

<link rel="canonical" href="https://www.example.com/" />

canonical 标签和 hreflang 标签都能帮助网站所有者避免重复内容问题,因为重复内容会导致某些网页无法在搜索引擎中获得排名。不过,hreflang 标签提供了更具体的说明,告诉搜索者使用特定的语言和区域设置向哪个网页提供服务。另一方面,canonical 标签只告诉搜索引擎,在搜索中要从内容相似的多个页面中选择哪个页面。

假设我们有一个网址为 "https://example.com/gb "的主页,其内容与另外两个网址分别为 "https://example.com/gb1 "和 "https://example.com "的网页内容基本相似。

在这种情况下

  • 规范标签的基本含义是 "页面'https://example.com/gb'是'https://example.com/gb'主页的官方版本。在搜索中排名'https://example.com/gb',而不是'https://example.com/gb1'",而
  • hreflang 标签会写道:"页面'https://example.com/gb'是页面'https://example.com'的官方版本,适用于来自英国的英语搜索者。对于来自英国的英语搜索者来说,排名'https://example.com/gb'"。

‍“

使用 Canonical 标签如何改善搜索引擎优化 (SEO)?

如果你经营的不是国际网站,那么你可以不使用 hreflang 属性。不过,你还是应该考虑使用规范标签,这样可以通过这些方式更好地优化网站的有机流量:

  • 指定哪个网页将出现在搜索引擎结果页面(SERP)中:如果想让搜索者访问某个网页,而不是内容相似的另一个网页,则使用规范标签指定前一个网页为搜索引擎应发送给搜索者的网页的 "正式 "版本。
  • 将链接信号整合到你选择的网页上:与此同时,内容相似的网页可能会从其他网站获得反向链接。使用 canonical 标签,你可以将这些重复网页获得的链接权益整合到你的首选网页上。即使其他网站没有直接链接到你的首选网页,这也有助于提高该网页的声誉(也可能提高其排名)。

使用 Canonical 标签时的最佳实践

不要在有指向其他网页的 Canonical 标记的网页上添加 Hreflang 注释

这是因为你有可能在搜索引擎应该索引和排名哪些网页的问题上造成混淆

想象一下,你有A和B两个网页。当您在网页 A 上添加指向网页 B 的规范标签时,你就是在告诉搜索引擎,它们应该索引和排名网页 B,而不是网页 A。

但是,如果你还在网页 A 上添加了 hreflang 标签,那么你就是在向搜索引擎发出信号,让它们也对网页 A 进行索引和排名。

面对这种相互冲突的信号,搜索引擎可能会忽略你的 hreflang 和 canonical 标记,自行决定如何对网页 A 和网页 B 进行排名。

因此,如果你要为带有规范标签的网页添加 hreflang 标签,那么请确保规范标签指向的是同一网页的 URL,而不是不同网页的 URL。

将内容同步到其他网站时使用 Canonical 标签

如上所述,规范标签不仅可用于指向属于自己网站的 URL,也可用于指向其他网站的 URL。

当你的内容同时发布在你的博客和内容联合合作伙伴的网站上,而后者往往拥有更高的搜索排名时,此方法非常有用。如果你希望搜索引擎展示你博客上的内容版本,而非其他网站上的版本,那么您需要:

  1. 在博客上为该内容页面添加一个规范标签,该标签指向同一内容页面的 URL,并且
  2. 要求你的内容联合合作伙伴在其内容页面上添加一个规范标签,同时指向你博客上内容页面的 URL。

为什么正确使用 Hreflang 和 Canonical 标记很重要?

不正确使用 hreflang 和 canonical 标记会导致以下问题:

  • Google Search Console“您的网站没有 hreflang 标签”错误:这意味着 Google 无法在您的网站上找到 hreflang 标签,即使您可能已经努力添加了这些标签。(以下是 修复“您的网站没有 hreflang 标签”错误的方法。
  • 搜索引擎向错误的搜索者提供错误的网页:如果搜索者被引导访问未经用户体验优化的网页,可能会导致你损失流量甚至收入。
  • 在 SERP 中出现重复内容:如果重复内容的页面来自于你的网站,这可能会导致多个页面的链接资产被稀释。或者,如果重复内容出现在你的网站之外的其他网站上,你可能会完全失去这些链接权益。

如果您使用像Weglot 这样的优质网站本地化解决方案来进行多语言搜索引擎优化,它可以自动为您的网站添加 hreflang 标签,并确保 100% 准确地执行 hreflang。同时,Yoast SEO 等网站插件具有内置功能,可为网站上的每个页面大规模添加规范标签。

实施 Canonical 和 Hreflang 标记时应避免的常见错误

虽然也可以手动添加 canonical 和 hreflang 标记,但你有可能会用错。请注意不要犯以下错误:

1.将 Hreflang 标签和 Canonical 标签合并为一个链接标签

换句话说,链接标签的格式如下:

<link rel=“canonical” rel=“alternate” hreflang=“en-gb” href=“https://www.example.com/gb/” />

这根本行不通。将 canonical 属性和 hreflang 属性合并到一个链接标记中似乎是一件合乎常理的事情,但这会给你的代码带来问题。

相反,canonical 和 hreflang 标记需要放在单独的链接标记中。

2.将全局页面 URL 设置为规范 URL

如果一个页面有不同语言和地区的替代版本,那么每个页面变体都需要自己的规范标签

例如,您可以将 "https://www.example.com/"作为您的全局页面,而URL为 "https://www.example.com/gb/"的页面变体则面向来自英国的英语访问者。

在这里,"https://www.example.com/gb/"页面的规范标签应指向 "https://www.example.com/gb/",而不是 "https://www.example.com/"。

如果使用 "https://www.example.com/"作为 "https://www.example.com/gb/"的规范 URL,则表示 "https://www.example.com/"是全球页面的正式版本。因此,搜索引擎可能会错误地始终向搜索者提供 "https://www.example.com/",即使搜索者来自英国。

3.使用 rel="canonical" 作为网页的自引用项

在网页上使用 hreflang 标签时,需要让一个 hreflang 标签指向当前网页的 URL。这就是所谓的 "自引用"。

例如,URL 为 "https://www.example.com/gb/"的网页可能包含以下两个 hreflang 标记:

<link rel=“alternate” hreflang=“en-gb” href=“https://www.example.com/gb/” />
<link rel=“alternate” hreflang=“en-us” href=“https://www.example.com/us/” />

‍“

在这种情况下,1 号 Hreflang 标签就是自引用条目。rel 属性的值必须是 "alternate",不能替换为 "canonical"。这样做也会导致代码错误。

Hreflang 和 Canonical 标签携手引导搜索者访问正确的网页

关于 hreflang 和规范标签,我们已经讨论了很多。我们来总结一下:

Hreflang 和 canonical 标签是搜索引擎索引和排名网页的信号,而不是指令。使用 hreflang 标签可指明哪些网页应提供给具有特定语言和区域设置的搜索者。另外,要指明网页的 "官方 "版本,也可以使用规范标签。

使用 hreflang 和 canonical 标记似乎令人生畏,因为在实施过程中可能会出现很多问题。不过,有一些工具可以让实施过程变得轻松无误。特别是,如果你正在制作多语种网站,Weglot 不仅能高精度地翻译网站内容,还能为你的网站提供其他功能。

它还能自动为网页添加相应的 hreflang 标签,确保在为访客创造最佳网站体验的同时准确实施。

从这里开始免费试用Weglot 14 天。

方向图标
探索 Weglot

 110,000 多个品牌都在用 Weglot 翻译自己的网站,赶紧加入吧!

用AI即时翻译你的网站,再通过人工编辑进行优化,几分钟内就能上线。

这篇文章里,我们会聊聊:
火箭图标

准备好开始了吗?

要Weglot 强大功能Weglot 最好的方式Weglot 亲自体验。立即免费试用,无需任何承诺。

若您尚未准备好连接自己的网站,控制面板中已提供演示网站。

你可能也会喜欢这些文章

没有找到任何内容。
常见问题图标

常见问题

没有找到任何内容。

蓝色箭头

蓝色箭头

蓝色箭头