語言切換器的 SEO:選單怎麼做才不擋爬蟲、不破壞 hreflang

語言切換器的正解是「一組爬蟲讀得到的純文字 <a> 連結」,指向各語言版的絕對網址,且不強制依 IP 自動跳轉。 如果你的切換器是 JavaScript 下拉、onchange 導航或依訪客 IP 自動改語言,Googlebot 與 AI 爬蟲很可能根本看不到其他語言版本,導致那些頁面收錄不全、hreflang 回連斷裂、繁簡互相蠶食——整套多語架構等於白做。

為什麼切換器的實作方式會決定其他語言版能不能被收錄?

爬蟲發現多語頁面有兩條路:一條是 hreflang 標註,另一條就是頁面上實際的內部連結。這兩條路最好互相佐證。問題在於,很多切換器把「連到其他語言版」這件事藏進了爬蟲讀不到的地方:

只要其他語言版沒有一條可爬的連結進入,Google 對那組頁面的信心就低,hreflang 的雙向回連也可能被判定不完整而被整組忽略。

三種語言切換器做法比一比

做法 爬蟲讀得到其他語言版? 對 hreflang 的影響 主要風險 建議
純文字 <a href> 連結(每個語言一個絕對網址) 是,直接可爬 與 hreflang 互相佐證,最穩 幾乎無 ✅ 正解
JS 下拉/onchange 導航 不一定(靠 JS 渲染,AI 爬蟲多半讀不到) 內部連結訊號缺失,回連可能不完整 其他語言版收錄不全 ⚠️ 需退化為可爬連結
依 IP 強制自動跳轉 否(Googlebot 用美國 IP,只看得到一個版本) 其他語言目錄幾乎不被抓取 大量頁面等於隱形 ❌ 避免
Cookie/Accept-Language 自動改內容 否(同 URL 回不同內容) 訊號混亂 觸及 cloaking 灰線 ❌ 避免

結論很直接:能不能被收錄,取決於切換器有沒有留下一條「不需執行 JS、不需特定 IP」就能跟隨的連結。 動畫、下拉 UI 都可以保留,但底層一定要是真的 <a href>

正確實作:五個步驟

  1. 每個語言選項都是真的 <a href>:切換器展開後,每一個語言都對應一個 <a href="https://example.com/zh-hant/pricing/">繁體中文</a> 這樣的絕對網址。要炫的下拉動畫沒問題,但 DOM 裡必須存在這些連結,而非只在點擊時才由 JS 產生。
  2. 連到「對應頁」而非一律回首頁:在定價頁按下英文,應該去英文版定價頁 /en/pricing/,不是 /en/ 首頁。一律導回首頁會流失情境,也讓內部連結對不上 hreflang。
  3. 與 hreflang 一一對映:切換器列出的語言集合,要和該頁 hreflang 標註的語言集合完全一致(含自我參照與 x-default)。切換器有簡中、hreflang 卻沒有,兩邊訊號打架。
  4. 不要強制 IP 自動跳轉:可以在偵測到疑似語言不符時,用一條可關閉的橫幅「建議切換到簡體中文?」,但預設仍停在使用者請求的 URL,把選擇權交回使用者與爬蟲。
  5. 加上 hreflanglang 屬性輔助:切換器連結可加 hreflang="zh-Hans",並確保頁面 <html lang="…"> 正確;這對無障礙與爬蟲判讀都有幫助(但它輔助、不取代 <head> 裡的 hreflang 標註)。

驗證:怎麼確認切換器沒擋到爬蟲?

常見問題(FAQ)

Q1:語言切換器一定要放在每一頁嗎? 建議是。切換器本身就是一組全站性的多語內部連結,放在共用的頁首或頁尾,能讓爬蟲從任一頁都發現其他語言版,強化 hreflang 的回連。只放在首頁,長尾內頁的其他語言版就少了一條被發現的路。

Q2:用 JavaScript 下拉選單一定不行嗎? 不是「不能用 JS」,而是「不能只有 JS」。下拉 UI 可以保留,關鍵是底層 DOM 要有真正的 <a href>,讓不執行 JS 的爬蟲也能跟隨。純靠 onchange 事件跳轉、DOM 裡沒有連結的做法才是問題。

Q3:偵測到訪客語言後自動跳轉,Google 會怎麼看? Google 官方不建議依 IP 或瀏覽器語言強制自動轉址,因為 Googlebot 多從美國、以預設語言抓取,會被鎖在單一版本,導致其他語言收錄不全。正解是給出可關閉的「建議切換」提示,而非強制跳轉。

Q4:切換器要不要對每個語言連結加 hreflang 屬性? 可以加,但它是輔助。連結上的 hreflang="zh-Hans" 有助爬蟲與無障礙判讀,卻不能取代 <head> 或 sitemap 裡那組正式、雙向回連的 hreflang 標註。兩者搭配、集合一致才完整。

Q5:切換器該連到對應頁還是首頁? 連到對應頁。在文章 A 按下另一語言,就去該文章 A 的對應語言版;找不到對應頁時才退回語言首頁。一律導回首頁會流失使用者情境,也讓內部連結與 hreflang 對映不上。


把切換器做成可爬的文字連結,只是多語架構的一環;真正決定繁簡會不會互搶排名的是底層的 hreflang 標註是否正確。想確認你的標籤有沒有漏回連、漏自我參照,可用 GeoSeoToday 的 hreflang 產生器與 GEO 檢測工具。基礎觀念請先讀〈hreflang 是什麼?多語言站必備教學〉,整體策略見支柱頁〈多語言 / 國際 SEO 完整指南〉。