网站收录

多语言站只有一种语言被收录:hreflang 与索引归属怎么核对

多语言或多地区站点常常只有一种语言版本出现在索引里,问题大多不在 hreflang 语法,而在发现路径、抓取结果和内容重复判断上。本文按发现、抓取、归一、分组四步给出核对顺序,并说明什么情况下该合并语言版本、什么情况下才值得保留独立索引。

网站收录

多语言站只有一种语言被收录:hreflang 与索引归属怎么核对

做多语言或多地区站点的人常遇到一种情况:英文版收录正常,其他语言版本在索引里几乎查不到;或者反过来,某个小语种版本被收录,主语言版本反而消失。这类问题通常不是 hreflang 写错了,而是语言版本从被发现那一步起就没走通。

先分清 hreflang 解决的是什么

hreflang 的作用是告诉搜索引擎“同一份内容存在哪几个语言或地区版本,分别给哪类用户看”。它不负责让页面被发现,也不负责让页面被收录。一个从没被抓取过的语言版本,写再多 hreflang 也不会自动出现在索引里。

所以遇到“只有一种语言被收录”,第一件事不是检查 hreflang 语法,而是回到更前面的环节:这个语言的 URL 有没有入口,有没有被抓取,抓到的内容和主版本是不是构成了重复。

索引是按 URL 逐条建立的

索引以 URL 为单位,每个 URL 有自己的标题、摘要和语言判断,搜索引擎不会因为几个语言版本互相指了 hreflang,就把它们合并成一条记录。相反,如果多个语言版本正文高度一致,只是换了导航和货币符号,很可能被当作重复内容处理,最终索引里只留下其中一条。这是“只有一种语言被收录”最常见的成因之一。

常见原因

  • 入口只放在主语言版:语言切换靠 JS 下拉或需要点击才渲染,蜘蛛看不到,其他语言版就成了孤岛。
  • sitemap 只提交了主语言:其他语言的 URL 没有出现在任何提交清单里,发现路径少了一条。
  • canonical 全部指向主语言版:等于主动告诉搜索引擎不要收那些版本,被合并或忽略都很正常。
  • 内容差异太小:机翻、只换少量词汇的版本,在价值判断上容易被归为重复。
  • URL 结构不统一:一会儿 /en/,一会儿 ?lang=en,归一化时容易互相冲突。
  • 测试阶段的规则没清理:robots 或 noindex 残留,某个语言目录整体被挡在外面。

核对顺序

  1. 确认每种语言的 URL 是否都提交过,数量和实际页面数是否对得上。
  2. 检查语言切换是否为可抓取的 a 标签,而不是按钮、事件或图片。
  3. 抽查几个语言版本的源码,确认 canonical 指向自己,而不是主语言版。
  4. 对照 hreflang 的互相指向,确认每个版本都能指回其他版本,且没有指向不存在的 URL。
  5. 模拟蜘蛛访问,看状态码、正文语言和主要内容是否正常返回。
  6. 对比不同语言版本的正文,判断差异是否足够,而不是靠机器翻译凑数。
hreflang 是给“已经能被看到”的页面做分组,不是让页面被收录的开关。发现和抓取没解决,分组就无从谈起。

什么情况下该合并,什么情况下该保留

如果某个语言版本本身内容很薄、没有本地化价值,与其硬留在索引里,不如合并到主版本,或者用 canonical 明确指向更完整的那一版。让索引里留下有独立价值的页面,比追求每个语言版本都收录更实际。

多地区站点(同一语言的不同国家版本)情况类似:价格、库存、配送范围确实不同,就要把这些差异写进正文,而不只是换个货币符号。内容层面没有区别,索引层面通常也不会给两个位置。

排查的固定顺序

多语言收录问题的排查路径基本固定:先看发现入口,再看抓取结果,然后看重复与归一,最后才回到 hreflang。按这个顺序走一遍,大多数“只有一种语言被收录”的情况都能定位到具体环节,而不是在标签上反复纠结。