Hreflang 標籤:終極指南
已發表: 2021-02-02那麼為什麼要打擾呢? 原因如下: hreflang 可能是為具有多種語言的相似內容的網站創建 SEO 內容的最重要的一個方面。 所以,請放心:回報將超過與該過程相關的任何痛苦——而且它會讓你受到關注。 有什麼不值得喜歡的?
什麼是 Hreflang 標籤?
Hreflang 是一種代碼——具體來說,是一個 HTML 屬性——它指定了網站上使用相同內容的所有 URL。 hreflang 屬性是谷歌在十多年前引入的,它允許用戶向搜索引擎展示不同語言的多個網頁之間的關係。 當為特定受眾創建內容時,這證明是有用的。 對於具有不同語言的同一網頁的多個版本的公司,hreflang 標籤將這些變體傳達給搜索引擎,並幫助向用戶提供正確的版本。
例如,如果有人在美國使用 Google 搜索“Ikea”,他們會看到以下結果:
雖然加拿大搜索者的相同查詢會返回以下結果:
為什麼要大驚小怪? hreflang 標籤允許搜索引擎根據用戶的國家和語言偏好向用戶提供結果,這使得 hreflang 標籤的意義非常寶貴:它優化了用戶體驗並提高了搜索排名。 怎麼樣才算雙贏?
為什麼 Hreflang 對 SEO 很重要?
這一切都歸結為個性化的結果。 如果用戶沒有被引導到為他們量身定制的結果,那麼將網頁翻譯成多種語言的所有辛勤工作都將付諸東流。 簡而言之,hreflang SEO 允許搜索引擎根據用戶的語言和位置向用戶提供最合適的公司網頁版本。 有針對用戶特定偏好優化的頁面? 您不僅希望他們降落在那裡,而且還希望他們逗留——出於多種原因——並且 hreflang 標籤 SEO 就是如何做到這一點的。
實施這種做法可以改善用戶體驗,最大限度地減少返回搜索結果的次數,並產生更高的排名。 (如果一開始沒有成功,請嘗試,再試一次,這在瀏覽基於 Web 的搜索時不一定是有用的諺語)。 這裡的目標不是增加流量,而是為需要快速、可靠回報的正確用戶提供正確的內容。 Hreflang 標籤是實現這些細微差別的結果的關鍵。
需要另一個理由嗎? 使用 hreflang 消除了重複內容的問題。 想像一下,您的公司在針對美國和加拿大的不同 URL 上提供相同的英文內容; 差異可能很小,並反映在貨幣細節(美元與加元)和行話(英制與公制)中。
hreflang 標籤可幫助搜索引擎識別和理解這些頁面之間的關係——以及為每個頁面創建的不同受眾。 如果沒有 hreflang,Google 可能會傾向於將這些頁面視為重複內容並僅返回其中一個結果; 使用hreflang,可以非常清楚地向搜索引擎傳達雖然內容(大部分)相同,但針對不同人群進行了優化。 你帽子上的一根羽毛(或 touque,對於我們的加拿大朋友)怎麼樣?
這些細節很重要,因此請繼續閱讀以了解更多信息。
Hreflang 標籤是什麼樣的?
Hreflang 標記簡單、一致,並使用以下語法:
<link rel="alternate" hreflang="x" href="https://www.example.com/new-page" />
這種格式表明鏈接頁面是當前頁面的替代版本,以語言“x”出現。 Hreflang 標籤作為搜索引擎的信號,而不是指令。 換句話說,hreflang 屬性向搜索引擎發出信號,表明使用語言“x”進行查詢的用戶將更喜歡該結果,而不是使用語言“y”的內容非常相似的頁面。 信號和指令之間的另一個區別? 如果認為不准確,Google 可能無法識別 hreflang 屬性——導致其他 SEO 因素覆蓋 hreflang 屬性,導致您公司頁面的替代版本排名高於最佳版本。
使用 Hreflang HTML
對於已經翻譯成多種語言的網站,構建標籤hreflang就像1-2-3一樣簡單。 這些步驟中的每一個都使用上面提到的語法(<link rel="alternate" hreflang=“x” href=“https://www.example.com/new-page” />)作為基礎。
- hreflang 屬性必須包含由語言組成的有效值; 此信息以稱為 ISO 639-1 格式的兩個字母代碼進行通信。 例如,如果您想將示例頁面翻譯成葡萄牙語,它將如下所示:
<link rel="alternate" hreflang="pt" href="https://example.com/portugese-version" />
該區域是可選的,如果使用,則應採用 ISO 3166-1 Alpha 2 格式。 您可以使用以下兩個不同的標籤分別定位葡萄牙和巴西的葡萄牙語使用者:
PT-PT: <link rel="alternate" hreflang="pt-pt" href="https://example.com/pt/our-page" /> PT-BR: <link rel="alternate" hreflang="pt-br" href="https://example.com/br/our-page" />
地區代碼不一定直觀(英國的代碼是“gb”而不是“uk”),所以請仔細檢查! 在將錯誤信息嵌入您的網站之前,請使用此列表驗證準確的語言和地區代碼。
- 每個 URL 都需要返回指向所有其他 URL 的鏈接,所有這些鏈接都應指向給定網站的規範或首選版本。 您擁有的語言越多,您需要的 hreflang 鏈接就越多; 雖然限制它們可能很誘人,但要避免這一步是不可能的。此外,rel=”alternate” hreflang=”x”markup 和 rel=”canonical” 可以而且應該一起使用。 每種語言都應該有一個指向自身的 rel=”canonical” 鏈接。 從 example.com 主頁開始,它看起來像這樣:
<link rel="canonical" href="http://example.com/"> <link rel="alternate" href="http://example.com/" hreflang="pt" /> <link rel="alternate" href="http://example.com/pt-pt/" hreflang="pt-pt" /> <link rel="alternate" href="http://example.com/pt-br/" hreflang="pt-br" />
有關規範的更多信息,請閱讀規範標籤和 URL:初學者的簡單指南。
- 成功構建 hreflang 的最後一步植根於自鏈接。 每個頁面上的 hreflang 屬性都需要引用自身以及任何作為其替代的頁面。 Google 強烈建議設置一個“x-default”頁面,該頁面將單個 URL 建立為默認版本,該版本不針對指定語言或區域之外的訪問者。如果訪問 pt-pt 頁面,只有規範的會改變:
<link rel="canonical" href="http://example.com/pt-pt/"> <link rel="alternate" href="http://example.com/"hreflang="pt" /> <link rel="alternate" href="http://example.com/pt-pt/"hreflang="pt-pt" /> <link rel="alternate" href="http://example.com/pt-br/"hreflang="pt-br" />
要消化的東西很多! 但是您已經做到了這一步,這意味著您已經為下一步做好了準備:學習如何實現 hreflang 標記。
實現 Hreflang 標籤
實現hreflang標籤的方式有3種,歸根結底就是放置:
1 – 使用 HTML 實現 Hreflang 標籤:
對於那些不熟悉 hreflang 的人來說,使用基本的 HTML 標籤是最簡單、最快捷的方式。 只需在網頁的 <head> 標記中添加任何適當的 hreflang 標記(見上文)。
示例: example.com 的網站管理員希望讓美國的英語和西班牙語用戶可以訪問他們的主頁; 在他們網站的 HTML 的 <head> 中使用以下註釋可以實現這一點:
<link rel="alternate" href="https://www.example.com" hreflang="en-us" /> <link rel="alternate" href="https://www.example.com/es" hreflang="es-us" />
如果他們想向委內瑞拉和墨西哥的西班牙語用戶顯示主頁,hreflang 註釋將如下所示:
<link rel="alternate" href="https://www.example.com/ve" hreflang="es-ve" /> <link rel="alternate" href="https://www.example.com/mx" hreflang="es-mx" />
這種方法的最大缺點是什麼? Hreflang HTML 會很快變得混亂和耗時。 另外,請記住 <head> 和 <header> 元素之間存在區別; <head> 包含不會出現在頁面上的元素,在本例中是 hreflang 屬性。
2 – 實現 Hreflang HTTP 標頭:
對於您網站上的 PDF 和非 HTML 內容,使用 HTTP 標頭來實現 hreflang。 這個名字有點誤導:實現不是通過 <head> 或 <header> 在頁面上完成的。 相反,這一切都是在網站的後端完成的。 使用 HTTP 標頭不僅可以指定文檔變體的相關語言,還可以優化此內容。
示例:要在您的網站上識別英文和法文版本的 PDF 文檔,HTTP 標頭中顯示的鏈接將如下所示:
鏈接:<http://en.example.com/document.pdf>; 相對=“替代”; hreflang="zh", <http://fr.example.com/document.pdf>; 相對=“替代”; hreflang="fr"
這種實現方法的最大缺點是什麼? 使用 HTTP 標頭會增加您網站上的每個請求的開銷,這會降低用戶的瀏覽體驗。
3 – 在您的 XML 站點地圖中實現 Hreflang
實現 hreflang 的最後一個選項是使用 XML 站點地圖標記; 這使用 XML 中的 xhtml:link 屬性將註釋添加到每個 URL。
雖然在您的 XML 站點地圖中實現 hreflang 的方法不止一種,但我們推薦這樣的方法:

或者,您可以使用下面的一些示例。
請注意:帶有一對語言/位置變量的單個 URL 所需的標記會顯得很長! 也就是說,請繼續閱讀以獲得好處。 (有許多!)
例子:
<網址> <loc>http://www.example.com/uk/</loc> <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/" /> <xhtml:link rel="alternate" hreflang="en-au" href="http://www.example.com/au/" /> <xhtml:link rel="alternate" hreflang="en-gb" href="http://www.example.com/uk/" /> </url>
注意第三個 URL 是自引用的; 這指定了特定的 URL 用於 en-gb,並指定了另外兩種語言/位置組合。 現在,在站點地圖中實現這兩個 URL 如下所示:
<網址> <loc>http://www.example.com/</loc> <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/" /> <xhtml:link rel="alternate" hreflang="en-au" href="http://www.example.com/au/" /> <xhtml:link rel="alternate" hreflang="en-gb" href="http://www.example.com/uk/" /> </url> <網址> <loc>http://www.example.com/au/</loc> <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/" /> <xhtml:link rel="alternate" hreflang="en-au" href="http://www.example.com/au/" /> <xhtml:link rel="alternate" hreflang="en-gb" href="http://www.example.com/uk/" /> </url>
假設您能夠查看大量文本,您會注意到只有 <loc> 元素中的 URL 發生了變化——其他一切都保持不變! 唷。 此方法依賴於具有自引用 hreflang 屬性的每個 URL,並返回指向其他 URL 的鏈接。
看起來工作量很大,對吧? 一方面,是的,這種方法很長,並且在對許多 URL 執行此操作時需要相當多的輸出。 也就是說,好處很簡單:普通用戶不會被這個標記所困擾; 沒有添加額外的頁面權重,並且生成這種標記不需要在頁面加載時進行大量數據庫調用。
最後,通過 XML 站點地圖實現 hreflang 有一個主要好處——一切都在一個文件中定義。 這樣就無需在每次更改或刪除頁面時編輯多個 HTML 文檔。 另外,零站點減速。 換句話說,有很多值得喜歡的地方!
仍然不確定選擇哪種實施模式? 有關網站架構和網站結構的更多提示,請訪問技術 SEO 最佳實踐。
查找和修復 Hreflang 問題
現在您已經在您的網站上成功實現了 hreflang(在此處插入虛擬高五!),維護是必須的。 對您選擇的實施進行定期審核將確保其設置正確。 與您公司中處理網站內容的個人交流會大有幫助——您希望他們了解 hreflang,這樣他們就不會無意中破壞您的實施!
這裡需要提到兩個關鍵點:如果頁面被刪除,請檢查其對應的頁面是否已更新; 當頁面被重定向時,更改其對應的 hreflang URL。 假設您和您的團隊始終如一地做這些事情並定期審核,那麼它應該是一帆風順的。
同時,這裡簡要介紹了最常見的 hreflang 錯誤以及如何修復它們:
1 – 缺少自引用 hreflang 註釋
有什麼大不了的? 每次將 hreflang 標記添加到網頁時,使用自引用 hreflang 標記很重要。 請記住 Google 聲明,“每個語言版本都必須列出自己以及所有其他語言版本。”
如何修復它:查看所有受影響的頁面,並使用您選擇的實施方法為每個頁面添加一個自引用的 hreflang 標記。
2 – Hreflang 註釋無效
有什麼大不了的? 搜索引擎會忽略無效的 hreflang 標籤,這會導致您的網頁的替代版本被忽略。
如何修復它:查看受影響的頁面並刪除無效的 hreflang 標記並替換為使用有效語言/位置代碼格式的那些。
3 – 在 hreflang 中引用的頁面不止一種語言
有什麼大不了的? 每條內容都旨在為單一語言/語言位置提供服務。 兩個或多個衝突的引用會混淆搜索引擎並導致 hreflang 屬性被忽略。
如何修復它:查看受影響的頁面並檢查在其 hreflang 屬性中引用特定頁面的 URL 是否存在錯誤。 刪除任何不正確的 hreflang 屬性,並且每種語言只保留一個正確的屬性。
4 – 缺少互惠hreflang(沒有返回標籤)
有什麼大不了的? Hreflang 標籤是雙向的(如果頁面 A 在 hreflang 註釋中鏈接到頁面 B,則頁面 B 必須鏈接到頁面 A 作為回報)。
如何修復它:查看受影響的頁面並在需要時添加雙向 hreflang 標籤。 注意:Google Search Console 中的國際定位報告(位於“語言”選項卡下)將標記所有缺少返回標籤的實例。
例如:
5 – Hreflang 到非規範
有什麼大不了的? Rel=“alternate” hreflang=“x” 指示搜索引擎顯示頁面的翻譯(本地化)版本; rel=canonical 屬性將標記這不是權威(規範)版本。 這些相互矛盾的屬性會使搜索引擎感到困惑。
如何修復它:查看受影響的頁面並修改 hreflang 註釋,使其僅指向規範 URL。 如果您偶然發現帶有無效規範標籤的頁面,請將其刪除。 這確保了 hreflang 屬性被搜索引擎正確理解和遵循。
6 – Hreflang & HTML 語言不匹配
有什麼大不了的? 當聲明的 hreflang 和一個或多個 URL 的 HTML 語言屬性之間存在不一致時,搜索引擎(Google 除外)會感到困惑; 保持這兩個屬性彼此一致很重要。
如何修復它:查看受影響的頁面並更改 HTML 語言屬性以確保它與聲明的 hreflang 屬性保持一致。
7 -Hreflang 到一個損壞的頁面
有什麼大不了的? 搜索引擎無法返回不存在的內容! 因此,指向死頁的 hreflang 屬性將被忽略。
如何修復它:查看受影響的頁面並更改 hreflang 註釋以確保它們鏈接到工作頁面。
8 – hreflang 中同一種語言的多個頁面
有什麼大不了的? 當一個或多個 URL 在 hreflang 註釋中引用相同語言(或語言位置)的兩個或多個頁面時,搜索引擎會變得混亂。
如何修復它:查看受影響的頁面並刪除其中一個 hreflang 註釋,因此每種語言都引用一個頁面。
9 – 缺少 X-default hreflang 註釋
有什麼大不了的? 雖然 x-default hreflang 屬性是可選的,但建議將它們作為所有 hreflang 註釋的 SEO 最佳實踐。
如何修復它:查看受影響的頁面並確保每個頁面都有一個“x-default”hreflang 屬性集,該屬性指向一個不特定於特定語言或位置的頁面。
還有問題嗎? 查看 Core Web Vitals 算法更新,其中概述了您今年想要更新的其他技術 SEO 實踐。
Google 可能會忽略的問題
您在遵循最佳實踐方面已經盡了自己的一份力量——不過,有時搜索引擎會忽略某些問題。 這主要發生在搜索引擎反复看到相同的問題並認為可以歸根結底時。 不要出汗! 這實際上非常有幫助。 以下是 Google 實際為您“修復”的一些 hreflang 標籤問題:
- 下劃線而不是破折號:這是一個常見錯誤,Google 對此進行了說明。 每一個。 單身的。 時間。
- 使用 en-UK 而不是 en-GB:我們之前討論過這個……地區代碼不一定直觀的事實。 請放心,Google 已為您提供保障:英國是保留代碼,這意味著 Google 會更正此常見問題。
- Hreflang 沒有自引用: Google 最近聲明自引用 hreflang 是可選的; 儘管如此,這仍然是一種很好的做法。
- 相對 URL 與絕對 URL:雖然 canonical 和 hreflang 都可以使用相對路徑,但絕對更絕對! 因此,建議盡可能使用它。
重定向用戶:注意事項
在許多情況下,網站會根據 cookie、IP 地址和/或瀏覽器語言的組合重定向用戶; 當心重定向! 對於用戶來說,這可能會轉化為令人沮喪(閱讀低於標準)的體驗; 對於搜索引擎,嘗試索引您的內容會成為問題。 此外,重定向用戶可能會破壞您的 hreflang 標籤所需的已建立連接。
以下是谷歌對這種做法的看法:
不要使用 IP 分析來調整您的內容。 IP 位置分析很困難,而且通常不可靠。 此外,Google 可能無法正確抓取您網站的變體。 大多數(但不是全部)Google 抓取來自美國,我們不會嘗試改變位置來檢測網站變化。 使用此處顯示的一種顯式方法(hreflang、備用 URL 和顯式鏈接)。
像對待來自任何位置的用戶一樣對待搜索引擎爬蟲。 以不同於對待用戶的方式對待搜索引擎機器人被認為是偽裝——向人類用戶和搜索引擎呈現不同內容或 URL 的做法——違反了 Google 的網站管理員指南。
想要一個經過批准的修復程序,為用戶提供他們預期的結果? 使用相同的檢測邏輯在小橫幅上為用戶推薦更好的頁面版本。 需要注意的是,如果它太大,可能會被視為插頁式廣告(導致內容被用戶完全或部分遮擋)。
Hreflang 專業提示
有一個 Google Chrome 擴展程序可以自動檢查站點的 hreflang 部署。 獲取有關此和其他 SEO Chrome 附加組件的內幕消息,這些附加組件可以幫助您管理日常 SEO 維護。
結論
了解、利用和排除 hreflang 故障是當今 SEO 的要求。 想確保您正在盡一切努力提高您的網站在世界各個角落的知名度嗎? Victorious 深入挖掘影響搜索的當地文化趨勢和購買模式,以確定您的國際 SEO 活動的最佳策略。
準備好開始使用 SEO 代理了嗎? 立即註冊您的免費 SEO 諮詢,讓 Victorious 指導您完成整個過程。