網站收錄

多語言版本互相抢收錄:hreflang 與語言目錄的核對顺序

多語言站点常出現一個語言版本被收錄、另一個迟迟不進索引,或同一内容在不同語言版本之間互相竞争的情况。本文按 URL 形態、hreflang 互指與自引用、内容本地化程度、内鏈入口以及 canonical 冲突這几個方向,给出一套可以逐項执行的核對顺序。

網站收錄

多語言版本互相抢收錄:hreflang 與語言目錄的核對顺序

先分清是“没收錄”還是“收錄了另一個版本”

多語言站点常见的两種反馈:一是某個語言版本在索引里搜不到;二是搜到了,但结果里出現的是另一個語言版本。這两件事看起来一样,處理方向却不同。核對前先用 site 查询或 URL 检查工具確認,目标語言的地址究竟没有進入索引,還是被同内容的另一語言地址顶替了展示位置。

語言版本必须是各自獨立的 URL

如果把語言切換做成前端變量、cookie 或浏览器語言判断,同一個 URL 對不同訪客返回不同語言的正文,抓取端通常只能看到其中一種。這样其他語言版本没有可被抓取的地址,也就谈不上收錄。

  • 每種語言有獨立、可長期訪問的目錄或子域名,例如 /zh/、/en/ 或對應子域;
  • 不依赖 cookie、LocalStorage 或 Accept-Language 决定正文語言;
  • 切換語言时地址栏确實發生變化,能直接打開,也能被無狀態請求抓取。

hreflang 的三個必查項

hreflang 不是收錄開關,它解决的是“這几個地址属于同一内容的不同語言版本,請把對應語言的用戶送到對應版本”。寫错时未必直接導致不收錄,但容易让搜尋引擎選错展示的語言版本。

  1. 自引用:每個語言版本的頁面都要在 hreflang 列表里包含自己;
  2. 互指:A 指向 B,B 也要指回 A,單向声明通常等于無效;
  3. 代碼規范:使用 zh-CN、en、en-US 這類标准寫法,有預設版本时用 x-default 指向它。
hreflang 和 canonical 是两件事:canonical 指向的是同一語言下的規范地址,不要用它去指向另一種語言的頁面,否則等于自己否定了這個語言版本的收錄價值。

内容差异太小,容易被当成重复内容

如果各語言版本只有模板文字做了翻译,正文主体仍是同一段文本,或者只是做了關鍵詞替換,搜尋引擎可能只保留其中一個版本。想让每個語言版本具备獨立的收錄價值,至少要保證:

  • 正文是完整的本地化内容,而不是机器直译出来的片段;
  • 标题、描述、面包屑與结构化資料里的語言声明保持一致;
  • 本地特有的信息(價格單位、联系方式、服務范围)确實做了替換。

入口與内鏈:別只靠一個切換器

語言版本如果只有頁面顶部一個切換按钮指向它,抓取路径會非常單薄,URL 發現的優先級也偏低。更稳妥的做法是:

  • 站点地图分語言提交,或在同一份地图里标明各語言地址;
  • 主導航、頁脚、相關推荐里的連結指向對應語言版本,而不是统统指回主語言;
  • 新文章發布时就把各語言版本的互鏈一起补全。

一份可执行的核對顺序

  1. 用 URL 检查工具確認目标語言地址的抓取與索引狀態;
  2. 检查该地址是否返回 200,且没有 noindex、robots 屏蔽或登入墙;
  3. 確認語言由 URL 决定,而非 cookie 或前端變量;
  4. 核對 hreflang 的自引用、互指與代碼規范;
  5. 检查 canonical 是否错誤地指向了另一語言的地址;
  6. 對比各語言版本的正文重合度,判断是否落入重复内容;
  7. 补全内鏈與站点地图里的語言入口,再观察一段時間的抓取與索引變化。

這套顺序不保證某個語言版本一定被收錄,但能把“地址不可抓”“声明寫错”“内容過于重合”這三類干扰逐個排除,剩下的通常只是時間與頁面本身质量的問题。