網站收錄

多語言站点的收錄:每個語言版本该以什么身份進索引

多語言站点做收錄,麻烦往往不是抓不到,而是抓得不對:几個語言版本互相顶替,搜某個語言市场却返回英文或机器翻译頁。本文從獨立 URL、URL 结构選擇、hreflang 常见错誤、canonical 的使用邊界,到机器翻译頁面的放出节奏,给出一條可执行的自查顺序。

網站收錄

多語言站点的收錄:每個語言版本该以什么身份進索引

多語言站点做收錄,麻烦往往不在“收不到”,而在“收得不對”:同一批内容有好几個語言版本,搜尋结果里出現的可能是英文版,也可能是机器翻译版,甚至几個版本互相顶替,最後每個語言市场都拿不到稳定的展現。這類問题多半不是抓取出了故障,而是版本之間的信号没有理顺。

先確認一件事:每個語言版本都是獨立頁面

只要 URL 不同,搜尋引擎就当成不同頁面處理。它們各自需要有自己的标题、正文、内鏈和入口,不能只靠一套頁面加切換語言按钮動態渲染。如果切換語言後 URL 不變、内容靠 JS 或 cookie 變化,蜘蛛通常只會看到一個預設版本,其他語言的内容既没有獨立地址,也谈不上被單獨索引。

所以第一步很朴素:每種語言、每個地区對應的内容,是否有可直達、可被抓取的獨立 URL。

URL 结构:子目錄、子域名、獨立域名

三種常见做法都可用,差別在于信号的清晰度和维護成本:

  • 子目錄(example.com/de/):權重集中在同一域名,配置和統計最简單,中小站点首選。
  • 子域名(de.example.com):拆得比較干净,但需要額外的站点級驗證與配置,容易漏掉某几個版本的 sitemap 和 hreflang。
  • 獨立域名(example.de):本地化观感强,但要單獨维護收錄與索引狀態,成本最高。

無论選哪種,保持同一站点内的一致性。混合使用,比如一部分語言放子目錄、一部分放獨立域名,會让版本關系更难表達,也让後續排查變得零碎。

hreflang 最容易出错的几個地方

hreflang 的作用是說明“同一内容的不同語言或地区版本是這几條 URL”,它不是排名工具,只是關系声明。常见错誤有:

  1. 單向标注:德语頁面指向英语頁面,英语頁面没有回指。這種不對称關系容易被忽略,等于只声明了一半。
  2. 指向打不開的 URL:版本下线後 hreflang 没同步更新,指向 404 或重定向。
  3. 指向被 noindex 或 canonical 收口的頁面:一邊说“這是某個語言的正式版本”,一邊又告诉搜尋引擎別索引它,信号自相矛盾。
  4. 語言與地区代碼寫错或混用,把 zh-CN 和 zh-TW 当成一回事,或者只寫語言不寫地区。
  5. 靠 JS 注入:爬取阶段不一定执行,容易漏讀。放在 HTML 头部或 XML sitemap 里更稳。

另外,x-default 用来指定没有匹配到具体語言时展示哪一版,通常给語言選擇頁或國际版,不要随手指到一個随机版本上。

canonical 不要跨語言使用

有人為了“集中權重”,把法语頁面 canonical 到英语頁面,结果法语版本從索引里消失,法语用戶搜到的全是英文頁面。只有当两個 URL 是同一種語言、同一份内容时,canonical 才是合适的收口手段。跨語言的近似内容,應该用 hreflang 表達版本關系,而不是互相 canonical。

机器翻译頁面要不要放出去

自動翻译的頁面能不能被索引,關键不在“是不是机器翻的”,而在质量:術语是否一致、導航和按钮有没有翻漏、頁面是否只是把原文換了一遍词。大量低质量翻译頁被放出去,常见後果是這些頁面進了索引却没什么展現,或者同一個語言下出現多個近似版本,彼此消耗。

比較稳妥的做法是分批放出:先放核心栏目和轉化路径,观察這些頁面的抓取與展現,再决定要不要铺到全站。质量不過關的版本,宁可先 noindex 收着。

自查顺序

  • 每個語言版本是否有獨立、可直達、返回 200 的 URL。
  • hreflang 是否双向對称、目标可訪問、且没有被 noindex。
  • canonical 是否只在同語言内部使用。
  • 各語言版本的 sitemap 是否都提交,且只包含對應語言的 URL。
  • 抽查几個語言站内搜尋或 site 查询的结果,看返回的是不是该語言版本。
多語言收錄的目标不是让每個版本都被收錄,而是让每個語言市场搜到的,是對應語言的那個版本。