如何正確實現 hreflang
已發表: 2015-08-10hreflang 由 Google 於 2011 年推出,旨在幫助網站所有者為全球用戶提供正確的語言或基於國家/地區的語言變體。 所有基於國家/地區的 Google 搜索引擎以及 Yandex 都支持 hreflang。 如果您以 Bing 為目標,則必須改用語言元標記。
Google 為我們提供了一些建議使用 rel=”alternate” hreflang=”x” 的示例:
- 整個網站完全翻譯成另一種語言,即一個西班牙語版本- http://www.examplesite.com/es 和一個德語版本http://www.examplesite.com/de。
- 您在一種語言中存在區域差異,即為墨西哥用戶提供一個西班牙語版本 - http://www.examplesite.com/es-419-mx,為西班牙用戶提供一個西班牙語版本 - http://www。 examplesite.com/es-es。
- 您的網站已部分翻譯,主要內容為單一語言,即僅具有翻譯網站寺廟的網站(導航菜單/頁腳)。 這在用戶生成的網站(如論壇和討論板)上非常常見。
那麼,SEO 如何正確實現 hreflang 呢? Google 為我們提供了三種方法:
- 標題中的 HTML 鏈接元素
在 HTML <head> 部分中,添加指向該網頁的語言或語言/國家/地區版本的鏈接元素:
<link rel=”alternate” hreflang=”es” href=”http://www.examplesite.com/es/”>
注意:如果您的網站面向多種語言或語言/地區變體,則 hreflang 標記應包含每個變體。 這對於搜索引擎了解每個 URL 變體之間的關係並為用戶提供正確的內容至關重要。
<link rel=”alternate” hreflang=”es” href=”http://www.examplesite.com/es/”>
<link rel=”alternate” hreflang=”de” href=”http://www.examplesite.com/de/”>
- 非 HTML 文件(如 PDF)的 HTTP 標頭
在 HTTP 標頭中指示 URL 的不同語言或語言/國家/地區版本:
鏈接:<http://www.examplesite.com/es/>; 相對=“替代”; hreflang=”es”
注意:要在 Link HTTP 標頭中指定多個 hreflang 值,請使用逗號分隔這些值,如下所示:
鏈接:<http://www.examplesite.com/es/>; 相對=“替代”; hreflang=”es”, <http://www.examplesite.com/de/”>; 相對=“替代”; hreflang=”de”
- XML 站點地圖
您可以在XML 站點地圖中提交語言或語言/國家/地區版本信息,而不是使用標記。
下面的示例站點地圖來自 Search Console 幫助論壇,描述了一個網站,其頁面與英語版(www.example.com/english/) 相同,面向全球德語(http://www.example.com/deutsch/ ) 用戶和瑞士的德語用戶(http://www.example.com/schweiz-deutsch/)。 這將要求您為整個網站擁有一個 XML 站點地圖。
您應該注意以下幾點:
- 國家是可選的,語言不是。 hreflang 獨立於該國工作。 您可以指定網站的語言版本,也可以指定語言和國家/地區。 例如,使用 HTML 鏈接標頭方法 - 這是一個為全球西班牙語用戶提供默認版本的網站,但也為墨西哥的西班牙語用戶提供 URL 版本:
<link rel=”alternate” hreflang=”es” href=”http://www.examplesite.com/es/”>
<link rel=”alternate” hreflang=”es-419-mx” href=”http://www.examplesite.com/es-mx/”>
- 搜索引擎支持ISO 639-1語言代碼和ISO 3166-1 Alpha 2地區。 對於語言腳本變體,腳本源自國家/地區本身。 例如,葡萄牙語(巴西)的語言代碼是: pt-BR ,葡萄牙語(葡萄牙)的語言代碼是: pt-PT 。
在這種情況下,hreflang 標記將是:pt-BR-br 和 pt-PT-pt。 Search Console 幫助向您推薦語言腳本的ISO 15924 ,但解釋並不那麼清楚。

- 儘管未在 Search Console 中列出,但 Google 似乎也支持IETF 語言標籤作為支持的語言值。 我通過查看 Android.com 等 Google 屬性上使用的 hreflang 標籤發現了這一點。 例如,西班牙語(拉丁美洲和加勒比)的語言代碼是 es-419。 419 是聯合國使用的區域代碼,也是 IETF 語言值的組成部分之一。
- 您應該只使用三種方法中的一種來實現 hreflang。 如果您使用不止一種方法,則會產生冗餘。
- 一種方法並不比另一種更好,但 Google 確實建議對非 html 文件使用 HTTP 標頭方法。
- X-default hreflang 是一個標籤,可用於標識不針對特定語言或地區的頁面。 這最常用於國家/地區選擇器主頁。
Android 網站的網站版本不針對特定語言或地區,因此在整個網站範圍內使用 x-default hreflang。
2014 年,Google Search Console(當時的 Google Webmaster Tools)添加了一項功能,用於識別您網站上的 rel-hreflang-implementation 問題。
網站所有者在實施語言/國家/地區註釋時最常見的錯誤如下:
- 無返回標籤- 如果頁面 A 鏈接到頁面 B,則頁面 B 必須鏈接回頁面 A。註釋必須從它們指向的頁面確認。 谷歌讓網站所有者了解檢測到錯誤的位置以及返回鏈接的位置。
- 無效的國家或語言代碼- 在下面的示例中,該站點使用 JP 來指定日語,但正確的 ISO 639-1 代碼實際上是日語的 JA。 Google 還在您網站的 Google Search Console 儀表板中提供了有關如何解決此問題的示例。
那麼如果我不正確地實現 hreflang 會發生什麼?
如果您錯誤地實現了 hreflang,搜索引擎將無法解釋標籤並將其忽略。 不相信我? 看看 Google 網站管理員趨勢分析師 Gary Illyes 怎麼說……
所以此時你可能在想……“Zetus Lupetus! 我的網站有十幾種語言的數千個頁面,我的 URL 結構因國家/地區而異。 這似乎需要做很多工作。 無論如何,hreflang 有什麼大不了的?”
你可能是對的。 根據網站的不同,hreflang 可能會變得非常複雜……非常快。 但請記住,用戶的語言和他們的位置是谷歌搜索算法中最大的兩個影響因素。 除了在全球範圍內為您的網站訪問者提供最佳用戶體驗外,最近在 SMX Advanced 2015 上,SearchMetrics 的 Cyrus Shepard 還發現了自然排名與使用正確實施的 hreflang 標籤之間的相關性。
下面是一些用於實現 hreflang 標籤的工具。 請注意,這些工具仍然需要手動操作。 例如,hreflang 標記生成器要求您輸入每個 url 和語言/國家/地區變體。 如果您要使用站點地圖,請記住您需要一個用於整個網站的 XML 站點地圖。 根據您的站點和資源的範圍,這些工具可能不可行。
- hreflang 標籤生成器
- XML 站點地圖工俱生成器
問題? 我們可以提供幫助。