WordPress hreflang 設定:多語系網站避免索引錯誤實作
多語系網站最常見的損失,不是翻譯品質差,而是 Google 把英文頁排給台灣讀者,或將繁中頁顯示給美國客戶。做好 WordPress hreflang 設定,才能讓搜尋引擎理解哪些網址是同一內容的不同語言或地區版本。
不過,hreflang 不是裝了外掛就能放著不管。網址架構、翻譯對應、canonical 與索引狀態,只要有一處互相矛盾,跨國 SEO 就容易失準。
以下以 WordPress 的實際管理流程為核心,說明 hreflang 如何配合 WordPress SEO,建立可檢查、可維護的多語系網站設定。它只是版本辨識訊號,仍需搭配清楚內容、穩定網址與良好使用者體驗。
重點整理
- hreflang 用來標示同一內容的不同語言或地區版本,不會直接提升排名,也不能取代內容品質與 WordPress SEO。
- 每種語言都應使用獨立、穩定且可索引的網址,並在同一組頁面中建立雙向回指與自我指向,語言代碼也要符合實際內容。
- 各語言頁通常應使用自己的 canonical;hreflang 不應指向 404、重新導向、noindex、被封鎖或不相關的頁面。
- 使用 WPML、Polylang 或其他工具後,仍需檢查前台原始碼、XML Sitemap 與 Google Search Console,確認輸出一致且版本關係完整。
hreflang 解決語言對應,不是排名按鈕
hreflang 標籤可放在 HTML、Sitemap 檔案或 HTTP 回應標頭中。它告訴 Google,這個網址有其他語言或地區版本,讓 Google 有機會在合適的搜尋結果中呈現正確頁面。
Google 在多語系頁面官方說明中指出,hreflang 用來標示內容的在地化變體。它不會直接提升網站權重,也不取代搜尋引擎優化,更不保證新頁面會立即被收錄。
它降低錯誤呈現,不會取代內容品質
假設你有一篇繁中服務頁和一篇英文服務頁,兩頁都談同一項服務。hreflang 能協助 Google 對應語言版本。英文頁仍要符合當地讀者的搜尋意圖,並兼顧 WordPress SEO 與使用者體驗。
只把繁中內容逐句機翻,再套上 hreflang="en",不會讓海外流量自然成長。價格單位、案例、法規、用詞與 CTA,都要貼近目標市場。
hreflang 處理的是版本關係,真正影響排名的仍是內容相關性、技術品質與使用者需求。
先辨別翻譯版本與獨立內容
兩個頁面不必逐字一致,卻應該回答相近的核心問題。例如:
https://example.com/tw/wordpress-maintenance/對應台灣繁中服務頁。https://example.com/en/wordpress-maintenance/對應英文服務頁。https://example.com/jp/wordpress-maintenance/對應日文服務頁。
反過來說,繁中首頁與英文版的「關於我們」頁面不能互相標示為對應翻譯。每一組 hreflang 都必須以同一頁面意圖為單位建立,而不是以整個網站的語言分類處理。
網址架構先定好,後續維護才不會失控
WordPress 多語系網站常見三種網址架構。網域架構沒有絕對的排名優劣,應依團隊的維護能力、內容需求與市場布局選擇。
| 架構 | 範例 | 適合情況 | 管理重點 |
|---|---|---|---|
| 子目錄 | example.com/en/ | 多數中小企業與內容網站 | 集中網域與後台管理 |
| 子網域 | en.example.com | 各市場有獨立內容或團隊 | 需分別管理設定與追蹤 |
| ccTLD(國家頂級網域) | example.jp | 在地品牌、法規或營運高度獨立 | 成本與維護量較高 |
對大部分 WordPress 網站來說,子目錄容易管理,也能讓內容、主題、外掛與分析工具集中在同一個環境,對 WordPress SEO 與後續維護較友善。Google 的多地區與多語系網站建議也強調,不同語言應有不同網址,清楚的網址結構與永久連結有助於搜尋結果對應正確版本。
不要用同一網址自動換語言
依瀏覽器語言或 IP 自動切換內容,看似方便,卻會讓使用者無法穩定分享指定語言網址,也增加搜尋引擎抓取與除錯難度。
較穩定的做法是,每種語言都有固定、可直接開啟的網址。固定語系網址也有利於跨國 SEO、使用者體驗與後續維護。你可以提供語言切換器,但不要強制把訪客導離他主動選擇的頁面。
此外,語言切換器應盡量連到同一篇文章的翻譯版本。若某篇英文文章沒有日文翻譯,日文切換連結不應假裝導向相同內容。
WordPress hreflang 設定前,先建立版本對照表
開始操作前,先盤點多語系網站的重要頁面。首頁、服務頁、產品頁、文章、分類頁與落地頁,都可能有不同的翻譯完成度。
最實用的做法,是建立一份頁面對照表,至少記錄頁面名稱、各語言永久連結、網址結構、canonical、索引狀態,以及是否有 x-default fallback。這份資料也方便後續檢查 WordPress SEO,尤其在新增語言或調整頁面時更重要。
每個版本都必須雙向連結
Google 要求 hreflang 群組維持完整關聯,每個版本都要建立雙向連結。繁中頁連到英文頁後,英文頁也要連回繁中頁,並列出同一組中的其他版本。
每個頁面還要包含自我指向。也就是繁中頁不只列英文和日文,也要列出繁中頁本身。缺少任一方向的連結、只從首頁標示,或不同頁面列出不同版本集合,都會讓 Google 難以判讀關係。
以繁中、英文與日文服務頁為例,三個頁面的 hreflang 標籤都要帶有同一組 URL:
zh-TW 對應 https://example.com/tw/service/
en 對應 https://example.com/en/service/
ja 對應 https://example.com/jp/service/
如果日文頁尚未完成,繁中與英文頁就不要先把不存在的日文網址放進 hreflang 群組。
語言與地區代碼不能隨意縮寫
語言代碼應依標準格式填寫。實務上,zh-TW 代表台灣繁體中文,en-US 代表美國英文,en-GB 代表英國英文,ja 代表日文。
不要自行寫成 tw、cn-zh、english 或 jp。國家代碼不能單獨當作語言代碼,其中 JP 是國家代碼,不是日文語言代碼。若英文內容對全球讀者相同,使用 en 通常比硬塞地區代碼更合理。
在 HTML head 放入 hreflang 的正確格式
小型網站、客製化主題,或需要檢查外掛實際輸出時,理解 HTML 格式很有用。hreflang 標籤會出現在每個頁面的 <head> 區塊,並使用完整絕對網址。
HTML 標籤、Meta 標籤、canonical 與結構化資料各有不同用途,不能互相取代。
以下是三種語言版本的格式範例:
<link rel="alternate" hreflang="zh-TW" href="https://example.com/tw/service/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/service/" />
<link rel="alternate" hreflang="ja" href="https://example.com/jp/service/" />
這三行必須同時出現在繁中、英文與日文對應頁面中。網址需包含 https://、正確網域與完整路徑,不要只填 /en/service/ 這類相對路徑。
手動加入前,先確認誰在輸出標籤
WordPress 站點常同時使用多語外掛、WordPress SEO、快取外掛與客製函式。先確認它們的實際輸出,再決定是否手動加入 hreflang 標籤。若 functions.php 已加入一份,而多語外掛也輸出一次,就可能產生重複或衝突訊號。
先用瀏覽器檢視原始碼,搜尋 hreflang,確認 hreflang 標籤是否完整。接著比對每個網址、代碼與版本數量,也檢查 XML Sitemap 與網站地圖中的網址。舊網址應符合目前的永久連結設定,確認沒有額外輸出後,再評估客製程式或外掛設定。
AI 可以協助整理大量文章的語言版本對照表,或初步找出缺漏版本。然而,代碼、URL、索引狀態與實際頁面內容仍要由人員逐一核對。自動產生的清單不是發布前的驗證結果。
canonical 與 hreflang 要一起看,但用途不同
canonical 標籤用來處理同語言內相似或重複內容,協助搜尋引擎判斷哪個網址是主要 URL。hreflang 標籤則告訴搜尋引擎,多個可獨立呈現的語言或地區版本彼此有關聯。
在 WordPress SEO 設定中,英文頁不應把 canonical 指向繁中頁,繁中頁也不該 canonical 到英文頁。對多語系網站而言,若三個語言頁都能被搜尋與閱讀,每頁通常應以 canonical 標籤指向自身。
繁中服務頁應指向:
<link rel="canonical" href="https://example.com/tw/service/" />
英文服務頁則應指向:
<link rel="canonical" href="https://example.com/en/service/" />
若英文網址含有追蹤參數、列印版或重複路徑,再由英文版本的 canonical 指向英文正式網址。這才是 canonical 正確的使用情境。
避免把所有語言頁收斂到單一網址
有些網站誤以為翻譯頁文字相近,就把全部 canonical 指向原始繁中頁。這樣做等於告訴 Google,其他語言頁不是獨立首選版本,容易造成重複內容判讀,並讓 hreflang 關係變得不一致。
針對同語言內的參數頁、分頁、重複產品頁,才需要評估 canonical 合併。若你正在排查這類問題,可參考Canonical 標籤與重複內容處理的 WordPress 設定原則。
用 WPML、Polylang 管理多語系關係
多語外掛的角色不只是翻譯欄位。對多語系網站而言,好的設定應讓每篇文章、頁面、分類與自訂文章類型,都能明確連結到對應語言版本。這些翻譯關係也要和 WordPress SEO 設定分開檢查。
WPML 可用 Sitemap 或 head 輸出
WPML 可依網站設定,在各語言 URL 的 Sitemap 或 head 輸出中呈現語言對應資訊。根據其多語系 SEO 與 hreflang 說明,管理者也能調整輸出位置。
操作時先在 WPML 建立網站語言與預設語言,再為每篇內容建立翻譯連結。完成後,檢查翻譯是否已發布,不是停留在草稿、私人或等待審核狀態。
若同時使用 Yoast SEO、Rank Math 或其他 WordPress SEO 外掛,請確認只有一套機制負責 hreflang。這些外掛可管理 Meta 標籤、canonical 與部分 Sitemap 輸出,但不代表會自動建立翻譯配對。
Polylang 的重點是建立正確翻譯配對
這套外掛適合需要自主控制語言、文章與頁面路徑的 WordPress 管理者。建立內容時,先在右側語言欄位指定語系,再使用翻譯連結建立同一篇文章的其他版本。
其介面和輸出行為會隨版本、附加元件及 SEO 外掛整合而變動。因此,完成設定後務必檢視前台原始碼與 Sitemap,確認 hreflang 標籤指向已發布且可索引的對應版本。官方也提供hrelfang 屬性與外掛設定說明,可用來比對目前版本的處理方式。
若你的網站正規劃語系、網址與翻譯流程,可延伸閱讀Polylang 多語系 WordPress 建站指南,先把內容架構定下來,再大量新增頁面。
XML Sitemap 與 HTTP 標頭適合哪些頁面
Google 支援 HTML head、網站地圖與 HTTP 回應標頭三種 hreflang 標籤實作方式。一般 WordPress 內容網站可優先採用前兩種。
XML Sitemap 適合文章量大、語言版本多的網站。它能集中管理版本關係,減少逐頁修改主題檔的風險。每個 <url> 節點都要列出完整語言集合,也要包含目前頁面。
PDF、檔案頁面可用 HTTP Link 標頭
HTML 標籤只適用於 HTML 文件。若你有 PDF 型錄、使用手冊或其他非 HTML 檔案,而且各語言都有獨立 URL,技術團隊可在伺服器回應中加入 Link 標頭。
格式概念如下:
Link: <https://example.com/tw/catalog.pdf>; rel="alternate"; hreflang="zh-TW"
Link: <https://example.com/en/catalog.pdf>; rel="alternate"; hreflang="en"
這種做法需要伺服器設定權限,也較難由 WordPress 後台直接管理。若沒有非 HTML 檔案的跨語需求,不必為了使用所有方法而增加複雜度。
不論採用哪一種方式,同一頁的三種輸出都必須列出一致的語言集合,避免 hreflang 標籤互相矛盾。從 WordPress SEO 維護角度來看,建議選定一個主要輸出來源,再用其他來源交叉檢查,不要同時重複輸出。
x-default 給未匹配語言的訪客
x-default 不是英文版的別名,也不是每個頁面必填的標籤。它用於沒有任何特定語言或地區版本可匹配時,Google 應優先考慮的 fallback URL。
在多語系網站中,hreflang 標籤應對應實際存在的語言版本。Google 對x-default hreflang 的官方說明也將它定位為語言與地區中立的 fallback URL。
例如,你的入口頁讓訪客自行選擇繁中、英文或日文,可加入:
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
這個設定只是 fallback URL,不會取代正確的語言配對,也不會改變頁面的 canonical 設定。
沒有翻譯時,不要硬導向不相關頁面
某篇英文技術文章尚未翻成繁中時,不應把繁中版本的 hreflang 指向首頁、文章列表或主題不同的頁面。對多語系網站而言,這會誤導訪客、損害使用者體驗,也可能讓 WordPress SEO 的版本判斷變得不清楚。
你可以保留英文頁可索引,並在頁面提供語言切換器與相關內容入口。等繁中譯文完成並發布後,再把它加入完整的 hreflang 群組。
noindex、重新導向與 404 會破壞版本關係
hreflang 指向的網址應是可抓取、可開啟且可索引的正式頁面。若目標頁帶有 noindex,Google 不會將它視為可收錄版本,hreflang 標籤也無法覆寫這項索引指令。
測試站、會員專區、搜尋結果頁或過期活動頁,通常不需要 hreflang。把 noindex 頁面放進語言對照組,只會增加混亂。同語言的重複內容,仍需依靠 canonical 或整理頁面處理。
先排除這些常見索引錯誤
在 WordPress 後台、SEO 外掛與伺服器規則中,依序檢查以下項目,這也是 WordPress SEO 的基本排查流程:
- 每個 hreflang URL 都回傳正常內容,不是 404、301 重新導向、鏈結迴圈或多次跳轉。
- 對應頁沒有
noindex、密碼保護、robots.txt 封鎖或指向錯誤語言版本的 canonical 標籤。 - 所有語言版本使用同一組完整回指,且每頁都包含自身。
- 修改網址後,檢查重新導向,並同步更新 Sitemap、hreflang 與語言切換器。
- 網站從測試環境上線後,移除整站阻擋搜尋引擎的設定。
多語系網站上線時,建議把這些項目納入WordPress 上線前 SEO 檢查清單。少了一個取消勾選的 noindex 設定,就足以讓完整翻譯內容無法出現在搜尋結果。
用 Google Search Console 驗證,不要只看外掛顯示成功
外掛顯示設定完成,只代表 WordPress SEO 外掛已輸出資料,不代表 Google 已抓到、接受或收錄頁面。發布後,先抽查多語系網站的首頁、核心服務頁與流量最高文章。
WordPress SEO 外掛輸出的結構化資料,與 hreflang 訊號是兩回事。前者不能取代語言版本之間的標記檢查。
在瀏覽器原始碼搜尋 hreflang,檢查是否出現完整絕對網址。接著開啟 XML Sitemap,確認每個版本都存在,沒有混入測試網域、舊網址或草稿頁。
Search Console 應該看哪些訊號
在 Google Search Console 使用網址檢查工具,依序確認 hreflang 標籤是否存在、Google 選擇的 canonical 是否符合預期,以及正式頁面是否可抓取。再到索引報表查看索引排除原因,並觀察 404、重新導向、遭 robots.txt 封鎖、重複內容或已排除 URL 是否異常增加。
網站地圖報表能確認提交是否讀取成功,但不能證明每個網址都一定收錄。新語系上線後,給 Google 一段抓取時間,同時持續檢查是否有版本未發布、URL 改動或伺服器錯誤。
多語系網站發布前檢查清單
以下清單適合用在新語系上線、網址改版、新增外掛或網站搬遷後,讓編輯、開發與 SEO 人員逐項驗收。
- 每種語言都有獨立、可直接開啟的正式網址。若採用子目錄,命名需符合既定規劃。
- 同一內容的所有語言頁完成雙向連結,並各自指向自己的正式網址。
zh-TW、en、en-US等代碼符合頁面實際語言與地區。- 每個語言頁都使用自己的標準網址,不會跨語言錯誤指向。
- hreflang 標籤的所有目標頁都可索引,沒有 noindex、404、密碼保護或抓取封鎖。
- 頁面原始碼與 HTTP 標頭的語系資訊一致,沒有輸出互相衝突的資料。
- 預設語言頁只指向語言選擇頁或真正中性的預設頁。
- 網站地圖已同步所有可索引語言頁,沒有遺漏或失效網址。
- Google Search Console 已完成核心頁面網址檢查,並確認重要網址可索引。
- 語言切換器會帶訪客前往對應翻譯,而非任意首頁。
- 永久連結修改後,相關內部連結與各語言版本仍能正常開啟。
- 外掛、主題與快取更新後,重新抽查前台原始碼,確認 WordPress SEO 輸出未被覆蓋。
結語:讓 Google 看懂,也讓訪客走對頁面
正確的 WordPress hreflang 設定,建立在完整版本對照與可維護流程,而不是幾行設定。固定網址、雙向回指、自我指向與正確代碼,是 WordPress SEO 與搜尋引擎優化的技術基礎。各語言版本也要保持自我指向,否則可能讓搜尋引擎誤判頁面關係。
當多語系網站持續產出在地化內容,並定期檢查索引與網址狀態,便有助於跨國 SEO、使用者體驗與網站權重,讓海外讀者更容易抵達適合他們的頁面。
常見問題
hreflang 可以避免重複內容處罰嗎?
hreflang 能協助 Google 理解不同語言或地區頁面之間的關係,降低錯誤版本出現在搜尋結果的機率。不過,它不是重複內容處罰的豁免,也不會自動提高排名。
每種語言仍應提供有價值的內容,並維持可抓取、可索引與正確的 canonical。
WordPress 多語系網站一定要使用 WPML 或 Polylang 嗎?
不一定。你可以透過客製主題、集中管理工具或其他多語系方案完成 hreflang。子目錄只是網址選擇之一,不是使用外掛的必要條件。
外掛能減少手動維護成本,但更新後仍要從前台原始碼和相關輸出驗證結果。
hreflang 應該放在 HTML head 還是集中式索引檔案?
hreflang 標籤可以放在 HTML head,也能透過集中式索引檔案輸出,兩種方式都符合 Google 支援的做法。內容量小、客製程度高的網站,常在 HTML head 輸出;文章量大且語言多的網站,集中管理通常較容易維護。
選定方式後,避免讓其他外掛在不同位置輸出衝突資料。
未匹配語言的訪客,應該導向哪個頁面?
可以,但前提是英文首頁確實是所有未匹配使用者的預設入口。若英文頁明確只面向美國市場,較好的做法通常是建立中性的語言選擇頁,並將 x-default 指向該頁。
發布 hreflang 後,為什麼 Google 還是顯示錯誤語言?
Google 需要重新抓取與處理頁面,結果不會即時改變。先確認頁面是否互相回指、canonical 是否正確、目標網址是否可索引,再透過 Search Console 檢查抓取與索引狀態。
若語言內容幾乎完全相同,或頁面實際語言與 hreflang 標示不符,Google 也可能選擇不同版本。這些檢查同樣是 WordPress SEO 與使用者體驗的一部分。
WPTOOLBEAR網站工具熊