多语言或多地区站点常见的一种收录异常是:内容翻译得很完整,但搜索结果里出现的却是另一个语言版本,或者本地用户搜索时被带到不相关的地区页。这类问题多数不在翻译本身,而在 hreflang 标注、语言入口和 URL 结构上。
先明确 hreflang 的作用边界
hreflang 是给搜索引擎的提示,用来表达「这几条 URL 是同一内容的不同语言或地区版本」,它不是强制指令,也不保证某一版本一定进入某个地区的索引。所以看到收录归错版本,不要只盯着 hreflang 一处改,先把相关环节一起检查。
常见错位情形
互指不完整
hreflang 要求双向标注:A 页面指向 B,B 也要指回 A。常见错误是只在中文页写了英文版的链接,英文版却没有回指,这组关系可能被整体忽略。
语言代码与地区代码不规范
例如把简体中文写成 zh 或 zh-Hans,地区写法混乱(en-UK 应为 en-GB)。写法不统一时,各页面之间的标注对不上,等于没写。
x-default 缺失
没有 x-default 时,语言不匹配的访问者可能被导向任意一版,长期看会影响哪个版本被视为默认。
用自动跳转替代标注
按 IP 强制 302 跳转,会让抓取只能看到其中一版,其他版本的页面缺少被发现和评估的机会。语言标注和跳转混在一起时,排查难度会明显上升。
URL 结构先定下来
子目录(如 /en/、/zh-cn/)和子域名(如 en.example.com)都可以,关键是长期保持一致、不频繁更换。结构一旦变化,旧地址的跳转和标注要同步更新,否则会出现新旧版本同时被索引的情况。
一个可执行的核对顺序
- 确认每种语言或地区是否有独立、稳定、可直接访问的 URL。
- 打开每个版本的页面源代码,检查 hreflang 是否成组出现且互相回指。
- 核对语言代码与地区代码的写法是否统一。
- 检查是否有 x-default,并指向合适的兜底页面。
- 检查语言切换器是否为真实链接(a 标签),而不是纯 JS 事件。
- 确认没有用强制跳转挡住其他版本。
- 查看站点地图是否包含所有语言版本的 URL。
入口与内链同样重要
除了标注,各语言版本的入口也要清楚:语言切换器最好在每个页面都能找到,并且指向对应内容的同一层级,而不是统一回首页。内链如果全部指向默认语言版本,其他语言的页面会显得孤立,被发现的机会更少。
hreflang 解决的是版本对应关系,解决不了内容质量、入口和内链问题,两者要分开检查。
同一语言下的多个地区版本
如果同一语言要面向多个地区(如 en-US、en-GB、en-AU),各版本内容如果完全一样,容易互相竞争。此时应让页面真正体现地区差异,比如货币、配送范围、联系方式等,而不是仅换一个地区代码。
观察一段时间再判断
调整标注后,索引和展示的切换不会立刻完成,需要给搜索引擎重新抓取和评估的时间。期间可按语言分别观察哪些 URL 能被发现、哪些被索引,逐步缩小范围,避免在短期内反复改动标注本身。