網站收錄

多語言、多地区站点:語言版本互相串门,收錄该怎么收口

多語言或多地区站点常出現某個語言版本被收錄、另一版本迟迟不進索引,或搜尋结果里出現错誤語言頁面的情况。問题多出在 hreflang、canonical 與跳轉逻辑的信号冲突上。本文按信号层、跳轉层、内容层拆解原因,给出一套可执行的收口顺序與驗證方法。

網站收錄

多語言、多地区站点:語言版本互相串门,收錄该怎么收口

多語言或多地区站点常遇到一種情况:英文版、中文版、日文版都上线了,但搜尋里只稳定收錄其中一两個版本,其余的要么長期不進索引,要么互相替換,甚至出現英文頁面顶掉中文頁面搜尋结果的現象。這類問题通常不是“蜘蛛不友好”,而是版本之間的信号没有讲清楚,机器不知道该把哪一條地址当作對應語言的正主。

先分清三種“版本”

收口之前要把概念分開,否則很容易改错地方:

  • 語言版本:同一内容的不同語言,例如 /en/ 與 /zh/,内容本身不同,不算重复。
  • 地区版本:同一語言针對不同地区,例如 en-US 與 en-GB,如果正文几乎一样,就容易形成近似重复。
  • 預設版本:当用戶語言無法匹配时展示的那一版,通常用 x-default 标注,常见做法是英文版或語言選擇頁。

三種版本的收口手段不一样:語言版本重在把對應關系说清,地区版本還要額外處理内容差异,預設版本則要避免它把其他版本全部吸收掉。

語言版本互相串门的常见原因

hreflang 只做了單向

只在英文頁寫了指向中文頁的 hreflang,中文頁却没有回指英文頁,這種單向标注经常被忽略。搜尋引擎需要的是相互確認的對應關系,單向声明等于只说了半句话,结果往往是谁被先抓到谁先占位。

canonical 跨語言指错了

有些站点為了“集中權重”,把所有語言版本的 canonical 都指向英文版。這會直接告诉搜尋引擎“其他語言頁只是副本”,被合並的頁面自然很难獨立進入索引。canonical 應当指向自身語言版本,跨語言合並是這里最常见的誤操作。

按 IP 或浏览器語言自動跳轉

用戶訪問主域名时,用 IP 或 Accept-Language 直接 302 到某個語言版本,看起来体驗顺畅,但爬虫通常来自固定地区、不带語言偏好,很可能永遠只看到同一個版本,其他語言頁長期没有抓取入口。更稳妥的做法是保留一個可訪問的預設頁,用可见連結让用戶和爬虫自行選擇。

語言切換只用 JS 渲染

切換菜單由前端動態生成、初始 HTML 里没有對應連結,爬虫就找不到其他語言版本,也不會知道它們之間存在對應關系。切換入口最好在服務端輸出的 HTML 中就有可点击的 a 标簽。

一套可操作的收口顺序

  1. 確認每個語言版本都有稳定、可直连的獨立 URL,不要用參數或 Cookie 動態切換内容。
  2. 在頁面 head 中补齐 hreflang,包含自身在内的所有版本互相引用,並设定 x-default。
  3. 检查 canonical,确保每條地址只指向自己語言内的規范版本。
  4. 把語言切換做成 HTML 中的普通連結,測試在禁用 JS 的情况下仍然可用。
  5. 去掉基于 IP、UA 的强制跳轉,改成提示條或語言選擇頁。
  6. 在 sitemap 中按語言拆分提交,或用 sitemap 的替代版本标注把對應關系再寫一遍。
  7. 观察两到四周的抓取與索引資料,看是否仍有版本被反复替換。

地区版本共用同一語言时要小心

如果 en-US 和 en-GB 除了货幣、运費說明几乎没差別,那么它們本质上是近似重复頁面。此时要么补充真正有地区價值的内容差异,要么明确保留一個主版本、另一個做合理的對應标注,而不是让两個几乎一样的頁面同时去争同一批關鍵詞。

判断标准很简單:把一個地区版本的語言和货幣去掉,剩下的内容還有多少是当地用戶真正需要的?如果几乎没有,那這條 URL 存在的意义就要重新评估。

怎么驗證收口是否生效

可以從三個角度回看:一是抓取日誌里各語言版本的抓取频次是否均衡,長期只有一種語言被抓就說明入口有問题;二是索引中出現的語言版本是否與目标市场一致;三是搜尋特定語言的關鍵詞时,返回的是不是對應語言的頁面。如果三個方向都還在互相替換,優先回头检查 hreflang 的双向性和 canonical 的指向,這两處出問题的概率最高。

多語言站点的收錄問题,本质上不是技術难度,而是信号一致性。只要對應關系寫全、跳轉不挡路、内容确有差异,索引慢慢會趋于稳定;反過来,任何一處信号矛盾,都可能让某個語言版本長期缺席。