网站收录

多语言站点收录对不上:先确认每个语言版本由哪个地址代表

多语言站点的收录问题常常表现为版本错位:英文页顶掉德文页,或者某个语言在索引里消失。本文按 hreflang、canonical、实际抓取三个层面给出核对顺序,帮你先确认每个语言版本由哪个地址代表,再判断问题出在信号层还是内容层。

网站收录

多语言站点收录对不上:先确认每个语言版本由哪个地址代表

多语言站点的收录问题往往不是“没收录”,而是“收录的版本不对”:德语页在索引里被英文页顶掉,日语页搜不到,索引里出现一个从没见过的语言标题。遇到这种情况,先别急着改模板,第一步是把每个语言版本由哪个地址代表弄清楚。

先把三件事分开:hreflang、canonical、索引条目

  • hreflang 是给搜索引擎的语言与地区提示,不保证一定被采纳,它本身不决定谁能进索引。
  • canonical 是收敛信号,用来指定同一组内容里哪个地址是代表。如果它和 hreflang 打架,收录结果就会飘。
  • 索引条目按地址建立,但展示时可能按聚类选择其中一个版本。看到英文标题出现在德语 URL 下,先确认是聚类造成的展示替换,还是地址本身出了问题。

逐语言版本的核对顺序

  1. 整理一份 URL 清单:每种语言、每个地区分别对应哪些地址,尤其注意 /en/ 与 /en-us/ 这类是否同时存在。
  2. 检查每个页面的 canonical 是否指向自己。多语言常见错误是所有语言版本都 canonical 到英文版,结果其他语言被合并掉。
  3. 检查 hreflang 是否闭环:A 指向 B,B 也必须指回 A,并且统一使用绝对地址。
  4. 检查语言代码写法是否规范:en、en-US、zh-Hans 这类常规形式,避免下划线写法或自造代码。
  5. 看蜘蛛实际抓了哪些版本。日志里只出现一个语言版本,说明入口或自动跳转把其他版本挡住了。
  6. 确认内容是否真的做了本地化。只翻译导航、正文几乎一样,被当作重复内容的概率会明显上升。

最容易踩的几个坑

  • hreflang 写成相对路径,或者指向已经被重定向的旧地址。
  • 用 cookie 或浏览器语言做自动跳转,蜘蛛默认只拿到一个版本。
  • 用参数区分语言,例如 ?lang=de,这类地址更容易被当成同一页面的变体。
  • 某个语言版本返回 404 或 5xx,但 hreflang 还挂在页面上,形成断链信号。

索引里出现另一个语言的结果,怎么判断原因

先记录三个信息:实际收录的 URL、该 URL 的 canonical、以及页面上声明的 hreflang。三者对齐,才说明问题不在信号层,而更可能出在内容相似度或抓取覆盖上。

聚类合并和 canonical 收敛是两个不同层次的动作:前者可能只是展示层替换了标题与摘要,后者会改变哪个地址被视为代表。核对时不要只看展示出来的语言就下结论。

核对清单

  • 每个语言版本 canonical 自指,除非确实打算合并到某一个语言。
  • hreflang 双向互指、使用绝对地址、指向返回 200 的最终地址。
  • 语言切换尽量用普通链接,而不是依赖自动跳转或 JavaScript 重定向。
  • 保持 URL 稳定,改版时用 301 指到新地址,不要新旧并存。
  • 如果内容确实无法本地化,明确保留一个版本,其他版本做好收敛。

多语言收录核对的核心不是“让蜘蛛多来几次”,而是让每个语言版本都有清晰、唯一、可被发现的代表地址。信号一致之后再看索引覆盖报告,结论才有意义。索引变化需要时间,也不存在提交之后必然收录的保证,按上面的顺序逐项核对即可。