首页 / SEO book / 技术 SEO / Hreflang 属性与标签入门

Hreflang 属性与标签入门详解

Hreflang 属性与标签入门技术 SEO

Hreflang 属性可帮助多语言、多地区网站向用户展示正确的语言版本。本文说明它的作用、实现方式以及最佳实践。

本文说明 hreflang 属性在帮助多语言、多地区网站向用户展示正确语言版本方面所起的作用。

什么是 Hreflang?

Hreflang 是一种 HTML 属性。网页存在语言或国家/地区变体时,它用于向搜索引擎说明该网页的语言,以及可能的目标国家/地区。

例如,hreflang 属性 hreflang="en-us" 表示指定页面以英语撰写,面向美国受众。

若页面有多个版本,用于服务不同的语言或国家/地区,就应在搜索引擎优化(SEO)策略中使用 hreflang。

为什么 Hreflang 属性对 SEO 很重要?

Hreflang 属性对 SEO 很重要,因为有助于确保搜索引擎根据用户的语言和位置展示页面的正确版本。

效果如下:

德语版 Google 在“iphone”的搜索结果页面中显示德语结果。

当 Google 展示最相关的页面版本时,用户更有可能点击结果、在网站上获得良好体验,并为业务目标做出贡献。

Hreflang 属性还有助于搜索引擎发现并理解各本地化页面之间的关系。

没有 hreflang 时,搜索引擎可能把翻译版或地区化页面视为重复页面,从而损害搜索可见性。

如何实现 Hreflang

实现 hreflang,先确定网站上内容相同、但面向不同语言或国家/地区的一组页面,再根据每个页面的定位分配不同的标识符。

hreflang 代码的结构是 hreflang="value",其中 value 根据以下之一填写:

  • 语言代码:页面语言对应的两位ISO 639-1 语言代码。例如英语用 en。该页面作为该语言所有使用者的默认版本时,应使用此选项。
  • 语言和国家/地区代码:目标语言/国家/地区的ISO 639-1 语言代码和ISO 3166-1 alpha-2 国家代码,两者之间用连字符(-)分隔。例如英语-美国用 en-us。只有当页面是特定地区专属、且不作为该语言所有使用者的默认版本时,才需要国家代码。
  • X-default:用 x-default 值表示页面的主要版本。若没有变体与用户的语言或语言-地区匹配,搜索引擎将展示该默认版本。

最后,采用以下几种 hreflang 实现方法中的一种或多种。

在 HTML 头部中使用 Hreflang 标签

可以在页面的 HTML 头部元素(<head> 部分)中使用 hreflang 标签,向搜索引擎说明页面及其变体的语言/地区定位。

一个 hreflang 标签会指定一个 URL 及其 hreflang 属性,如下所示:

每个受影响的页面都应有一个 hreflang 标签,同时引用源页面以及它的各个变体。

例如,下面高亮的标签显示源页面以德语撰写,面向德国受众(de-de)。

其他 hreflang 标签则显示该页面还提供面向爱尔兰受众的英语版本(en-ie)、面向几内亚受众的法语版本(fr-gn)等。

代码中显示 Hreflang 标签及该页面的其他 hreflang 标签列表。

这些相同的 hreflang 标签也会用在页面的所有其他版本上。

例如,下面是面向爱尔兰受众的英语版本中的一段 HTML 代码:

在源代码中,hreflang 属性显示爱尔兰 URL 和 hreflang 值 en-ie。

XML 站点地图中的 Hreflang

可以使用网站XML 站点地图中的 hreflang,向搜索引擎说明整个网站的语言和地区定位。

XML 站点地图是一个文件,应列出希望搜索引擎索引(加入可能的搜索结果数据库)的所有 URL。

对于带有语言/地区变体的页面,需要这样做:

  • 为每一个 URL 变体添加一条 <url><loc> 条目
  • 在每个 <url> 元素内,使用 <xhtml:link> 元素,为指定的 URL 以及它的各个变体提供 hreflang 信息

例如,一个页面有两个版本时,对应的 XML 代码大致如下:

两个 URL 都同时引用自己以及彼此。

HTTP 响应头中的 Hreflang

若存在非 HTML 页面(例如 PDF),就需要通过 HTTP 头实现 hreflang。

使用以下模板,向搜索引擎说明源页面及其变体所关联的语言(以及要指定的地区):

例如,可以在上述三个页面的 HTTP 头中都加上这段内容:

各变体页面同样应同时引用自己以及彼此。

Hreflang 最佳实践

在网站上使用 hreflang 时,请遵循以下最佳实践:

在 Hreflang 代码中使用规范 URL

hreflang 代码中只应使用规范 URL,以免让搜索引擎产生困惑、损害 SEO 表现。

规范 URL 是网页的主要地址,也是搜索引擎在搜索结果中使用的 URL。搜索引擎会忽略任何备用 URL,以节省资源并防止重复。

假设同一个页面可以通过三个地址访问:

  • 规范 URL:https://www.example.com/en/
  • 备用 URL:https://www.en.example.com/
  • 备用 URL:example.com/en

hreflang 代码中只应引用规范 URL,避免使用任何备用 URL。

实践中,这意味着不应引用:

保持 Hreflang 代码更新

若新增、删除或更改了带有本地化变体的 URL,请更新 hreflang 代码,以免过时代码让搜索引擎产生困惑、损害 SEO。

假设你通过 XML 站点地图为英语和西班牙语网站实现了 hreflang。

若之后把网站翻译成德语,就需要:

  • 把新 URL(及其 hreflang 代码)添加到 XML 站点地图
  • 更新现有页面变体的 XML 条目,确保它们引用德语变体

排查网站的 Hreflang 问题

定期排查网站的 hreflang 问题,检查是否存在可能让搜索引擎困惑、误导搜索引擎并损害 SEO 的错误。

Semrush Site Audit 工具可发现并修复最常见的 hreflang SEO 问题,包括:

  • 无效的 hreflang 值
  • 缺少自引用 hreflang 属性的页面
  • 缺少 hreflang 属性的页面
  • 引用失效或非规范 URL
  • 语言代码与页面语言不匹配
在 Site Audit 中搜索 hreflang,显示有多少页面存在属性和值问题以及如何修复。

Semrush SEO Audit 工具还能发现并修复许多其他类型的 SEO 问题。免费用户每月最多可抓取 100 个页面。