hreflang标签什么意思?有什么作用?
Hreflang 是一种 HTML 属性,用于指定网页的语言,有时还用于指定目标地理区域。如果您的网站有多种语言的相同网页,则该属性非常有用。这样,搜索引擎可以根据搜索者的位置或首选语言确定向他们显示哪个版本的页面。
请注意,hreflang 属性是一种信号,而不是指令。因此,无法保证搜索引擎会显示特定版本的页面。值得一提的是,Google 和 Yandex 使用 hreflang 属性。而百度和 Bing 则不使用,它们依赖于内容语言 HTML 属性。人们经常交替使用术语“hreflang 标签”和“hreflang 属性”。后一种措辞更准确,但两者通常都可以使用。
Hreflang 标签为何如此重要?
Hreflang 标签对搜索引擎和用户都很有帮助。具体内容如下:
1. 提升国际 SEO 性能
国际 SEO 涉及针对不同地区和语言优化您的内容,以提高您的知名度并吸引更多来自不同地区的流量。使用 hreflang 标签可以提供帮助。创建特定于区域的内容(并向每个页面添加 hreflang 标签)可以帮助搜索引擎在搜索结果中显示每个受众的相关页面。
2. 改善用户体验
使用 hreflang 标签可以帮助您将用户引导到最相关的页面。以下是几个示例:
电子商务网站可以将不同国家/地区的用户重定向到反映其国家/地区货币的页面(即,美国流量以美元显示价格,德国流量以欧元显示价格)
食谱博客可以将用户重定向到使用其测量系统的页面(即,美国流量以英制显示,澳大利亚流量以公制显示)
为国际客户提供服务的企业可以将用户引导到使用其母语的页面
当用户在您的网站上获得良好的体验时,他们可能更有可能进一步探索。并有可能成为客户。
3. 避免重复内容问题
实施 hreflang 属性可帮助您避免与重复内容相关的问题 - 当您的网站上有相同或几乎相同的内容时。这会让搜索引擎对在搜索结果中显示哪些内容感到困惑。例如,假设您有两个产品页面:一个以美元列出您的产品,另一个以加元列出您的产品。除了不同的货币和其他一些细微的本地化(如特定地区的拼写)外,每个页面上的信息基本相同。
Google 可能会认为这些页面是重复的。这会影响您的排名、反向链接分布和您网站的可信度。Hreflang 标签告诉搜索引擎,尽管内容可能相似,但您为特定受众创建了每篇文章。当您的 hreflang 标签正确实施时,您不应该遇到任何重复内容问题。
Hreflang 标签是什么样子的?
语法(计算机语言)含义如下:
link rel=“alternate” 表示此标签中的链接是此页面的替代版本
href=“https://example.com” 是您可以找到替代页面的位置
hreflang=“en-us” 是语言(英语)和国家代码(美国)——添加国家是可选的
当您的页面有多个版本时,您可以使用 hreflang。这意味着您将看到多个 hreflang 标签彼此相邻,而不仅仅是一个(并且它们都具有“alternate”属性)。现实世界中的示例可能如下所示:
<link rel="alternate" href="https://www.example.com/blog/what-is-seo/" hreflang="en" />
<link rel="alternate" href="https://de.example.com/blog/was-ist-seo/" hreflang="de" />
<link rel="alternate" href="https://fr.example.com/blog/qu-est-ce-que-le-seo/" hreflang="fr" />
HTML 属性的顺序通常并不重要。但您可能希望在自己的网站代码中保持一致。
如何构建 Hreflang 标签?
要创建 hreflang 标签,您需要语言和国家/地区代码。Hreflang 支持两个字母的 ISO 639-1 语言代码和 ISO 3166-1 alpha-2 国家和地区代码。假设您的英文博客已被翻译成西班牙语和葡萄牙语。这些文章的 hreflang 属性可能如下所示:
<link rel="alternate" href="https://example.com" hreflang="en" />
<link rel="alternate" href="https://example.com/es/" hreflang="es" />
<link rel="alternate" href="https://example.com/pt/" hreflang="pt" />
但是,如果您的目标国家不是葡萄牙,而是讲葡萄牙语的国家,该怎么办?比如巴西。在这种情况下,您需要添加一行,并指定国家代码。
葡萄牙的葡萄牙语:
<link rel="alternate" href="https://example.com/pt/" hreflang="pt-pt" />
巴西的葡萄牙语:
<link rel="alternate" href="https://example.com/br/" hreflang="pt-br" />
如何实现 Hreflang?
有三种方法可以实现 hreflang 属性:
在页面 HTML 的 <head> 部分
在 HTTP 标头中(对于非 HTML 文件,如 PDF)
在您的 XML 站点地图中
1. 在 HTML 中
指示备用页面的最基本方法是在该页面的 HTML 代码中。只需在页面的 <head> 部分添加所有相关的 hreflang 属性即可。请注意,文章的每个语言版本都必须引用自身。以及所有其他语言版本。以下是每个元素的语法:
<link rel="alternate" hreflang="lang_code" href="url_of_page" />
这种方法唯一真正的问题是它可能很麻烦且耗时。
例如,每次将一篇文章翻译成另一种语言时,您都必须返回并为其所有版本添加另一个 hreflang 标记。对于大量 hreflang 条目,您可能希望通过站点地图指示备用页面。要在 HTML 中创建或修改 hreflang 标记,请尝试使用 hreflang 工具。
2. 在 HTTP 标头中
HTTP 标头非常适合为您网站上的非 HTML 内容实现 hreflang 属性。例如 PDF。HTTP 标头用于在服务器和客户端之间传输信息。并包含有关请求或响应的元数据,例如请求日期、引荐来源、首选语言和其他相关详细信息。您也可以将此方法用于 HTML 内容。但它会在服务器请求方面增加大量开销。以下是通过 HTTP 标头添加 hreflang 的基本框架:
Link: <url 1>; rel="alternate"; hreflang="language code 1",
<url 2>; rel="alternate"; hreflang="language code 2"
语法含义如下:
<url x> 是与分配给 hreflang 属性的语言环境相关的备用页面的 URL。它必须包含周围的 < 和 > 标记。
语言代码 x 是此页面所针对的语言(或地区)代码
您必须为页面的每个版本(包括请求的版本)指定一组 <url>、rel="alternate," 和 hreflang 值,并用逗号分隔。假设您创建了三个版本的 PDF 文档 - 一个是英文版,一个是西班牙文版,一个是葡萄牙文版。您的 HTTP 标头应如下所示:
Link: <https://example.com/doc.pdf>; rel="alternate"; hreflang="en",
<https://example.com/es/doc.pdf>; rel="alternate"; hreflang="es",
<https://example.com/pt/doc.pdf>; rel="alternate"; hreflang="pt"
3. 在您的 XML 站点地图中
XML 站点地图是一种文件,它为搜索引擎提供有关您站点页面的信息。它允许您在一个地方对 hreflang 属性进行任何更改,因此您不必在每次翻译内容时更新多个文件。首先,您需要为每个 URL 添加一个 <loc> 元素。页面的每个语言和地区版本都有 <xhtml:link> 条目。这意味着如果您有三个版本的博客文章,您的站点地图将有三个与这些页面相关的条目。每个 URL 一个。每个条目都有三个相同的列表。如果我们使用我们最初的英语、西班牙语和葡萄牙语博客示例,那么这篇博客文章的站点地图部分将如下所示:
<url>
<loc>https://https://example.com</loc>
<xhtml:link rel="alternate" hreflang="en"
href="https://example.com" />
<xhtml:link rel="alternate" hreflang="es"
href="https://example.com/es/" />
<xhtml:link rel="alternate" hreflang="pt"
href="https://example.com/pt/" />
</url>
<url>
<loc>https://example.com/es/</loc>
<xhtml:link rel="alternate" hreflang="en"
href="https://example.com" />
<xhtml:link rel="alternate" hreflang="es"
href="https://example.com/es/" />
<xhtml:link rel="alternate" hreflang="pt"
href="https://example.com/pt/" />
</url>
<url>
<loc>https://example.com/pt/</loc>
<xhtml:link rel="alternate" hreflang="en"
href="https://example.com" />
<xhtml:link rel="alternate" hreflang="es"
href="https://example.com/es/" />
<xhtml:link rel="alternate" hreflang="pt"
href="https://example.com/pt/" />
</url>
您可以使用我们之前使用的相同 hreflang 生成器工具在 XML 站点地图中创建或修改 hreflang 标签。首先输入每个版本的 URL、语言和国家/地区。然后选择“XML 站点地图中的属性”旁边的圆圈,并单击“为这些 URL 生成 Hreflang 标签”。然后,复制代码并将其添加到您网站的 XML 站点地图中。
Hreflang 实施最佳实践
Hreflang 实施起来可能很棘手。如果您错误地使用属性,可能会导致您的网站出现问题。遵循这些最佳实践以避免常见的 hreflang 错误。
1. 列出每个页面的所有 Hreflang 属性
根据 Google 的说法,所有相关页面都需要列出所有 hreflang 标签。包括他们自己的。例如,假设您有一个英语、法语和德语的服务页面。每个页面都需要一个自引用的 hreflang 标签。因此,英文页面需要英文 hreflang 标签,法文页面需要法文 hreflang 标签,德文页面需要德文 hreflang 标签。如果您的 hreflang 属性未引用所有相关替代页面,搜索引擎可能会忽略或误解您的 hreflang 标签。这可能会影响他们向用户提供哪个版本的页面。
2. 包含双向链接
页面之间的双向链接可帮助搜索引擎确定页面之间的关系。这证明您可以控制这两个页面。因此,如果您有一个英文版和法文版的页面,英文页面必须使用 hreflang 标签指向法文页面。法文页面必须具有链接到英文页面的 hreflang 标签。
英文页面:
<https://example.com/en/>; rel="alternate"; hreflang="en",
<https://example.com/fr/>; rel="alternate"; hreflang="fr"
法语页面:
<https://example.com/fr/>; rel="alternate"; hreflang="fr",
<https://example.com/en/>; rel="alternate"; hreflang="en"
如果没有双向链接,搜索引擎可能会完全忽略这些标签。并且可能无法针对正确的语言或地区索引您的网页。
3. 使用 X-Default 标签
当搜索引擎认为没有合适的本地化版本可供使用时,X-default 标签会指示用户的后备页面。它们不是强制性的,但 Google 建议使用它们。要实现 x-default 标签,请将 hreflang 属性更改为“x-default”,以表示如果您的网站不支持用户语言,您希望用户访问的 URL。像这样(最后一行):
<link rel="alternate" href="https://example.com/es/" hreflang="es" />
<link rel="alternate" href="https://example.com/pt/" hreflang="pt" />
<link rel="alternate" href="https://example.com/pt/" hreflang="pt" />
<link rel="alternate" href="https://example.com/us/" hreflang="en-us" />
<link rel="alternate" href="https://example.com/" hreflang="x-default" />
在上面的例子中,如果用户与列出的任何其他语言版本都不匹配,Google 可能会将用户发送到“https://example.com/”。
写在最后
在许多情况下,实施 hreflang 相当简单。但一个小错误可能会让搜索引擎感到困惑,并导致他们完全忽略您的 hreflang 属性。请使用站点审核确保您的 hreflang 标签没有错误。