做多語言或多地区站点时,经常遇到同一個产品、同一篇文章存在好几個語言版本,内容结构几乎一样。有人担心這些頁面互相抢收錄,于是把所有版本都 canonical 到主語言頁面;也有人什么都不做,等搜尋引擎自己挑一個。這两種做法都可能出問题,關键在于先分清要處理的是哪一種重复。
多語言版本和多地区版本不是一回事
多語言版本是同一内容換成不同語言,比如中文、英文、日文頁面;多地区版本是同一語言面向不同地区,比如面向英國和美國的英文頁,差別可能只是價格、货幣、配送說明。两者的處理逻辑接近,但判断标准不同:多語言之間重复度通常更低,多地区之間重复度往往很高,差在少量本地化信息上。
hreflang 解决的是展示,不是收錄归属
hreflang 的作用是告诉搜尋引擎,這几個頁面是同一主题的不同語言或地区版本,應该按用戶的語言和地区展示合适的那一個。它不决定哪個 URL 進索引,也不是 canonical 的替代品。常见错誤是把 hreflang 寫成單向的,或者指向一個 canonical 到別處的 URL,最後两邊信号打架,搜尋引擎只能自己猜。
真正影响归属的是 canonical 和站内連結
如果每個語言版本都能獨立訪問、有獨立價值,canonical 應该指向自己。只有当某個版本只是同一頁面的參數變体、没有獨立内容时,才考虑合並。站内連結也要一致:語言切換器、導航、站点地图指向哪個 URL 越统一,搜尋引擎越容易确定主版本。
几種常见寫法與後果
- 全部 canonical 到主語言頁:其他語言版本基本不會獨立出現在索引里,用戶搜本地語言时也难以看到。
- canonical 與 hreflang 互相矛盾:信号冲突,處理時間會被拉長,结果不稳定。
- 語言切換器用 JS 跳轉或參數跳轉:部分版本可能長期不被發現。
- 各版本之間完全没有互鏈:每個版本各自為战,收錄進度取决于外部連結,容易參差不齐。
自查顺序
- 列出所有語言和地区版本,確認每個 URL 是否真的可以獨立訪問並返回 200。
- 检查每個頁面的 canonical:獨立内容指向自身,纯變体才合並。
- 检查 hreflang 是否双向、是否指向可訪問且非重定向的 URL。
- 確認語言切換器是普通連結,而不是只能靠点击才生成的 JS 跳轉。
- 在各語言版本的站点地图中互相列出,避免只有主語言被提交。
- 观察一段時間内每個版本的收錄狀態,区分没被發現和被發現但没被收錄。
如果各語言版本的正文差异很小、只是机器翻译,或者本地化信息几乎為零,那這些頁面本身就缺少獨立價值,收錄慢是内容問题,不是标簽問题。
什么情况下才考虑合並
当某個版本流量長期為零、内容與主版本高度重合、又没有本地化價值时,可以考虑把它 canonical 到主版本,或者用重定向收口。合並前先確認没有外鏈和用戶入口指向它,避免把已有信号一並丢掉。
多語言站点的收錄問题,多數不是出在某個标簽寫错,而是版本之間的關系没理清。先把哪些頁面值得獨立存在想明白,再谈 canonical 和 hreflang,顺序對了,排查會轻松很多。