网站收录

多语言与多地区站点的收录:语言目录、hreflang 与重复内容治理

同一套内容拆成多个语言或地区版本后,索引里常出现只收录一版、多版互相抢词、URL 反复切换的情况。本文从版本关系、语言目录规划、hreflang 的作用边界、重复内容触发点和自检顺序几方面,说明多语言站点该怎样把关系写清楚,让收录更稳定。

网站收录

多语言与多地区站点的收录:语言目录、hreflang 与重复内容治理

同一个站点做出多个语言或地区版本之后,索引里常见的现象是:只收录了其中一版,或者几版同时出现却在互相抢词,甚至同一个页面在索引中反复切换地址。问题往往不在翻译质量,而在于版本关系没有在 URL 和信号层面说清楚。

先分清三种版本关系

  • 翻译版:同一主题、不同语言,内容对应但不完全等同,例如中文页与英文页。
  • 地区变体:同一语言、面向不同地区,例如 en-US 与 en-GB,正文可能大部分相同,差别在货币、地址、配送范围。
  • 切换变体:仅靠参数、cookie 或脚本切换语言,地址基本不变。

前两种适合各自拥有独立 URL,第三种对搜索最不友好,因为它让爬虫只看到一个地址、一份内容。判断时可以先问一句:关掉 cookie、不点任何按钮,直接输入地址能不能拿到这个语言版本?能,才算独立页面。

语言目录怎么规划

常见做法是用子目录,例如 /en/、/zh-cn/,把语言和地区写进路径。子域名与独立域名同样可行,只是要额外处理权重分配和配置成本。不建议把语言塞进参数,因为参数地址容易被折叠、被忽略,也不利于在 sitemap 里区分。

路径命名上保持稳定就好,不必频繁更换。真正影响收录的是地址是否唯一、是否可直达,而不是用了哪种写法。

hreflang 解决的是归属,不是收录

不少人以为加了 hreflang 就会收录所有语言版本,实际上它主要说明这些页面是同一主题的不同语言版本,请把对应版本展示给对应地区的用户。它不保证抓取,也不保证索引。页面仍要能被爬到、正常返回 200、有不依赖脚本就能读到的正文。

hreflang 是注释,不是收录开关。注释写错,反而会让搜索引擎判定版本关系混乱。

重复内容的几个触发点

  • 语言切换只改 cookie,地址不变,多个版本实际只存在一个地址。
  • 按 IP 或浏览器语言自动跳转,且跳转目标固定在首页级地址,爬虫拿不到其他语言版本。
  • 机翻版本未做本地化,正文与原文逐句对应,容易被判为重复。
  • 地区变体正文完全一致,只差一个邮编或电话,缺少实质差异。
  • 同一语言既有 /en/ 又有 /en-us/,两边内容相同且互相没有声明关系。

遇到这些情况,不必急着删页面。先判断哪些版本对用户确有必要,有价值的保留并补足本地化内容,重复度高的再考虑合并或加规范地址声明。

自检与处理顺序

  1. 确认每个语言版本都有稳定且独立的地址,直接访问返回 200,内容不依赖 cookie 或脚本才出现。
  2. 检查互相引用的 hreflang 是否成对、是否自引用、地区码写法是否规范。
  3. 逐版对比正文,找出差异极小的页面,决定补充内容还是合并处理。
  4. 确认 sitemap 是否按语言分开提交,每个文件只放该语言的地址。
  5. 最后再回看索引报告,区分是抓取问题、渲染问题,还是重复内容问题。

容易忽略的细节

  • 语言切换入口用可点击的链接,不要只做成脚本下拉框。
  • x-default 指向哪一版要有明确选择,通常是内容最完整或覆盖面最广的那一版。
  • 自动跳转尽量改成提示式横幅,让用户和爬虫都有选择的余地。
  • 不同语言的页面之间,正文里的内链也要指向对应语言版本,不要一律指向主语言。

多语言站点的收录问题,本质是把版本关系写清楚:地址独立、关系声明准确、内容有实际差别。做到这几点,索引里出现多版争抢或频繁切换的概率会明显下降,后续排查也有明确的入手点。