多语言、多地区站点在收录上出问题,往往不是页面内容不够好,而是同一批内容被拆成了几个互相竞争的版本,或者版本之间没能互相说明关系。搜索引擎面对多个语言 URL 时,需要明确知道哪一个版本是给哪一类用户看的;否则容易出现只收了一个语言版本、其他版本长期停留在“已发现未索引”,或者几个语言版本互相替代的情况。
一、先看清 URL 是怎么分语言的
核对之前先把 URL 结构列出来,常见三类:子目录(/en/、/de/)、子域名(en.example.com)、独立域名(example.de)。三类各有取舍,但核对时的重点一致:同一语言版本的 URL 是否稳定、是否唯一、是否能被内链和站点地图覆盖到。
- 子目录最容易继承主域名权重,也最容易因为目录配置错误导致语言页面 404 或重定向回默认语言。
- 子域名和独立域名要单独确认抓取状态,不要默认主域的抓取情况能代表它们。
- 如果同时存在 /en/ 和 /en-US/ 这类区分,先确认两者是不同内容,还是同一内容的两个入口。
二、hreflang 的核对要点
hreflang 是版本关系的声明,不是收录开关。它不会让页面被收录,但写错会误导搜索引擎选择版本。
- 每个语言版本都要有指向自身的 hreflang(自引用),漏掉自引用是最常见的错误之一。
- 一组语言版本的 hreflang 必须互相对应,A 指向 B,B 也要指向 A。
- x-default 一般指向默认版本,且在同一组里只出现一次。
- hreflang 里的语言代码要和 URL 的实际内容一致,不要把英文页标成 de。
- 不要用 hreflang 代替 canonical,也不要让已经被 canonical 指向别处的页面继续声明 hreflang。
三、按“入口—版本—关系”的顺序核对
把核对拆成三步,比一上来就改标签更有效。
1. 入口是否齐全
每个语言版本是否有独立入口:语言切换器是否用可抓取的 a 标签、站点地图是否包含各语言 URL、对应栏目页之间是否互相链接。切换器如果用 JavaScript 动态写入,需要确认渲染之后链接仍然能被抓到。
2. 版本是否自洽
逐语言检查标题、正文语言、结构化数据、canonical 是否都指向本语言版本的自身 URL。常见错误是英文页面 canonical 指向中文页面,结果英文版本长期拿不到自己的索引。
3. 关系是否正确
用抓取日志或索引报表抽样,确认 hreflang 声明涉及的 URL 全部返回 200,不存在指向已删除页面或重定向链的声明。
四、机器翻译与薄内容的取舍
把同一篇内容机翻成十几种语言,语义重复度高、正文薄,收录表现通常不稳定。与其追求语言数量,不如先把主要市场的人工版本做扎实,其余版本再判断是否需要被索引;确实不需要的,可以用 noindex 或干脆不放出入口。反过来,也不要因为收录慢就把有价值的小语种版本一并 noindex,先看它有没有独立入口和像样的正文。
核对顺序建议固定下来:URL 结构 → 入口可抓取 → 版本自洽 → 关系声明 → 索引状态。顺序颠倒时,很容易把标签问题当成内容问题来改。
五、容易被忽略的几个细节
- 语言切换器把当前语言也写成链接,形成大量自我循环链接,影响不大但会干扰日志判断。
- 区域 URL(如 /de/ 与 /de-AT/)内容几乎相同却都放出入口,需要明确谁是主版本。
- 站点地图按语言拆分后,只提交了主语言的那一份。
- CDN 或边缘节点按用户地区返回不同语言内容,但 URL 不变,导致同一 URL 抓取时看到的内容不稳定。这种情况要先统一服务端返回策略,再谈收录。
多语言站点的收录问题往往不会一次清零。建议按语言分别记录索引数量与抓取情况,改动之后观察一段时间,避免在版本关系还没理清时就反复调整标签。