網站收錄

多語言與多地区站点:收錄口径與重复内容的處理顺序

多語言、多地区站点常见的問题不是蜘蛛不来,而是版本口径没分清:收錄數按整站統計、hreflang 当成收錄開關、canonical 指向預設語言。本文拆解語言版本與地区版本的区別,给出重复内容的来源判断和處理顺序,帮助运营者按版本建立可對比的收錄观察口径。

網站收錄

多語言與多地区站点:收錄口径與重复内容的處理顺序

站点做了多語言之後,常见的情况是:英文版收錄得七七八八,日文版一個都没有;或者几個語言版本在索引里互相替代,搜品牌词出来的是你没打算主推的那個版本。這類問题很多时候不是“蜘蛛不来”,而是版本口径没分清、重复内容没有收口。

先分清語言版本和地区版本

這两件事经常被混在一起说,但處理逻辑不一样。

  • 語言版本:同一站点面向不同語言用戶,例如 /en/、/ja/、/de/。正文内容本身不同,重复度通常可控。
  • 地区版本:同一語言面向不同市场,例如 /us/、/uk/、/au/。正文可能高度重合,差异集中在货幣、库存、配送、價格上。

地区版本更容易出問题,因為它的内容相似度天然就高。如果只是換了货幣符号,其余正文一模一样,搜尋引擎没有理由保留多個版本。

收錄口径要按版本拆開看

用整站收錄數判断多語言站点,几乎一定會誤判。英文目錄涨了两千條,會把日文目錄一條没收錄的事實盖住。

更有效的做法是按目錄或子域分別統計:每個版本有多少可收錄 URL、被抓取了多少、進入了索引多少、索引里有多少是备用頁面。這几個數字放在一起對比,問题往往一眼能看出来——是没被發現,還是發現了没抓,還是抓了没留。

hreflang 不负责收錄,只负责指向

hreflang 的作用是告诉搜尋引擎:這几個頁面是同一内容的不同語言或地区版本,它們是同一组,而不是互相竞争的關系。它不能把頁面“推進索引”,也不能替代 canonical。

缺了 hreflang 的直接後果,通常是搜尋引擎自己挑一個版本保留,或者几個版本在索引里来回替換。挑错版本的时候,用戶看到的是不合适的語言或地区。

配置上有三点容易漏:一是必须自指,也就是頁面要指向自己;二是必须双向,A 指向 B,B 也要指向 A;三是語言代碼用規范寫法,別用自造的地区缩寫。

重复内容通常来自這几種情况

  1. 机翻或半自動翻译,正文几乎一致,只有導航和頁脚不同。
  2. 模板相同,正文只有一两句差异,其余全靠模块拼。
  3. 篩選參數、排序參數、會话參數在每個語言版本下又複製了一份。
  4. 預設語言版本被多個路径指向,例如根目錄和 /en/ 同时可訪問同一内容。

處理顺序

顺序比技巧重要,先做错的一步會让後面白做。

  1. 確認每個版本是否有獨立内容價值。如果只是机翻且無人维護,考虑合並到主版本,或用 noindex 明确排除,而不是硬留着。
  2. 让每個版本 canonical 自指。最常见的事故是子語言頁面的 canonical 指向了預設語言,等于自己声明“請收錄另一個頁面”。
  3. 配齐 hreflang 集群。包含自指、双向指向和 x-default,且只指向可索引的 URL,不要指向跳轉頁或带參數的地址。
  4. 检查語言切換連結是否可被爬取。很多站点用 JS 事件切換語言,蜘蛛顺着連結走不到其他版本,這是多語言收錄卡住的高频原因。改成常規的 a href 指向對應 URL。
  5. 分版本维護 sitemap。每個語言或地区目錄一份,便于分別观察提交與收錄的變化。
  6. 分版本观察,而不是看總數。给每個版本單獨建一個观察口径,判断周期也各自獨立。

一份可执行的自查清單

  • 語言切換是真實的連結,還是只在点击时执行脚本?
  • hreflang 是否自指、是否双向、語言代碼是否規范?
  • canonical 是否指向自身,而不是預設語言版本?
  • 預設語言是否被參數或 cookie 重定向挡住,蜘蛛拿不到?
  • 地区版本之間的差异是否只是货幣符号?
  • 各版本的 sitemap 是否分開,收錄資料是否分開統計?
多語言站点的收錄問题,多數不是抓取能力問题,而是“你希望搜尋引擎保留哪個版本”這件事没有想清楚。想清楚了,後面的 canonical、hreflang 和 sitemap 都只是执行動作。

落地时建议從体量最大的那個非預設語言開始试点,改完一個版本观察一段時間,確認口径和收錄變化符合预期,再複製到其余版本。一次性全站改動,出問题时很难定位是哪一步引起的。