网站收录

多语言与多地区站点:收录混乱时先理清语言版本与 URL 的对应关系

多语言站点在收录上出问题,多半不是内容质量,而是语言版本与 URL 的对应关系没理顺。本文讲清子目录、子域、独立域名三种结构的取舍,hreflang 与 canonical 各自的分工,以及一套可以照着走的自查顺序。

网站收录

多语言与多地区站点:收录混乱时先理清语言版本与 URL 的对应关系

一个产品同时有中文、英文、日文页面时,搜索引擎要判断的不只是内容质量,还有这几件事:哪几个 URL 属于同一份内容的不同语言版本、每个版本面向哪类用户、主版本是谁。这几件事没理顺,常见的结果是不同语言版本抢同一批查询,或者只有其中一两个版本被收录,其余长期停在索引之外。

第一步:确定 URL 的对应关系

多语言站点的 URL 结构一般有三种做法,各有取舍,先选定再谈收录。

  • 子目录:example.com/cn/、example.com/en/。权重集中在一个域名,维护成本低,适合大多数中小站点。
  • 子域名:cn.example.com、en.example.com。可以分开部署和运营,但主域与子域之间需要额外的关联信号。
  • 独立域名:example.cn、example.com。地区隔离彻底,适合本地化运营差异很大的情况,代价是权重分散、维护成本高。

结构一旦上线,尽量不要中途大改。改结构意味着所有外链、内链、跳转、hreflang 标注都要同步调整,调整期间收录波动是正常的。

hreflang 解决的是指向,不是收录

hreflang 用来声明几个 URL 是同一内容的不同语言或地区版本,帮助搜索引擎把正确版本展示给对应用户。它不会让一个没被收录的页面进入索引,也不会阻止重复内容判定。常见写法问题有这些:

  • 单向标注:A 指向 B,B 没指回 A。这种信号通常会被忽略,必须双向回指。
  • 指向不可访问的 URL:目标被 robots.txt 挡住、被 noindex、或者返回 404,标注就失去意义。
  • 语言与地区码写得不规范:用 zh-Hans-CN、en-US 这类标准写法,避免只写 zh、en 却想表达地区差异。
  • x-default 缺失或指错:需要有一个默认版本承接没有匹配语言的用户,通常指向主语言或国际版。

canonical 与 hreflang 各管一段

这两者容易混用。hreflang 表达的是平行关系,几个版本同时存在、各自有效;canonical 表达的是归并关系,告诉搜索引擎这几个 URL 里只保留一个。多语言版本之间通常不应该用 canonical 互指,那是把其他语言版本主动合并掉了。canonical 在这里的用途,是处理同一语言内部的重复,比如带参数的筛选页指向干净版本。

如果发现某个语言版本一直不收录,先检查是不是被同站点其他版本的 canonical 或跳转指向吞掉了,而不是急着去加新的提交渠道。

一套可以照着走的自查顺序

  1. 逐个访问各语言版本,确认都能直接打开,没有多余跳转链。
  2. 检查 hreflang 是否双向、是否指向真实可访问的 URL。
  3. 核对 canonical,确认没有把其他语言版本误指到主语言页面。
  4. 看服务器日志里各语言版本的抓取频率,差异过大往往说明发现环节有问题。
  5. 用站内查询粗略看各版本的收录分布,再回头看内链是否只指向了其中一两个版本。

容易被忽略的几点

  • 语言切换按钮如果只用 JS 跳转、没有真实链接,蜘蛛很难顺着它走到其他版本,内链要给出可抓取的 a 标签。
  • 机翻内容若与已有版本高度重合,质量判定上会被压低,补充本地化信息比堆语言版本数量更实际。
  • 各地区站点如果共用同一套模板和同一批商品描述,重复内容问题会比单语言站点更明显。

多语言站点的收录问题,多数能在 URL 与标注层面找到原因。先把结构定清楚、把指向关系标注正确,再去看抓取和索引数据,比反复提交 URL 更有效。