转载

HTML 标签的 hreflang 属性

为了服务于世界各地的用户,许多网站都会提供各种翻译版本,或针对特定区域的用户提供定制内容。Google 使用rel="alternate" hreflang="x" 属性在搜索结果中提供正确的语言或区域网址。

 

下面是一些适合使用 rel="alternate" hreflang="x" 的情况示例:

  • 只翻译了网页的模板部分(例如导航和页脚内容),主要内容仍以单一语言显示。这种情况一般出现在以用户生成的内容(如论坛)为主体的网页中。
  • 您的网页采用单一语言为不同区域的用户提供相似的内容但区域性差异非常细微。例如,您可能会有面向美国、英国、爱尔兰用户的英语内容。
  • 您的网站内容已完全翻译。例如,您的每个网页都有两个版本(德语版本和英语版本)。

使用语言注释

假设您将网页的英语版本托管在 http://www.example.com/ 上,而将其西班牙语版本托管在 http://es.example.com/上。您可通过以下三种途径之一告知 Google,这个包含西班牙语代码的网址即是此英语网页对应的西班牙语版本:

    • 标头中的 HTML link 元素。 在 http://www.example.com/ 的 HTML <head> 部分,添加一个 link 元素,该元素指向此网页在 http://es.example.com/ 上的西班牙语版本,如下所示:
      <link rel="alternate" hreflang="es" href="http://es.example.com/" />
    • HTTP 标头。 如果您发布的是非 HTML 文件(如 PDF),则可使用 HTTP 标头来标识某个网址的不同语言版本:
      Link: <http://es.example.com/>; rel="alternate"; hreflang="es"

      要在 Link HTTP 标头中指定多个 hreflang 值,请用英文逗号将这些值隔开,如下所示:

      Link: <http://es.example.com/>; rel="alternate"; hreflang="es",<http://de.example.com/>; rel="alternate"; hreflang="de"
  • 站点地图。除了使用标记以外,您还可通过站点地图提交语言版本信息。

如果您的某个网址有多个语言版本,那么您必须在每个语言版本网页上标识出所有语言版本(包括其自身的语言版本)。例如,如果您的网站内容有法语版本、英语版本和西班牙语版本,则西班牙语版本除了要包含指向法语版本和英语版本的链接之外,还必须包含一个指向它自身的 rel="alternate" hreflang="x" 链接。同样,英语版本和法语版本也都必须包含对所有这三个版本的相同引用。

您可以将同一网域中的多语言网址指定为一个网址,也可以使用其他网域中的网址。

如果您有多个备用网址,且这些网址均面向使用相同语言但生活在不同语言区域的用户,那您不妨考虑为地理位置不明确的用户提供一个通用网址。例如,您可能针对爱尔兰、加拿大和澳大利亚地区说英语的用户提供了特定的网址(分别使用 en-ieen-caen-au),但您希望其他所有说英语的用户都能看到您的通用英语版 (en) 网页,并希望其他所有用户都能看到您的首页。在这种情况下,您便应为英国(只是举例)的搜索用户指定通用英语版 (en) 网页。您可以使用站点地图文件或使用 HTML link 标记(如下所示)为这组网页添加注释:

<link rel="alternate" href="http://example.com/en-ie" hreflang="en-ie" />
<link rel="alternate" href="http://example.com/en-ca" hreflang="en-ca" />
<link rel="alternate" href="http://example.com/en-au" hreflang="en-au" />
<link rel="alternate" href="http://example.com/en" hreflang="en" />

对于语言/国家(或地区)选择器或自动重定向首页,您还应为 hreflang 值“x-default”添加注释:
<link rel="alternate" href="http://example.com/" hreflang="x-default" />

受支持的语言值

hreflang 属性的值用于标识备用网址的语言(以 ISO 639-1 格式表示)和/或区域(以 ISO 3166-1 Alpha 2 格式表示)。例如:

  • de:德语内容,不限区域
  • en-GB:英语内容,面向英国用户
  • de-ES:德语内容,面向西班牙用户

请勿仅指定国家/地区代码!Google 不会自动从国家/地区代码中衍生出语言。如果您希望简化标记,则可仅指定语言代码。在语言代码后面添加国家/地区代码可使相应网页仅面向特定区域显示。例如:

  • be:白俄罗斯语内容,不限区域(比利时法语区除外
  • nl-be:荷兰语内容,仅面向比利时
  • fr-be:法语内容,仅面向比利时

对于不同的语言脚本,最合适的脚本应当源自本国家/地区。例如,针对 zh-TW 用户使用繁体中文 (zh-TW) 时,系统会自动衍生出相应的语言脚本(此示例中为繁体中文)。您还可以利用 ISO 15924 明确指定脚本,例如:

  • zh-Hant:中文(繁体)
  • zh-Hans:中文(简体)

此外,您也可以同时指定脚本和区域,例如使用 zh-Hans-TW 为台湾用户指定中文(繁体)。

最后,保留值“x-default”用于显示那些不专门针对某一语言或区域的语言选择器/重定向程序,例如:显示可供点击的世界地图的首页。

常见错误

重要提示:请确保您提供的 hreflang 值确实有效。请特别注意以下两个最常见的错误:

  • 缺少确认链接:如果网页 A 链接到网页 B,那么网页 B 必须要链接回网页 A。如果所有使用 hreflang 注释的网页并未全部满足这项要求,则系统可能会忽略或无法正确解译这些注释。
  • 语言代码不正确:确保您使用的所有语言代码均能标识备用网址的语言(以 ISO 639-1 格式表示)和/或区域(以 ISO 3166-1 Alpha 2 格式表示)。仅指定区域是无效的。

Leave a Reply

学习的梦想

锤炼的彩色