網站收錄

多語言與多地区版本的收錄:hreflang 管展現,canonical 管去重

多語言、多地区站点在收錄上常见的問题不是收得太少,而是收错版本。本文把 hreflang 與 canonical 的分工讲清楚:前者解决给谁看哪個版本,後者解决谁是正式版本,並给出 URL 结构建议與上线後的自查顺序。

網站收錄

多語言與多地区版本的收錄:hreflang 管展現,canonical 管去重

多語言、多地区站点在收錄上最容易出的問题,不是“收錄太少”,而是“收错版本”:英文頁挤掉了中文頁,香港版和台湾版互相替代,或者反過来,同一語言的多套 URL 各收一份,把索引撑得乱七八糟。要理清這件事,先把两個概念分開:hreflang 解决的是“给哪個地区的用戶看哪個版本”,canonical 解决的是“哪個 URL 是這套内容的正式版本”。

hreflang 不是合並指令

很多人以為加了 hreflang,搜尋引擎就會把几個語言版本合成一條结果。實际上它發挥作用的前提是几個版本都已经被收錄,用来告诉搜尋引擎“這几個 URL 是同一内容的不同語言或地区版本,請把合适的那個展示给對應用戶”。也就是说,hreflang 既不负责收錄,也不负责去重。如果英文頁本身没進索引,hreflang 标得再全也没有意义。

哪些情况算重复内容,哪些不算

  • 同一篇文章的中文版與英文版:不算重复,是两個獨立内容,各自應该有自己的收錄。
  • 简体與繁体,正文措辞基本一致:属于高相似度,需要先想清楚是分開运营還是只保留一套。
  • 同一語言、同一措辞,只換了货幣或联系方式:大概率會被当成重复,這时候才轮到 canonical 出手。
  • 机器翻译後未做人工調整的多個語言版本:容易被判為低质,即使收錄了也很难带来流量。

URL 结构决定後續维護成本

語言和地区建议放在路径最前面,例如 /zh-cn/、/zh-tw/、/en/,层次清晰,便于規則统一。/zh-cn/ 與 /cn/ 混用、地区碼大小寫不一致,都會让後續的 hreflang 配置和日誌排查變得很累。用子域名或獨立域名也可以,但意味着要分別维護抓取與收錄,成本更高。

canonical 與 hreflang 的分工

canonical 只在同一語言内部使用。中文頁的 canonical 指向中文版,英文頁指向英文版,不要出現“英文頁 canonical 指向中文頁”這種跨語言指定,那等于告诉搜尋引擎只保留中文版。hreflang 則要求返回連結:A 頁面标注 B,B 頁面也必须标注 A,同时每個頁面都要自引用一條。缺少返回連結的 hreflang 集群,通常會被整体忽略。

另外建议加一條 x-default,指向没有語言匹配时的兜底版本,一般用英文頁或語言選擇頁。

上线後的自查顺序

  1. 先看各語言版本是否都已收錄,只有一條收錄的集群等于没生效。
  2. 检查 hreflang 是否成對、是否自引用,代碼里的地区碼是否與實际 URL 一致。
  3. 检查 canonical 有没有跨語言指错。
  4. 用站点地图按語言分開提交,便于分辨每個版本的抓取情况。
  5. 观察搜尋结果的落地頁:如果搜中文词長期落到英文頁,多半是版本信号混乱。

常见串位現象怎么處理

如果某語言版本長期被另一版本替代,先按上面的顺序確認各類信号是否一致;如果多個版本内容确實高度重复,就明确保留一個主版本,其余用 canonical 收敛,不要既保留全部版本又指望搜尋引擎自己挑。结构調整之後,索引里的版本更新需要時間,短期内仍看到舊版本並不代表改動没有生效,可以结合抓取日誌观察後續變化。

版本切換和 canonical 調整属于结构性改動,建议分批做,一次只動一類信号,這样更容易從日誌和搜尋表現里判断哪一步起了作用。