遇到hreflang的问题? 在本文中,我们将介绍最常见的标签,并向您展示如何修复带有错误的hreflang标签。
Hreflang的目的是什么?
Hreflang属性指定网页的语言和目标区域的HTML片段。
正确使用hreflang标签对于托管不同语言的多个网页版本的网站至关重要。
搜索引擎(如谷歌)使用hreflang标签为用户提供正确版本的页面。 例如,在美国搜索"Semrush博客"等术语的用户将看到该博客的美国版本。

但是来自西班牙的用户执行相同的搜索将看到西班牙语版本的博客。 请注意下图中的"es"子域。

这是可能的感谢hreflang标签。
对于有两个替代版本的网页-一个针对美国受众,另一个针对西班牙受众—hreflang标签可能如下所示:
以下是上述代码的不同部分的含义:
- 链接rel="备用":表示代码中引用的URL是网页的备用版本(即多个版本中的一个)
- hreflang="en-us":该语言的ISO代码在页面上使用,然后是国家的ISO代码该网页的目标(国家/地区代码并不总是必需的)
- href="https://website.com/en":备选网页的网址
9个最常见的Hreflang错误
很多实现hreflang时可能出错。 特别是对于大型,复杂的网站。
下面列出了最常见的hreflang标签错误以及如何修复它们。
1. 缺少自引用Hreflang注释
它可能不明显,但您需要为每个页面包含一个自引用的hreflang标记。 换句话说,每个页面不仅需要引用其替代版本,还需要引用自身。
如果你不这样做,搜索引擎可能会完全忽略你的hreflang标签。
如何修复:始终使用自引用hreflang标签。 例如,如果您有一个页面的英语和西班牙语版本,则该页面的英语版本的代码不仅需要引用西班牙语版本作为替代,还需要引用其本身。
它看起来像这样:
该页的西班牙语版本也需要这样做。
2. 返回标签错误
返回标记错误是由于缺少页面的备用版本之间的交叉引用而发生的。
Hreflang标签是相互的。 例如,如果您有一个网页的三个备选版本(例如,英语、西班牙语和意大利语),则每个页面都需要链接到所有其他页面在其hreflang属性内。
如果您不这样做,Google可能会忽略您的hreflang标签。
如何修复:确保所有替代页面在其hreflang属性中相互链接。 下面是如何在英语,西班牙语和意大利语中查找页面。
英文网页:
西班牙语页:
意大利页:
请注意,上面列出候补的顺序并不重要,但它可以更容易地理解每个集合是针对哪个页面的。
3. 使用错误的国家或语言代码
Hreflang标签需要坚持ISO639-1格式指定页面上使用的语言时。 如果您还要在标签中指定区域或国家/地区,则必须遵循ISO3166-1Alpha2格式.
语言和国家代码必须是用破折号隔开(不要使用下划线)。
同样重要的是要记住,您可以单独使用语言代码,但国家/地区代码只能与语言代码结合使用。
如何修复:检查官方列表(上面链接)的语言和地区代码,并确保您使用正确的网页。
4. 没有正确地同时使用规范标签和Hreflang标签
您可以使用规范标签向搜索引擎指示网页的主要版本。 很多hreflang错误来自错误地将规范标签和hreflang属性一起使用。
例如,使用规范标记,就好像它们是hreflang标记中的自引用链接一样。 或者将hreflang属性包含在规范标记中,而不是包含在其自己的链接标记内。
以下是使用hreflang不正确规范标记的示例:
假设您有三种不同语言的网页版本:英语、西班牙语和意大利语。
您确保在每个页面中包含返回标签,每个备选页面引用其他备选页面。 但是你在所有三种情况下都包含了一个指向英文版页面的规范标签。
不正确:
英文网页:
西班牙语页:
意大利页:
这将导致搜索引擎混乱,并可能导致搜索结果显示您的网页的英文版本的西班牙语和意大利语用户。 相反,它应该看起来像我们下面有它。
正确:
英文网页:
西班牙语页:
意大利页:
如何修复:确保您的网页的每个版本都有一个自引用的规范标签。
5. 不使用绝对Url
在hreflang标签中使用相对Url而不是绝对Url可能会导致索引问题,并导致搜索引擎误解您的hreflang标签。
这就是为什么:
相对Url仅提供页面的部分路径,而搜索引擎需要完整路径(也称为绝对URL)才能正确定位页面。
不正确:
正确:
如何修复:始终在hreflang标签中使用绝对URL-包括http/https。
6. 将Hreflang标签添加到被阻止或损坏的页面
您的网站上有某些页面,您不希望搜索引擎抓取或索引。 喜欢结帐和"谢谢"页面。
这通常是通过将这些页面的Url添加到您的网站机器人。txt文件或者使用noindex标签。
但有时您可能无意中在hreflang标签中引用了一个或多个替代页面。 如果发生这种情况,它可能会导致问题,因为搜索引擎将无法遵循阻止页面上的hreflang说明。
这意味着他们将无法遵循该页面上引用该页面替代版本的返回链接。 如果链接指向不存在的页面(也称为错误404).
在这种情况下,Google可能会忽略与该页面的所有版本相关联的hreflang标签。
如何修复:仅向hreflang标签添加可索引、可抓取的页面。 同样,不要将hreflang标签添加到阻止爬网和索引的页面。
7. 丢失或错误的"x-default"标签
"X-default"标签用于告诉搜索引擎,当网站没有与搜索者的语言或地区匹配的页面时,特定页面是应该显示的默认页面。
如果您不使用"x-default"标记指定默认页面,如果没有与用户的语言或地区匹配的页面,则无法控制搜索引擎向用户显示的页面版本。
不正确:
正确:
如何修复:确保使用"x-default"标签来指定hreflang标签中的默认页面。
8. 指向同一URL的页面的备用版本
Hreflang标签依赖于不同的Url才能正常工作。 你不能有一个页面的多个替代版本指向同一个URL,因为这会给搜索引擎没有办法知道哪个是最好的URL服务于搜索者。
不正确:
正确:
同样,您不应该有指向多个不同页面的相同备用语言版本的实例。 像这样:
如何修复:检查您的hreflang标签,以确保每个备用版本指向一个唯一的URL。
9. Hreflang外部检测
如果你要添加带有HTML标签的hreflang属性,它们应该在
网页的部分。如果您在其他地方添加它们,搜索引擎可能无法正确解释它们。
如何修复:这一个是相当简单的-只要确保你在添加hreflang标签
每个相关页面的部分。使用Semrush站点审核工具修复您的Hreflang错误
您可以使用Semrush的现场审核工具来发现和修复hreflang错误在您的网站. 以下是如何做到这一点:
从网站审核工具页面,输入您的域名,然后单击"开始审核"按钮。 (如果您以前使用过该工具,请单击"+创建项目"相反。)

然后,您可以更改爬网程序设置、禁止特定Url等。 在大多数情况下,您可以保留默认审核设置,然后单击"开始现场审核"按钮开始审计。

然后,该工具将审核您的网站并生成详细报告。 要查看工具发现的任何hreflang错误,请转到"问题"选项卡并在搜索栏中输入"hreflang"。

然后,您将在您的网站上看到所有hreflang错误的列表。 每个错误旁边都会有一个标题为"为什么以及如何解决它."点击这个会显示一个工具提示,解释错误以及如何解决它。
点击每个错误的链接部分(例如,"1,589期"在下面的图片中)将带您到存在该特定错误的页面列表。

浏览错误列表并逐个修复它们。 这将确保搜索引擎可以正确解释您的hreflang标签,并每次向搜索者显示正确版本的网站。