Command Palette

Search for a command to run...

Hreflang 產生器:首次獲得您的國際 SEO 標籤

Hreflang 產生器:首次獲得您的國際 SEO 標籤

T
Toolz Team
|Aug 23, 2026|20 閱讀

搜尋引擎優化工具 合集的一部分

有一次我因為 hreflang 失去了一個堅實的下午。一位客戶有一個英語和法語網站,分為不同的網站 /en//fr/1,他們的法語頁面根本不會在法國排名--谷歌不斷向法國搜尋者展示英文版本。標記看起來正確。它在腦海中,代碼在那裡,URL 已解決。事實證明,問題是英文頁面指向法文頁面,但法文頁面沒有指向。 Hreflang 必須是互惠的,Google 會丟棄整個集群,因為缺少返回標籤。瀏覽器中沒有任何內容告訴我。沒有錯誤,沒有警告--只是頁面悄悄地未能對應該的位置進行排名。

簡而言之,這就是 hreflang。概念很簡單:告訴搜尋引擎頁面的哪種語言和區域版本,以顯示哪些使用者。執行是 ISO 程式碼、外殼約定、互惠規則以及一半網路忘記的後備標籤的雷區。我經常建立和維護多語言網站 - 跨 toolz。dev、WP Adminify'文件以及各種 Laravel 和 React 專案 - 我想要一個能夠產生標籤並在出貨前發現錯誤的工具。那是 赫雷夫朗產生器,這本指南就是我希望那天下午所知道的一切。

對於概念而不是工具,從開始 hreflang 標籤解釋道,這是該主題的中心,並連結到以下部分 x-預設, 常見的 hreflang 錯誤和框架設定 下一個。js字出版社.

TL;DR: hreflang 標籤告訴搜尋引擎要為每個使用者服務的頁面的語言/區域版本 rel="alternate" hreflang="x" 註釋。代碼遵循 ISO 639-1(語言)和 ISO 3166-1(地區)-英國也是如此 GB,不 UK. 標籤必須是相互的(每一頁都連結回來),並且您應該包含一個 x-default 後備。產生器將有效標籤輸出為 HTML 連結、XML 網站地圖條目或 HTTP 標頭,驗證每個程式碼,捕獲重複項,並在瀏覽器中 100% 運行。

什麼是 hreflang 標籤以及何時需要它們?

hreflang 標籤是一個註釋,上面寫著 &quot;此頁面還有針對特定語言和區域的另一個版本,這是其 URL。&quot;語法是 <link rel="alternate" hreflang="fr-CA" href="https://example.com/fr-ca/" />,在哪裡 fr-CA 指在加拿大使用的法語。當google了解這些關係時,它可以將加拿大法語頁面提供給加拿大的法語使用者,將美國英語頁面提供給美國的某人,而不是猜測或預設它首先爬行的版本。

每當您擁有多種語言的基本相同內容或針對多個地區的相同語言時,您就需要 hreflang。僅以英語存在的部落格不需要它。 SaaS 行銷網站絕對可以翻譯成六種語言。中間的情況 - 一種語言、多個區域,例如美國和英國的獨立商店都是英語 - 是 hreflang 最有價值和最被忽視的地方,因為除非您明確聲明它們為區域變體,否則這些頁面看起來就像 Google 的副本。

回報是雙重的。首先,正確的版本在正確的市場中排名,這提高了點擊率和轉換率,因為用戶會獲得適合他們的價格、貨幣和措辭。其次,hreflang 化解了重複內容問題:Google 不會將幾乎相同的區域頁面相互競爭和蠶食,而是將它們視為一組備用頁面,並選擇每個查詢的最佳適合度。

為什麼代碼會讓每個人都絆倒?

因為它們遵循標準,而不是直覺,而且標準有邊緣情況。

這些值是 BCP 47 語言標籤,定義於 RFC 5646,還有 Google&#39;自己的 本地化版本文件 是它接受哪個子集的權威。

語言部分是 ISO 639-1 代碼:兩個字母,小寫,如 en, fr, de, ja。 可選區域部分是 ISO 3166-1 alpha-2 代碼:兩個字母,大寫,如 US, GB, DE。 將它們與連字符放在一起,你就得到了 en-US 或者 de-DE. 咬人的習俗:

  • 英國是 GB,不 UK. UK 不是有效的 ISO 3166-1 代碼,且 en-UK 是沒有操作的。
  • 語言是第一位的,是強制性的;區域是可選的,不能獨立存在。 你無法瞄準 US 就其本身而言,不存在區域性 hreflang 之類的東西。它始終是語言,可選地按區域縮小。
  • 拉丁美洲使用 UN M49 代碼, es-419,因為它跨越許多國家而不是一個國家。這個三位數的區域代碼對於 &quot 有效且有用;西班牙語、拉丁美洲品種。&報價;
  • 中文通常需要腳本子標籤,喜歡 zh-Hant (傳統)或 zh-Hans (簡化),因為書面形式比國家更重要。

生成器驗證所有這些。它會根據預期形狀檢查每個程式碼,標準化外殼(小寫語言、大寫區域、標題大小寫腳本),並在子標籤不是公認的 ISO 語言或區域時向您發出警告 - 所以 en-UK 在浪費爬行之前被標記。

如何使用 Hreflang 產生器?

該工具是圍繞語言版本列表和輸出格式選擇構建的。

第 1 步 - 新增您的版本。 每行都是一個語言/區域代碼以及該版本的完整 URL。快速選擇清單提供通用代碼 (en-US, es-419, zh-Hant, x-default(等等)這樣您就不必記住確切的外殼。每個版本新增一行。

步驟 2 - 包含 x 預設值。 新增一行程式碼 x-default 指向您的後備 URL。這是提供給您未明確定位其語言的使用者的版本 - 通常是語言選擇器頁面或您的主要主頁。

第 3 步 - 選擇格式。 在 HTML 之間切換 <link> 頁面的標籤, xhtml:link XML 網站地圖或 HTTP 的條目 Link 非 HTML 檔案的標題。編輯時,產生器會驗證每個程式碼和 URL,捕獲重複的程式碼,並顯示每行的狀態表,以便您可以一目了然地看到哪些條目有效。

步驟 4 - 相互複製和部署。 複製輸出,並且(這是重要的部分)將相同的完整標籤集新增至群組中的每個 URL,包括自引用條目。然後使用 Google 搜尋控制台中的國際目標報告確認設定。

一切都運行客戶端,因此您的 URL 結構(可以暴露您的整個國際架構)永遠不會離開瀏覽器。這是網站上每個工具背後的相同隱私模型,包含在 資料隱私指南.

每種格式的輸出是什麼樣的?

這是一個有效的範例而不是描述。一家銷往美國、英國、法國和拉丁美洲的商店,以語言選擇器頁面作為後備。五行進入:

赫雷弗朗 網址
x-default https://example.com/
en-US https://example.com/us/
en-GB https://example.com/uk/
fr-FR https://example.com/fr/
es-419 https://example.com/latam/

請注意輸出前設定的兩件事。 en-USen-GB 都是英語,僅因市場而異,這就是 hreflang 存在的情況和大多數網站跳過的情況。和 es-419 是拉丁美洲的 UN M49 區域代碼,該工具接受該區域代碼有效而不是標記,因為三位數區域在語言標籤中是合法的,即使它不是 ISO 3166-1 alpha-2 代碼。

HTML 連結標籤,對於頁面 <head>:

<link rel="alternate" hreflang="x-default" href="https://example.com/" />
<link rel="alternate" hreflang="en-US" href="https://example.com/us/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/" />
<link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/" />
<link rel="alternate" hreflang="es-419" href="https://example.com/latam/" />

這個確切的區塊出現在所有五頁上,沒有變化。不引用;其他四個&引用;每頁:所有五個,包括頁面&#39;自己的條目。這就是註釋相互的原因。

XML 網站地圖條目,其中工具將同一組包裹在 a 中 <url> 元素並使用您的頁面 URL 作為 <loc>:

<url>
    <loc>https://example.com/us/</loc>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/" />
    <xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/us/" />
    <xhtml:link rel="alternate" hreflang="en-GB" href="https://example.com/uk/" />
    <xhtml:link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/" />
    <xhtml:link rel="alternate" hreflang="es-419" href="https://example.com/latam/" />
</url>

生成器會提醒您它可以產生的區塊之外的區塊: <urlset> 元素需要聲明 xhtml 命名空間,或每個 xhtml:link 當檔案仍驗證為網站地圖時,條目將被忽略。

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

HTTP 連結標頭,沒有的檔案的單一標頭值 <head> 編輯,例如 PDF:

Link: <https://example.com/>; rel="alternate"; hreflang="x-default", <https://example.com/us/>; rel="alternate"; hreflang="en-US", <https://example.com/uk/>; rel="alternate"; hreflang="en-GB", <https://example.com/fr/>; rel="alternate"; hreflang="fr-FR", <https://example.com/latam/>; rel="alternate"; hreflang="es-419"

從設計上來說,這是一條長線:一條 Link 標頭攜帶逗號分隔的值。在 nginx 中,這是一個 add_header Link "..."; 指令;在阿帕契一 Header set Link "...". 將其分成幾個 Link 標頭也可以,但將其保留為一個值可以明顯看出該集是完整的。

生成器&#39;s 警告是什麼意思?

該工具將阻止條目發出的錯誤與警告分開,警告允許條目通過但標記您應該查看的內容。這種區別很重要,因為大多數 hreflang 錯誤都是法律標記,毫無意義。

訊息 是什麼觸發了它 做什麼
不是有效的語言標籤 該值不匹配 language[-Script][-REGION] 首先使用語言代碼、區域可選或文字 x-default
語言子標籤不是通用的 ISO 639-1 代碼 格式良好但未被辨識的語言 根據 ISO 639-1 進行檢查;標籤以任一方式發出
區域子標籤不是通用的 ISO 3166-1 代碼 結構良好但未被認可的區域 這就是捕獲 en-UK,在哪裡 GB 是正確的
重複的 hreflang 相同的程式碼在集合中出現兩次 刪除一個;一個程式碼的兩個條目是一個矛盾
沒有 x 預設集 此集合沒有後備行 新增指向選擇器頁面或主要版本的選項
hreflang 以叢集方式工作 此集中只有一個 URL 新增其他語言版本;單項簇沒有任何作用
hreflang 必須是互易的 始終顯示 將相同的區塊部署到群組中的每個 URL

最後一個總是顯示的,而不是有條件的,因為它是客戶端工具無法偵測到的故障。互惠是其他頁面的屬性,而不是您面前集合的屬性,因此生成器會陳述規則而不是假裝驗證它。這裡的所有其他警告都是它可以真正檢查的東西。

另請注意,程式碼是在外殼上標準化的,而不是被拒絕的: EN-gb 成為 en-GB, zh-hant 成為 zh-Hant. 語言標籤的匹配不區分大小寫,因此外殼是約定的,但一致的輸出使得兩頁之間的差異是可讀的。

我應該選擇哪種輸出格式?

Google 接受三種實作方法,正確的一種取決於您的堆疊和頁數。

方法 最好 權衡
HTML <link> 標籤 大多數網站;直接控制每頁 為每一頁增加重量#39;頭;必須出現在每一頁上
XML 網站地圖 xhtml:link 大型網站;保持 HTML 乾淨 需要維護網站地圖; Google 處理速度較慢
HTTP Link 標頭 非 HTML 文件,例如 PDF 需要伺服器配置;更難審核

對於典型的網站, HTML 連結標籤 是最簡單的 - 您可以在來源中看到它們,它們易於調試,並且每個框架都可以呈現它們。為了 擁有數百種語言變體的大型網站,把hreflang放進去 XML 網站地圖 保持頁面標題傾斜並將註釋集中到一個文件中(記住要新增) xmlns:xhtml="http://www.w3.org/1999/xhtml"<urlset> 該工具提醒您的元素)。這 HTTP 標頭 方法雖然很小,但對於 PDF 等沒有頭可以放入連結標籤的非 HTML 資源至關重要。

無論您選擇哪一種,每組頁面僅使用一種方法。混合相同 URL 的 HTML 標籤和網站地圖條目可能會向 Google 發送衝突訊號。如果您已經產生網站地圖,則工具和#39;s 網站地圖格式可直接插入輸出 XML 網站地圖產生器.

什麼是 x 預設值以及為什麼它很重要?

x-default hreflang 值是為您未明確針對其語言或地區的任何使用者指定後備頁面的 hreflang 值。如果您的網站有英語、法語和德語版本,並且有人用日語瀏覽,則到達 x-default 告訴 Google 將它們發送到哪裡 - 通常是中立的主頁或允許他們選擇語言的頁面。

從某種意義上說,它是可選的,因為 hreflang 不適用於它,但 Google 建議將其包括在內,我在實踐中將其視為強制性的。如果沒有 x 預設,無與倫比的用戶將獲得 Google 猜測最接近的版本,這通常只是您抓取最多的頁面,而不是經過深思熟慮的選擇。

對於工具和#39;s 部分:一組沒有 x-default 行會發出警告而不是錯誤,因此您仍然可以複製輸出,但您會被告知。新增行,後退將以您選擇的三種格式中的任何一種在每頁的相同位置發出。指出它以及使其無用的錯誤都包含在其中 x-預設指南.

為什麼 hreflang 必須是互惠的?

這是我花了一個下午的時間,所以它有自己的部分。 Hreflang 註釋必須是倒數的。 如果 A 頁聲明 B 頁為其法語替代頁,則 B 頁必須聲明 A 頁作為回報。 Google 僅在雙方確認後才信任該關係。如果缺少返回標籤,Google 會完全忽略註釋 - 默默地忽略,頁面上沒有錯誤。

滿足此要求的乾淨方法是在群組中的每個頁面上放置完整、相同的 hreflang 標籤集,包括自引用條目(指向自身的頁面)。所以在你的 en-US 頁面,您包含標籤 en-US, en-GB, fr-FR, de-DE, 和 x-default - 並且出現完全相同的區塊 en-GB 佩奇,the fr-FR 頁面,等等。叢集中的每一頁都承載著整個地圖。這感覺是多餘的,但這正是註釋相互的原因,也是谷歌所期望的。

這就是為什麼生成標籤只是第一步。這 免費 hreflang 產生器 產生完整的區塊供您在整個叢集中重複使用,它會在警告中提醒您互惠,但部署規則 - 相同的區塊,每個頁面 - 都在您身上。正確理解,程式碼正確,hreflang 靜靜可靠地工作。弄錯了,它同樣安靜地失敗了。為了組裝技術 SEO 堆疊的更廣泛背景,我收集了其中的相關實用程式 web 開發人員工具包概述.

我如何測試 hreflang 是否有效?

部署後,與驗證 國際目標報告 (歷史上稱為 hreflang 報告)在 Google 搜尋控制台中。它列出了諸如 &quot 之類的錯誤;沒有返回標籤和報價;和&報價;未知語言代碼和報價;遍歷整個網站,這比逐一檢查頁面要快得多。使用 SEO 審核工具進行抓取還可以確認每個頁面都包含完整的倒數集。

我最常看到的錯誤,大致按頻率順序排列: 缺少返回標籤 (上面的互易失敗), 沒有 x 預設值, 使用 UK 代替 GB 或其他非 ISO 代碼, 僅區域標籤 這試圖針對一個沒有語言的國家, 相對網址 其中 hreflang 需要絕對的,並且 混合實施方法 對於相同的頁面。其中每一個都會產生看起來合理但沒有任何作用的標記。

hreflang 標籤產生器 旨在捕捉機器可以捕捉到的內容 - 格式錯誤的程式碼、未知的子標籤、重複項、非絕對 URL 和缺少的 x 預設 - 並提醒您它無法為您強制執行的內容,即互惠。完整的目錄以及每個人產生的症狀都在 12 個常見的 hreflang 錯誤. 如果您要將 hreflang 連接到更大的多語言版本,則 元標籤產生器 處理每頁標題的其餘部分,以及 編碼工具指南 完善開發人員工作流程。

您應該計劃哪些邊緣案例?

一旦基礎知識到位,就會經常出現一些情況來計劃。 規範標籤和 hreflang 必須一致。 每頁&#39;規範應該指向自己,而不是不同的語言版本 - 如果您的法語頁面規範化為英語頁面,您告訴 Google 完全刪除法語頁面,這會取消您剛剛添加的 hreflang。在語言簇中保持規範的自我指涉,並讓 hreflang 描述簇之間的關係; hreflang 與規範 透過組合進行工作。

語言和國家是獨立的軸。 擁有它是完全有效的 en-US, en-GB, 和 en-CA 全部為英文,但針對不同國家,且同樣有效 fr-CAen-CA 兩者都以不同的語言針對加拿大。不要假設每個國家/地區一頁或每種語言一頁;您正在繪製網站實際服務的特定組合。

尾隨斜線和協定必須與您的真實 URL 相符。 hreflang 指向確切的 URL,所以 https://example.com/fr/https://example.com/fr 是不同的目標。使用每個 URL 的規範、可索引形式(與您在網站地圖中提交的相同形式),因此註釋解析為即時頁面而不是重定向。 hreflang 目標中的重定向並不是致命的,但它增加了訊號減弱的跳躍和機會,因此值得準確了解。

常見問題

什麼是hreflang標籤?

hreflang 標籤告訴搜尋引擎要顯示給定使用者的頁面的語言和區域版本。它使用 rel=&quot;替代&引用; hreflang=&quot;x&quot;註釋,其中 x 是一種語言代碼(可選地帶有區域),因此可以為墨西哥的西班牙語使用者提供 es-MX 頁面而不是英語頁面。 Hreflang 幫助國際網站避免重複內容問題,並對每個市場的正確頁面進行排名。

什麼是正確的 HREFLANG 格式?

該值是 ISO 639-1 語言代碼,可選地後面跟著一個區域作為 ISO 3166-1 alpha-2 代碼 - 例如 en、en-GB 或 pt-BR。語言放在第一位,該區域是可選的;您不能單獨針對某個地區。請注意,這些標準與日常縮寫不同:英國是 GB,而不是 UK。

X-default 在 Hreflang 中的意思是什麼?

X-Default 為您未明確定位的語言或區域的使用者指定回退頁面。 它通常是您的主頁或語言選擇頁面。 Google 建議在每個 HREFLANG 集中包含一個 X-DEFAULT,以便將無與倫比的訪客發送到明智而不是隨機語言版本。

我應該把 hreflang 標籤放在哪裡?

您可以在三個地方實現 hreflang:作為連結 rel=&quot;交替引用; HTML 頭中的標籤,如 XML 網站地圖中的 xhtml:link 條目,或 HTTP Link 標頭(適用於 PDF 等非 HTML 檔案)。選擇一種方法並一致地應用它 - 將它們混合到相同的頁面可能會發送相互衝突的訊號。該工具產生所有三個。

hreflang 標籤必須是互惠的嗎?

是的。如果 A 頁聲明 B 頁為其法語替代頁,則 B 頁必須聲明 A 頁作為回報。 Google 忽略未由其指向的頁面上的返回標籤確認的 hreflang 註釋。最簡單的方法是在群組中的每個頁面上包含完整的、相同的 hreflang 條目集(包括自引用條目)。

HREFLANG 標籤可以修復跨區域的重複內容嗎?

HREFLANG 不會刪除重複的內容,但它告訴 Google,類似的頁面是彼此的區域或語言變體,而不是重複過濾掉。 這有助於在每個市場中排名正確的版本,而不是頁面互相蠶食。 對於真正相同的頁面,將 hreflang 與每個指向自己的正確規範標籤結合。

我如何測試 hreflang 是否有效?

在 Google 搜尋控制台中使用國際定位(或 HREFLANG)報告,其中列出了缺少返回標籤和未知語言代碼等錯誤。 您也可以使用 SEO 審核工具爬取網站,以確認每個頁面都包含完整的倒數。 修復可能需要時間來反思,因為 Google 必須重新抓取群組中的每個頁面。

我的資料是保密的嗎?

是的。 這些標籤完全是在您的瀏覽器中產生的,使用普通的 JavaScript。 您的 URL 和網站結構永遠不會被傳輸、記錄或儲存,一旦頁面載入,生成器就會在沒有網路連線的情況下繼續工作。


Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!