当前位置: 首页 > news >正文

Hreflang:初学者简易指南

Hreflang:初学者简易指南。如果您的网站有多种语言的内容,那么您必须理解并使用Hreflang属性。在这篇文章中,我们将涵盖从基本概念到实现,再到常见问题的故障排除的所有内容。

Hreflang是一个简单的HTML属性,但是掌握它可能很有挑战性。

b谷歌的约翰·穆勒将搜索引擎优化描述为“搜索引擎优化中最复杂的方面之一”,因为它“很快就会变得非常困难”。

tbhflang是SEO中最复杂的一个方面(如果不是最复杂的一个)。感觉像元标签一样简单,但很快就会变得很难。-??约翰??(@约翰mu) 2018年2月19日

但不要因此而放弃。Hreflang理解起来并不复杂,您可以在很大程度上自动化它。(我们将在后面讨论这个问题。)

以下是你将在本指南中学到的一切:

hreflang属性是什么

为什么房源对SEO很重要

他是什么样子的

如何构建一个hreflang标签

如何实现hreflang

如何实现半自动化

如何发现和解决这些问题

谷歌可能会忽略的问题

为什么要小心重定向用户

技术SEO新手?看看我们的技术SEO初学者指南

什么是hreflang?

Hreflang是一个HTML属性,用于指定网页的语言和地理目标。如果同一页面有不同语言的多个版本,可以使用hreflang标记告诉谷歌等搜索引擎这些变体。这有助于他们为用户提供正确的版本。

例如,如果我们在美国谷歌“apple官方网站”,这是第一个结果:

如果我们在西班牙做同样的事情,我们会看到这个版本的页面:

Hreflang让这一切成为可能。

为什么房源对SEO很重要?

如果您花费时间将内容翻译成多种语言,那么您将希望搜索引擎向用户显示最合适的版本。

谷歌和Yandex都使用了hreflang标签来帮助实现这一点。

必应说,hreflang对他们来说是一个微弱的信号,他们主要依靠内容语言的HTML属性、链接和访问你网站的人来辨别语言。但是,他们仍然建议您在他们的官方文档中使用它。

旁注。百度不查看标签。它们依赖于内容语言HTML属性。

迎合搜索引擎用户的母语也改善了他们的体验。这通常会导致更少的人点击离开你的页面并返回搜索结果(即,更长的停留时间),更低的跳出率,更长的页面停留时间,等等——所有其他好的东西,我们相信对SEO和排名有积极的影响。

但是正如b谷歌的Gary Illyes在这个视频中提到的,hreflang标签也可以对排名产生直接影响,因为hreflang集群中的页面会共享彼此的排名信号。最佳匹配的页面将决定排名位置,但与用户最相关的页面将显示在serp中。

https://www.youtube.com/watch?v=6ewntnqltI4&feature=youtu.be&t=335

这本身就应该是一个足够令人信服的理由,可以在适当的情况下实施flang。

不过,还有一个原因可以解释为什么hreflang属性很重要:重复的内容。

假设您的页面有两个版本:一个针对使用英式英语拼写的英国读者,另一个针对使用美式英语拼写的美国读者。这两个页面几乎完全相同,因此谷歌可能会将它们视为重复的内容,并选择其中一个版本进行索引。

Hreflang标签帮助谷歌理解这些页面之间的关系。他们会尝试在搜索结果中显示正确的版本,但不能保证。Hreflang标签是一个信号,而不是指令。在一个hreflang集群中本地化使用相同语言的页面的内容仍然是最佳实践。你可以通过本地化定价(例如,美元vs英镑)、语言变体(例如,美国vs英国的垃圾桶vs垃圾箱)等等来做到这一点。对于翻译后的页面,这不是一个问题,因为它们不会被谷歌视为重复。

hreflang标签是什么样子的?

Hreflang标签使用简单而一致的语法:

下面是代码中每一部分的意思:

link rel= “ alternate “:这个标签中的链接是这个页面的另一个版本。

hreflang= “ x “:它是可选的,因为它是在另一种语言中,而这种语言是x.

href= “ https://example.com/alternate-page “:可在此URL找到替代页面。

如何构建一个hreflang标签

构造hreflang标记非常简单,只需查找所选语言的代码并填充标记即可。Hreflang支持任何两个字母的ISO 639-1语言代码。(点击这里查看完整列表。)

例子:

假设我们想在我们关于免费关键字工具的博文的英文版中添加一个hreflang标签到德文版本。这是我们最终得到的hreflang标签:

我们所做的只是填写语言代码(de代表德国)和URL。

以区域设置为目标(可选)

虽然可以指定一种语言,但hreflang标签也支持添加地区或国家。这也是一个两个字母的代码,但这次是ISO 3166-1 alpha-2格式(完整列表)。只有当您希望针对特定地区的特定语言使用者时,才需要添加此选项。例如:

在英国说英语的人:

在美国说英语的人:

您可以看到这里的语法是:hreflang=“language-country”。

为什么需要同时指定两者

想象一下,你经营着一家电子商务商店,销售单一产品。你的商店向美国和英国发货,这两个国家都是英语国家。然而,美国客户想用美元购买,而英国客户想用英镑购买。

要解决这个问题,您需要创建两个版本的产品页面。一个以美元显示价格,另一个以英镑显示价格。

撇开价格不讲,这两个页面是相同的,所以您需要使用hreflang标签向搜索引擎表明为什么存在这两个版本。

有时候,你也需要用另一种方式来做事情:即,在同一个国家,目标是说多种语言的人。

例如,假设您有一篇关于加拿大廉价公路旅行的博客文章。加拿大有两种官方语言:英语和法语,分别有56.9%和21.3%的加拿大人说英语和法语,所以你可能会从这篇文章的两种变体中受益。

hreflang实现的基础知识

Hreflang标记的实现相当简单,我们将讨论实现这一目标的三种方法。但无论你选择哪种方法,有三条黄金法则是你必须时刻记住的。

规则1:Hreflang标签是双向的

理解hreflang标记成对工作是至关重要的。换句话说,如果向指向意大利语变体的英语页面添加hreflang标记,那么意大利语变体必须返回指向英语页面的hreflang标记。

这向搜索引擎证明,您可以控制两个页面,并且它们都同意彼此之间的关系。

这类似于在Facebook上设置关系状态。你可以很容易地宣称自己正在和詹妮弗·安妮斯顿或布拉德·皮特谈恋爱,但除非他们也这样做,否则没有人会相信你。

因此,当标签被破坏或关系尚未完全建立时,您可能会在搜索结果中看到错误的页面、多个页面或正确URL的错误标题。

规则2:自引用的属性是很好的实践

谷歌声明“每种语言版本必须列出自己以及所有其他语言版本。”用简单的英语来说,这意味着每个页面都应该有一个自我引用的hreflang标签。一个指向自己的方向。

因此,如果我们想在英文页面(https://example.com/hello)和意大利语页面(https://example.com/ciao)之间添加hreflang标签,每个页面都应该有以下hreflang标签:

第一个指定页面的备用意大利语版本的URL,第二个是指向页面本身的自引用标记。

意大利语页面也需要这两个hreflang标签。

旁注。b谷歌的John Mueller最近确实说过:“自我指涉是可选的,但却是很好的实践。”这与b谷歌在这个问题上的官方建议不一致。所以我们的建议是使用它们。

规则3:推荐使用X-default标签,但不是强制使用

hreflang x-default标记指定在没有其他合适的语言变体时显示给用户的默认或回退页面。您不必使用它们,但谷歌建议您使用它们。这是它的样子:

专业技巧

Hreflang标签在最佳匹配的基础上工作。换句话说,谷歌根据各种信号(如用户的国家和语言设置)返回它认为是最佳匹配的内容版本。

为了说明这是如何工作的,假设谷歌为位于西班牙的讲英语的用户返回结果。

谷歌首先查找语言-国家匹配(例如,en-es),如果存在,则返回该页面。

如果不匹配,则查找语言代码匹配(例如,en-us)。至关重要的是,国家代码并不重要。谷歌只是查找匹配的语言代码。

如果不存在,谷歌将退回到x-default版本。

如何实现hreflang标签

有三种方法可以实现hreflang属性:

HTML标记

HTTP头信息

站点地图

1. 使用HTML实现HTML标签

如果您是hreflang的新手,那么使用基本的HTML标记可能是最简单和最快的实现方法。你所需要做的就是在你的网页的标签中添加适当的hreflang标签(如上所述)。

例子:

我们最近推出了SEO研究院博客,支持多种语言,包括德语、俄语、中文和西班牙语。我们现在正在慢慢地把我们主博客上的文章的英文版本翻译成这些语言。其中一篇我们已经翻译成中文和德文的文章是我们列出的最好的免费关键词研究工具。

以下是所有三个变体的url:

英文:https://ahrefs.com/blog/free-keyword-research-tools/德文:https://ahrefs.com/blog/de/kostenlose-keyword-recherche-tools/中文:https://ahrefs.com/blog/zh/free-keyword-research-tools/

为了在这个设置中正确地实现hreflang标签,我们将在每个页面的部分添加以下代码:

这种方法的问题是,它很容易变得非常耗时和混乱。

举个例子,如果我们也要把我们的免费关键字研究工具列表翻译成西班牙语,那么我们就必须回去为该页面的所有其他变体添加另一个hreflang标签。

在一个页面上可以有多少个标签是没有限制的。

2. 实现HTTP报头

对于pdf等非HTML页面,不可能通过在HTML的中放置标记来实现hreflang。原因是,没有HTML。在这种情况下,您可以使用HTTP头来指定文档变体的相关语言。这种方法也适用于普通网页,但更常用于其他内容类型。

例子

想象一下,我们将我们的免费关键词研究工具的每个版本(英语,西班牙语,德语)转换为PDF。

下面是这些文件的HTTP头应该是什么样子:

HTTP/1.1 200 OK内容类型:application/pdf链接:;rel = “替代“;hreflang =“x-default”,< https://ahrefs.com/blog/free-keyword-research-tools.pdf >;rel = “替代“;hreflang =“en”,< https://ahrefs.com/blog/de/kostenlose-keyword-recherche-tools.pdf >;rel = “替代“;hreflang =“德”,< https://ahrefs.com/blog/zh/free-keyword-research-tools.pdf >;rel = “替代“;hreflang = zh型”

3. 在XML站点地图中实现映射

站点地图可以包含相关标记,以指定页面及其变体的样式。为此,可以使用xhtml:link属性。

例子

如果我们运行我们的原始示例(我们的免费关键字工具列表的三个HTML变体),那么这是我们站点地图的完整标记:

https://ahrefs.com/blog/free-keyword-research-tools/ https://ahrefs.com/blog/de/kostenlose-keyword-recherche-tools/ https://ahrefs.com/blog/zh/free-keyword-research-tools/

这看起来可能是实现hreflang属性的效率最低、最糟糕的方式,但事实往往恰恰相反。原因是,所有东西都是在一个文件中定义的。不需要在每次修改或删除页面时都编辑多个HTML文档。

更重要的是,额外的标题开销和HTML中添加的代码意味着大量的hreflang标签可能会影响您的站点速度,而通过站点地图实现则不会导致相同的减速。

旁注。无论如何实现Hreflang标记,都会在抓取时进行处理。将标签放在站点地图中并不意味着在站点地图更新时对它们进行处理。

如何实现半自动化

在本指南的早些时候,我展示了b谷歌的John Mueller的一条推文,他说hreflang属性是SEO中最复杂的部分。这里又是一个很好的措施:

tbhflang是SEO中最复杂的一个方面(如果不是最复杂的一个)。感觉像元标签一样简单,但很快就会变得很难。-??约翰??(@约翰mu) 2018年2月19日

他这样做的原因是,它“很快就会变得非常困难”。

这对于大型多语言网站来说绝对是正确的。然而,考虑到你在这里读的是一本有效的hreflang标签初学者指南,我猜你的网站不是一个拥有成千上万客户的跨国品牌,而是一个拥有一些多语言内容的中小型网站。

如果是这样的话,我有个好消息:

生成和实现hreflang标签可以在很大程度上自动化。

为此,复制谷歌Sheets模板,然后按照下面的说明操作。

1. 选择你的语言和地区

转到谷歌表单中的“Setup”选项卡。为您的网站选择默认语言(或语言区域设置),以及最多四种其他变体。

例如,如果我们要为SEO研究院博客设置这个表单,我们将指定英语为默认值,然后将西班牙语、德语、俄语和中文指定为四种可选变体。

2. 粘贴你的url

转到“url”选项卡。您应该看到多达五列,每一列都有一个标题单元格,对应于上一步中选择的语言。还有一个列用于“x-default”值。

酌情将url粘贴到工作表中。

例如,如果我们为SEO研究院博客这样做,我们将在第一列中粘贴所有英语帖子(我们的主要/默认语言)。然后,我们将相关翻译版本的url粘贴到其他列中。

对你网站上所有相关的国际页面都这样做。

3. 下载hreflang XML站点地图

转到“结果”选项卡,在那里您将找到XML站点地图的自动生成代码。

复制列a中的所有内容,将其粘贴到XML文档中。

将此上载到您的网站,然后通过搜索控制台提交到谷歌。

4. 在工作表中记录更改

每当你从你的网站上添加或删除一个翻译页面时,记录在这个谷歌表中。如果要删除一个页面,请删除该URL。如果你在你的网站上添加了一个新的翻译版本,把它添加到相应的栏目中。

工作表将动态地重新生成站点地图代码。您只需要将其复制/粘贴到您的站点地图中,以取代旧代码。

如何审核您的网站是否存在问题

无论您多么努力地掌握这些属性,总会出现一些错误。因此,定期审核你的网站是否存在问题,并尽快将其扼杀在萌芽状态是至关重要的。

最简单的方法就是定期使用SEO研究院网站审计工具抓取你的网站。

https://www.youtube.com/watch?v=LjinWqfGyVE

Site Audit是一个基于云的爬虫,可以检查你的网站上数百个与seo相关的问题,包括那些与hreflang相关的问题。

以下是Site Audit可能发现的九个与hreflang相关的问题,以及如何解决它们:

1. 缺少自引用注释

当一个或多个页面中没有自引用的hreflang标记时,会触发此警告。

为什么这是个问题

为了重申我们之前的观点,谷歌声明“每种语言版本必须像列出所有其他语言版本一样列出自己”,因此在向网页添加hreflang标记时,使用自引用的hreflang标记非常重要。

如何修复

检查受影响的页面,然后使用您选择的方法为每个页面添加一个自引用的hreflang标记。

2. Hreflang注释无效

当一个或多个url有带有无效语言或地区代码的hreflang标记时,会触发此警告。

为什么这是个问题

搜索引擎会忽略任何无效的hreflang标签,这意味着它们可能会忽略您页面的替代版本。这对搜索引擎优化是不利的,因为这意味着搜索引擎可能无法向用户显示最合适的页面版本。

如何修复

检查受影响的页面。检查“是有效的hreflang”列,查看每个页面的无效hreflang标签。删除这些标记,以支持使用有效语言或语言位置代码格式的hreflang标记。

3. 在hreflang中被一种以上语言引用的页面

当一个或多个url在hreflang注释中被引用为一种以上的语言时,会触发此警告。例如:

为什么这是个问题

每个内容应该只提供一种语言或语言位置。有两个或更多相互矛盾的引用会使搜索引擎感到困惑,它们最终可能会忽略这两个属性。

如何修复

检查受影响的页面,然后检查在其hreflang属性中引用该页面的url是否存在错误。删除不正确的hreflang属性,使每种语言只留下一个正确的属性。

4. 缺少对等的hreflang(没有返回标签)

当在hreflang注释中声明的页面缺少确认(返回)链接时,会触发此问题。

为什么这是个问题

Hreflang标签是双向的(即,如果页面A在Hreflang注释中链接到页面B,页面B也必须链接到页面A)。

如何修复

检查受影响的页面。在必要的地方添加双向标签。

这里有另一种方法来检查这个问题…

前往b谷歌搜索控制台的国际目标报告并选择“语言”选项卡。任何与丢失返回标签相关的问题都会被标记。

该报告还标记了使用不存在的语言或语言+国家代码的问题。

5. Hreflang to non-canonical

当一个或多个页面在其hreflang标记中引用非规范URL时,就会触发此问题。

为什么这是个问题

Rel= “ alternate “ hreflang= “ x “将指示搜索引擎显示页面的翻译(本地化)版本,而Rel= canonical属性将标记这不是权威(规范)版本。这两个属性相互矛盾,混淆了搜索引擎。

如何修复

检查受影响的页面。修改它们的hreflang注释,使它们只指向规范的url。或者,如果您发现一个页面带有非法规范标记,请将其从页面中删除,以确保hreflang属性被正确理解并被搜索引擎跟踪。

有同一种语言的多个版本的页面?

谷歌可能认为它们是重复的,并只选择一个URL作为规范。

例如,假设您有两个产品页面,一个针对美国(“en-us”),另一个针对英国(“en-gb”)。两页上的内容几乎一模一样,唯一的区别是一页用美元标价,另一页用英镑标价。

如果谷歌选择其中一个作为规范,它将从索引中排除除一个之外的所有内容。

如果您怀疑某个特定页面可能会发生这种情况,请使用Search Console中的URL检查工具查看谷歌如何查看该页面。

6. Hreflang和HTML语言不匹配

当为一个或多个url声明的hreflang和HTML语言属性不一致时,就会触发此问题。

为什么这是个问题

谷歌不使用HTML语言属性,但其他搜索引擎和浏览器使用。保持这两个属性彼此一致是很重要的。

如何修复

检查受影响的页面。更改HTML语言属性以确保与声明的hreflang属性保持一致。

7. 请转到破页

当一个或多个页面的引用在其hreflang注释中破坏了url时,就会触发此问题。

为什么这是个问题

b谷歌和其他搜索引擎无法向用户显示不存在的内容。由于这个原因,指向死页的flang属性很可能会被谷歌和其他搜索引擎忽略。

如何修复

检查受影响的页面。更改hreflang注释以确保它们链接到工作页面。

8. 同一种语言在hreflang中有多个页面

当一个或多个url在其hreflang注释中引用相同语言(或语言位置)的两个或多个页面时,会触发此问题。

为什么这是个问题

在hreflang注释中引用同一语言(或语言位置)的多个页面只会混淆搜索引擎。他们往往会忽视或误解这些指示。

如何修复

检查受影响的页面。删除一个hreflang注释,以便每种语言只引用一个页面。

9. 缺少默认的hreflang注释

当页面上没有x-default hreflang注释时触发此问题。

为什么这是个问题

虽然x-default hreflang属性是可选的,但谷歌推荐使用它们作为“在没有语言匹配时控制页面”的一种方式。SEO的最佳实践是对所有标记使用x-default标记。

如何修复

检查受影响的页面。确保它们每个都有一个“x-default”hreflang属性集。确保这指向的页面不是特定于一种语言或地区。

……

为了随时掌握可能出现的问题,可以考虑在SEO研究院的站点审计工具中安排每日、每周或每月的抓取。您可以在项目设置中这样做。

在每次计划抓取之后,新问题将显示在相关项目的本地化报告中,因此请确保定期检查此内容。

使用SEO研究院网站浏览器检查不正确的排名

在SEO研究院的网站资源管理器中粘贴你想检查的语言的域名、子域名、子文件夹路径,然后转到“概览”报告的“有机搜索”选项卡。

看看按搜索流量排列的国家列表。它们是你期望看到的吗?

在这里,我们网站的德语版本(ahrefs.com/de)在德国和其他德语国家(如奥地利和瑞士)排名,这是意料之中的。但它也获得了来自美国和印度的流量,这似乎很奇怪。

在寻找hreflang标签的潜在问题时,像这样检查网站的不同版本是一个很好的起点。

b谷歌可能忽略的问题

虽然遵循最佳实践仍然是明智的,但有时搜索引擎可能会忽略某些问题。通常,当搜索引擎一次又一次地看到同样的问题,并认为他们可以自己解决这个问题时,就会发生这种情况。

以下是谷歌为您“修复”的几个已确认的hreflang标签问题:

1. 用下划线代替破折号

Gary Illyes在这个Twitter帖子中提到b谷歌的解析器解释了这个常见错误。

2. en-UK而不是en-GB

约翰·穆勒在Reddit上的AMA (Ask Me Anything)中提到了这一点。因为UK是预留码,他们可以更正这个问题。

3. 他没有自我参照

b谷歌的John Mueller最近表示,自我引用的hreflang是可选的,但却是很好的实践。

4. 相对url和绝对url

要小心重定向用户

在许多情况下,网站会根据cookie、IP地址和/或浏览器语言的组合自动重定向用户。这可能会给用户带来糟糕和令人沮丧的体验,并且对于试图索引您的内容的搜索引擎来说,这通常是一个问题。除此之外,它还会破坏hreflang标签所需的连接。

b谷歌是这么说的:

不要使用IP分析来调整你的内容。IP位置分析是困难的,而且通常不可靠。此外,谷歌可能无法正确抓取您网站的变体。大多数,但不是全部,谷歌爬行来自美国,我们不试图改变位置来检测网站的变化。使用这里显示的显式方法之一(hreflang、备用url和显式链接)。

始终像对待来自任何位置的用户一样对待搜索引擎爬虫。如果你对待搜索引擎机器人的方式与对待用户的方式不同,那就会被认为是在伪装,并且违反了b谷歌的网站管理员指南。

您可以使用相同的检测逻辑,在小横幅上为用户建议更好的页面版本。

注意不要在这个横幅上占用太多的空间。如果它太大,横幅可能会被视为插页广告。

还有几个警告

使用UTF-8编码url中的字符对于谷歌来说是可以的,但是在您的技术堆栈中可能存在不支持它的故障点。

你不能在身体里放荧光标签,因为它们可能被用来劫持。在某些条件下,可以将标签强制放入body部分。这被称为打破,可能是由于在部分中没有关闭iframe或标签之类的事情造成的,也可能是由于在JavaScript中注入了不同的东西。使用DOM断点进行故障排除。

要查看这些,您可能需要运行>的工具之一,以查看渲染的DOM或“右键单击”>在Chrome中检查并搜索Chrome DevTools的元素面板。

最终的想法

Hreflang并没有那么复杂。您只需要保持组织性,尽可能自动化实现,掌握任何不可避免出现的问题,并尽可能快地解决这些问题。

有什么问题吗?请在评论或推特上告诉我。

相关文章:

  • SEO基础知识:初学者SEO成功指南
  • 搜索引擎优化的元标签:初学者的简单指南
  • 简易静态网站制作流程图/网络竞价推广开户
  • 广东在线网站建设/如何制作简易网站