我發布的最嚴重的 hreflang 錯誤是一行模板更改,該更改從 Google' 中刪除了四種語言版本;索引。頭部部分呈現了一個規範標籤,有人重構了它,因此規範是從預設區域設定而不是當前區域設定建立的。每個翻譯頁面都開始聲明英文頁面為其規範。 hreflang 註釋未受影響且仍然完美。它們也完全無關緊要,因為您無法提供已從索引中規範化的 URL。
沒有東西壞了。頁面仍然加載。非英語市場的流量在大約三週內下降,這大約是谷歌重新抓取所有內容所需的時間,而當很明顯原因已經是五次承諾時。
規範註釋和 hreflang 是最有可能相互混淆的兩個註釋,也是最有可能相互抵消的兩個註釋。本指南涵蓋了每個人的主張、保持相容的規則以及出錯的具體組合。它位於下面 完整的 hreflang 指南,旁邊 12 個常見的 hreflang 錯誤.
TL;DR: 規範標籤上寫著"在這些近乎重複的 URL 中,索引這個。" hreflang 註釋說 "這些 URL 是本地化的替代 URL,為每個使用者提供正確的問題。 & 引用;它們回答不同的問題,並且不得相互矛盾。規則是每個頁面都規範化到自身,並且 hreflang 描述了這些自規範頁面之間的關係。將一種語言版本規範化到另一種語言版本會將其從索引中刪除,並使 hreflang 集變得毫無意義,因為規範是更強的信號。
規範標籤聲稱什麼?
規範標籤在提供基本相同內容的一組 URL 中指定首選 URL:
<link rel="canonical" href="https://example.com/pricing" />
它的存在是因為相同的內容可以在許多 URL 上存取:有或沒有追蹤參數、有或沒有尾隨斜線、透過列印視圖、透過類別路徑和直接路徑。僅靠谷歌選擇一個並將排名訊號合併到它上。規範標籤是您如何自行選擇的方式。
有兩個屬性對於本次討論很重要。首先,它是一個 提示,雖然谷歌大部分時間都遵循一個強有力的指令,但它不是一個指令。其次,這就是咬人的部分 非規範 URL 停止以其自身的權利建立索引. 他們的訊號被折疊成正典。這就是標籤的全部要點,對翻譯來說這正是錯誤的事情。
hreflang 聲稱什麼?
赫雷夫朗提出了完全不同的主張:
<link rel="alternate" hreflang="de-DE" href="https://example.com/de/preise" />
它說:這個頁面的另一個版本存在,它針對的是德國的德語使用者,這就是它所居住的地方。它沒有說明應該索引哪個 URL。所有替代者都應在自己的市場中獨立地對每個排名進行索引。 Hreflang 是服務時應用的路由提示,而不是索引指令。
將兩者並排放置,差異就很明顯:
| 規範 | 赫雷夫朗 | |
|---|---|---|
| 問題它回答 | 這些 URL 中的哪一個應該被索引? | 該用戶應該看到哪個版本? |
| 對其他 URL 的影響 | 它們不再單獨索引 | 它們在其市場上保持索引 |
| 適用於 | 重複或接近重複的內容 | 翻譯或區域化的內容 |
| 方向 | 積分給一名獲勝者 | 描述一個對稱集 |
| 力量 | 強;通常跟隨 | 用於排名和發球時間的提示 |
翻譯的頁面不是重複的。它們對於不同的受眾來說是不同的內容,在結構上恰好是平行的。將它們視為具有跨語言規範的重複項是下面每個故障的根源的類別錯誤。
規則是什麼?
每一頁都規範化。 Hreflang 描述了這些自規範頁面之間的關係。
具體來說,英文定價頁面有:
<link rel="canonical" href="https://example.com/pricing" />
<link rel="alternate" hreflang="en" href="https://example.com/pricing" />
<link rel="alternate" hreflang="de" href="https://example.com/de/preise" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/tarifs" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing" />
德國定價頁面帶有相同的 hreflang 區塊和不同的規範:
<link rel="canonical" href="https://example.com/de/preise" />
<link rel="alternate" hreflang="en" href="https://example.com/pricing" />
<link rel="alternate" hreflang="de" href="https://example.com/de/preise" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/tarifs" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing" />
兩者都設定了相同的 hreflang,每個都設定了自引用規範。這就是整個模式。谷歌在其文件中記錄了相同的要求 本地化版本指南:註釋必須是相互的,它們命名的 URL 必須是您想要索引的 URL。
當規範指向跨語言時會發生什麼事?
語言版本消失了。
瀏覽它。法文頁面說&引用;索引英文頁面而不是我。&引用; Google 強制要求並從索引中刪除法文 URL。英文頁面' hreflang 說&引用;法文版本位於此 URL。&引用; Google 查看該 URL,發現它已規範化為已開啟的頁面,並且沒有任何內容可以為法國搜尋者提供服務。該集折疊為一頁。
症狀是爬行的語言版本,傳回 200,包含良好的翻譯內容,並且從不排名。在搜尋控制台中,URL 檢查工具將其報告為另一個頁面的替代頁面,而不是索引。該報告是確認診斷的最快方法,如果您正在尋找不會排名的語言版本,請先檢查它。
規範獲勝的原因是這兩個訊號在不同階段運作。索引過程中會發生規範化;在排名和服務過程中會查閱 hreflang。永遠不會進入索引的 URL 在稍後階段不可用。
一種語言中的參數和近重複項怎麼樣?
這是兩個訊號同時合法發揮作用的地方,只要保持各層筆直,組合就很好。
假設德國定價頁面可存取: /de/preise 和 /de/preise?utm_source=newsletter. 參數化 URL 規範化為 /de/preise,這是正確的:它們是一種語言中的真實重複。 hreflang 集合在 之間運行一個等級 /pricing, /de/preise, 和 /fr/tarifs,它只命名了每個的規範形式。
有兩條規則保持這一點:
- Hreflang 總是命名規範 URL。 切勿將註釋指向參數化或其他非規範 URL。該 URL 上的返回標籤將不匹配,因為規範版本是攜帶該區塊的版本。
- 在語言中規範化,而不是跨越。 參數、列印視圖、會話 URL,全部都可以。另一種語言,從來沒有。
相同的邏輯涵蓋分頁、多面 URL 和任何其他複製機制。在語言中解析它,然後讓 hreflang 描述解析集。
hreflang 有助於跨區域重複內容嗎?
部分原因是,這種區別值得精確區分,因為它經常被誇大。
Hreflang 不會重複資料刪除。它不會告訴 Google 忽略美國和英國英語頁面之間的相似性。它所做的就是告訴 Google 這些頁面是故意的區域變體,這改變了 Google 處理相似性的方式:它不是選擇一個並過濾另一個,而是保留兩個頁面並選擇每個查詢和每個用戶。
這就是同語言、多區域網站的實際優勢,也是這些網站比多語言網站更迫切需要 hreflang 的原因。不同語言的兩頁顯然是不同的文件。兩頁英文的價格和拼字不同,爬蟲沒有明顯的不同,如果沒有註釋,其中一頁就會遺失。
如果區域頁面確實一字不差地相同,那麼誠實的答案是您可能根本不需要單獨的頁面。 Hreflang 並不是證明近乎重複內容合理性的方法;它是一種描述因市場而合法區分的內容的方法。
你們如何一起審核兩者?
提取兩個註釋的爬行一次回答這個問題。對於每個 URL,您想要兩個事實:它的規範是否等於它自己的 URL,並且它的 hreflang 集是否與其兄弟版本匹配'。按規範排序並尋找多個 URL 在不同語言路徑上共享一個規範的群組。該分組是錯誤,一目了然。
對於單頁, curl 它並一起閱讀兩個標籤:
curl -s https://example.com/de/preise | grep -E 'rel="(canonical|alternate)"'
你要檢查的是規範 href 是您剛剛取得的 URL,並且 hreflang 區塊包含此頁面的條目'自己的區域設定指向同一 URL。這兩個事實是一致的,這是大部分戰鬥。
然後檢查 hreflang 目標本身是否自規範。一組可以是完全倒數的,但仍然失敗,因為其中一個目標在其他地方規範化,即本文頂部的失敗和從您正在查看的頁面中看不見的失敗。
規範和網站地圖怎麼樣?
相同的原則,擴展。網站地圖應僅列出規範的可索引 URL。如果您的網站地圖帶有 hreflang 註釋 xhtml:link 條目,這些條目命名與 HTML 相同的規範 URL。
這裡的故障模式是從路由表而不是從可索引 URL 集產生的網站地圖,因此它將參數化或非規範變體與真實變體一起列出。 Google 將網站地圖包含視為弱規範化提示,因此與規範標籤不一致的網站地圖是另一個矛盾的訊號。這 XML 網站地圖產生器 當您不確定目前清單中的內容時,這是重建乾淨清單的快速方法 hreflang 產生器工具 產生匹配 xhtml:link 以網站地圖格式進行封鎖。
常見問題
hreflang 和 canonical 有什麼不同?
規範標籤指定應索引幾個近乎重複的 URL 中的哪一個。 hreflang 註釋聲明多個 URL 是本地化備用 URL,並有助於搜尋引擎為每個使用者提供正確的 URL。規範整合; hreflang 有所不同。
每個語言版本是否應該規範化?
是的。 hreflang 集中的每一頁都必須有一個自引用規範。將翻譯頁面規範化為另一種語言會將其從索引中刪除,並使 hreflang 集毫無用處。
如果 hreflang 和規範不一致,哪個訊號獲勝?
規範,實際上。規範化發生在索引時間,未經索引的 URL 無法提供給任何人,無論 hreflang 註釋如何。
我可以在多語言網站上使用規範標籤嗎?
是的,你應該。使用它們來解決語言內的重複問題,例如追蹤參數和列印視圖。切勿跨語言使用它們。
hreflang 是否修復了我的美國和英國頁面之間的重複內容?
它不會重複資料刪除,但它告訴谷歌,這些頁面是故意的區域變體,而不是偶然的重複,因此兩者都保持索引,並且每個市場都提供正確的頁面。這是同語言多區域網站需要 hreflang 的主要原因。
hreflang 應該指向規範 URL 嗎?
永遠。將註釋指向參數化或非規範 URL 會破壞返回標籤,因為該區塊駐留在規範版本而不是您命名的變體上。
我該如何判斷正典是否正在扼殺語言版本?
透過搜尋控制台和#39運行URL;的 URL 檢查工具。如果它將頁面報告為另一個 URL 的替代頁面而不是索引頁面,則原因是跨語言規範。
網站地圖 URL 需要與我的規範標籤相符嗎?
是的。網站地圖應該只列出規範的、可索引的 URL。列出非規範變體的網站地圖會在您已發出的標籤頂部添加矛盾的訊號。



