讓人開始研究這個主題的症狀,幾乎總是同一個:公司已經有日文版區塊,也已經被索引,但日本的搜尋者卻一再進到英文頁面。有時候,針對日文查詢,英文頁面的排名甚至還高過日文頁面。
hreflang 通常是原因之一。它不一定是全部原因——沒有人搜尋的日文頁面,不管怎麼標註都不會有排名——但它是你可以確定修好的部分,值得在下任何其他結論之前先處理。
hreflang 實際上在做什麼
hreflang 不會讓頁面取得排名。它是告訴 Google:這幾個網址是同一份內容的不同語言或地區版本,因此當其中一個符合顯示條件時,Google 可以換成與使用者語言和所在地相符的版本。
從這個定義可以推導出兩個結果,而大多數 hreflang 錯誤都源自忽略了其中之一。
第一,它是一種替換機制,而不是加分機制。如果你的日文頁面本身沒有能見度,英文頁面也沒有,那麼即使 hreflang 設定正確,也不會有任何改變。
第二,它作用的單位是網址群組,而不是整個網站。每個頁面都有自己的群組。/services/technical-seo/ 與 /ja/services/technical-seo/ 構成一個群組;兩個語言的首頁則構成另一個。用一段全站共用的標註區塊指向各語言的首頁,並在每一頁重複放置——這是「有設 hreflang 卻毫無效果」最常見的情況之一。
用 ja 還是 ja-JP?
語言子標籤是 ja,不是 jp。jp 是國家代碼——也就是出現在 .co.jp 和 ja-JP 裡的那個——它本身並不是有效的語言值。hreflang="jp" 是無效的,會被直接忽略。這是我們在日文版區塊上最常看到的 hreflang 錯誤,而且由於無效標註不會出現任何錯誤提示,它可能就這樣放了好幾年。
至於 ja 和 ja-JP 之間,老實說,大多數網站用 ja 就對了。
ja的意思是「這個頁面是給說日語的人看的」,無論他們身在何處。ja-JP的意思是「這個頁面是給在日本說日語的人看的」,會排除從其他地方瀏覽的日語使用者。
只有在你確實有不只一個依國家區分的日文版本時,才需要使用地區子標籤——例如一個附有日本定價的 ja-JP 頁面,以及一個給新加坡法人用的 ja-SG 頁面。如果你只有一個日文頁面,ja 就能涵蓋所有應該看到它的人,包括在海外旅行或居住的日語使用者。無故縮限為 ja-JP,只會白白少掉一群受眾。
如果你確實要使用地區子標籤,它必須是 ISO 3166-1 alpha-2 國家代碼,慣用的大小寫寫法是 ja-JP(這個值不區分大小寫,但保持一致會讓稽核更容易)。
互相對應:所有問題的癥結所在
群組中的每個網址都必須列出該群組中的每一個網址,包括它自己。如果頁面 A 宣告頁面 B 是它的日文替代版本,但頁面 B 沒有反向宣告頁面 A,Google 可能會完全忽略這組標註。
自我參照確實是必要的,而且確實經常被遺漏。日文頁面必須包含一行指向自己的 hreflang="ja",而不能只有指向英文頁面的那一行。
對於一個有英文原版和日文版本的網站,兩個頁面上都要放置完全相同的區塊:
<link rel="alternate" hreflang="en" href="https://example.com/services/pricing/" />
<link rel="alternate" hreflang="ja" href="https://example.com/ja/services/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/services/pricing/" />
要讓互相對應確實正確,最可靠的方法是不再手動維護。從單一可信來源產生群組——例如一份記錄每個頁面有哪些語言版本的頁面清單——讓群組內的每個頁面在結構上就必然輸出相同的列表。手動維護的 hreflang,只要有人新增一個頁面就會開始失準。
x-default
x-default 用來標示當沒有其他版本符合使用者時要顯示的頁面。它是選用的,而且經常被誤解。
請把它指向對「沒有更適合版本的使用者」而言最合理的備用頁面。通常是全球英文版,或者如果你有真正的語言選擇頁,就指向那一頁。不要把 x-default 指向日文頁面——否則日文頁面會被提供給你原本沒打算讓他們看到的使用者。
x-default 同樣適用互相對應的規則:群組中的每個頁面都應該放上相同的標註,包括它所指向的那個頁面。
有一個值得知道的細節:只有在存在不只一個可供選擇的版本時,x-default 才有意義。對於只有單一語言的頁面,整段標註區塊都只是雜訊。
該放在哪裡
有三種實作方式,對 Google 而言效果完全相同:
- 在
<head>中使用<link>元素——最簡單,也是大多數網站的合理預設做法。它們必須位於原始 HTML 的<head>中,而不是由 JavaScript 插入到<body>。 - HTTP
Link標頭——PDF 等非 HTML 檔案唯一可用的方式。 - XML Sitemap 標註——對大型網站而言往往是最容易維護的選擇,因為整個群組對應表集中在一個自動產生的檔案裡,而不是分散在數千個範本中。
只選一種。兩種彼此矛盾的方式並存,比只用其中任何一種都更糟——而當外掛程式和手寫範本同時運作時,這種情況出乎意料地常見。
canonical 與 hreflang 必須一致
許多原本正確的設定,就是在這裡出問題。
每個語言版本的 canonical 都必須指向自己(self-canonical),日文頁面也不例外。如果日文頁面帶有指向英文網址的 <link rel="canonical">——這種情況比你想像的更常見,通常是過去擔心重複內容時留下的遺跡——你等於告訴 Google 日文頁面根本不該被索引,那麼指向它的 hreflang 標註也就毫無意義。
從同一原則延伸出的相關規則:
- hreflang 必須指向可索引的標準網址——不能是重新導向、不能是帶參數的變體,也不能是設定了 noindex 的頁面。
- 使用包含通訊協定的絕對網址。hreflang 不支援相對網址。
- 結尾斜線、
www和https的寫法必須完全一致。https://example.com/ja/pricing和https://example.com/ja/pricing/是不同的網址;即使瀏覽器最後會到達同一個地方,不一致仍會破壞互相對應。
子目錄、子網域,還是 .co.jp
hreflang 在這三種架構上的運作方式完全相同。example.com/ja/、ja.example.com 和 example.co.jp 都可以互相標註為替代版本,Google 也能妥善處理跨網域的 hreflang 群組。
因此,網址結構的決策不是 hreflang 的決策——而是關於權威度、營運與信任感的決策,我們在〈想在日本取得排名,一定要用 .co.jp 網域嗎?〉中另有說明。唯一與 hreflang 相關的一點是:跨網域群組比較難維持互相對應,因為兩邊通常由不同團隊、依不同發布週期維護。這是營運風險,不是排名風險,但它確實存在。
最值得優先檢查的錯誤類型
大致依我們發現的頻率排序:
- 寫成
hreflang="jp",而不是hreflang="ja"。 - 一邊或兩邊缺少自我參照的標註。
- 群組沒有互相對應——通常是因為日文版區塊較晚建置,由不同團隊、用不同範本做出來。
- 全站共用的標註,讓每個頁面都指向兩個首頁。
- hreflang 的目標網址會重新導向、回傳 404,或帶有
noindex。 - 日文頁面的 canonical 指向英文頁面。
- 標註與實際網址之間的通訊協定、
www或結尾斜線不一致。 - 由用戶端 JavaScript 插入的標註。
- 依 IP 自動重新導向,把 Googlebot——它大多從美國 IP 位址進行檢索——完全擋在日文頁面之外。
最後一項值得特別強調,因為它會讓其他所有設定都失效。如果來自日本 IP 的訪客被強制導向 /ja/,而其他人則被強制導離,那麼你的標註描述的就是一個 Google 無法檢索的網站。請用可關閉的橫幅提示使用者切換語言,而不要強制執行。
如何驗證
Google 已經停用 Search Console 中專用的「國際指定目標」報表,因此不再有官方的 hreflang 驗證工具可以依賴。驗證現在是你自己的工作,但並不困難:
- 爬取兩個語言區塊,使用能擷取 hreflang 的爬蟲工具,檢查整體的互相對應狀況,而不是只抽查一個頁面。互相對應的錯誤通常是系統性的;只要有一個頁面出錯,很可能就有數百個頁面也出錯。
- 確認每個目標網址都回傳 200,canonical 指向自己,且可被索引。
- 檢查原始 HTML,而不是瀏覽器檢查工具中渲染後的 DOM——兩者可能不同。
- 使用網址檢查工具檢查一個具代表性的日文頁面,確認 Google 看到的是你預期的 canonical。
- 在 Search Console 成效報表中篩選日本,觀察日文查詢的曝光是由哪一個網址獲得。如果修正幾週後仍然是英文網址,那麼不是標註沒有被採用,就是日文頁面對該查詢而言不是可信的結果。
最後這個區別值得牢記。hreflang 決定的是你的哪一個頁面會被顯示,而不是你的頁面是否值得被顯示。如果日文頁面只是英文頁面的直譯,圍繞著英文的搜尋需求建構,那麼正確的標註只會把一個沒有人在找的頁面推到前面——這正是〈為什麼翻譯網站不等於日本 SEO〉一文詳細討論的論點。
先修好技術層面,因為它有明確答案,而且修好之後就不會再壞。接著再去處理比較困難的那一半。
如果你希望有人好好檢查你的設定,這屬於我們面向日本的國際 SEO與技術 SEO服務的工作範圍——把網址寄給我們,我們會告訴你發現了什麼。