快速答案:外文頁要被搜到,三件事要對:每種語言有自己的網址(子目錄 /en/ 最省事)、每頁互相標 hreflang、不要用瀏覽器語言自動轉址把 Google 擋在門外。另外,「沒翻譯就顯示中文」的 fallback 頁會讓好幾個網址內容一樣,自己跟自己搶排名。
為什麼會這樣 #
Google 把每個網址當成一頁,靠 hreflang 才知道「這幾頁是同一份內容的不同語言」,然後在對的國家顯示對的版本。依瀏覽器語言強制轉址的問題是:Googlebot 多半從美國來,會被永遠導去英文版,中文頁反而爬不到。至於 fallback:WPML 或 Polylang 在某語言沒有翻譯時顯示預設語言,結果 /ja/product/ 和 /product/ 內容一模一樣,Google 視為重複頁面,排名互相稀釋。
怎麼處理 #
- 網址結構。子目錄(
example.com/en/)繼承主網域權重、一張憑證、一個主機,最單純。子網域或各國獨立網域只有在各國真的獨立營運時才值得。上線後不要再換。 - hreflang。WPML、Polylang 都會自動輸出,但要驗證:用 Google Search Console 或 hreflang 檢測工具確認每頁互指、且含
x-default。 - 不要強制轉址。改成第一次進站跳一個「切換到您的語言?」提示。WPML 的瀏覽器語言轉址預設關閉是有原因的。
- 處理 fallback。沒翻譯的頁面要嘛翻完,要嘛在該語言隱藏(WPML 語言設定裡有選項),並確認不在 sitemap 裡。一份內容只能有一個網址。
- sitemap。確認 SEO 外掛的 sitemap 列出各語言網址,noindex 的頁不在裡面。
- 各語言的 title 與描述分開寫,不要讓英文頁的搜尋結果還掛著中文標題。
我們實際遇過的情況 #
一家外銷製造商做 SEO 時發現,多語 fallback 產生的頁面在搜尋結果裡互相競爭,處理方式是把沒翻譯的語言頁隱藏、補齊 hreflang,讓每個國家只剩一個對應版本。同一家客戶原本想「把訪客直接導向偏好語言」,我們建議改成提示,避免把搜尋引擎一起導走。
什麼時候該找人 #
要改網址結構(例如從子網域改成子目錄)、需要大量 301 對應,或外文排名已經掉了要追原因,這些動到的是整站索引,改錯會讓排名再掉一輪。
WPTOOLBEAR網站工具熊