多语言站的 hreflang 常配错在哪几处,会不会影响收录
先把结论说清楚:hreflang 是版本关系声明,不是排名开关,参考指南里明确写过它本身并不能提升排名。它会间接影响收录,但影响的方式是「配错时让抓取与归组判断出错」,而不是「配对就多给流量」。多语言站常见的现象是某个语言版本收录量明显低于其它版本、用户被导到错误语言页、或者同一内容被当成重复内容处理,这三类问题里相当一部分能在语言版本标注上找到原因。
它管什么、不管什么
hreflang 管的是一件事:告诉搜索引擎「这一组和这一组页面是同一内容的不同语言或地区版本」,让它在展示与归组时把它们当作一对来看。它不管内容质量、不管权重传递、也不保证每个版本都被收录。
因此判断是否配错,标准很具体:被标注的每个 URL 是否真实存在、是否可访问、是否已收录、是否回链到源页面、语言与地区码是否与实际内容一致。这五项都成立才算配置完整。
五类典型错法
| 错法 | 典型表现 | 修正动作 |
|---|---|---|
| 语言码或地区码写错 | 版本被忽略,语言页互相抢排名 | 按规范码值重写,区分语言与地区 |
| 只在首页配置 | 内页版本关系缺失,深层页收录差 | 每个对应页都成组声明 |
| 指向未收录或 404 页 | 整组声明失效 | 先修可访问性与收录再声明 |
| 缺少互相回链 | 单向引用被判定为无效 | 组内每页都完整列出全部版本 |
| 改版后不更新 | 旧地址残留在标注里 | 与 301 跳转一起纳入改版清单 |
其中「缺少互相回链」最隐蔽。单向声明会被理解为无效引用,A 页指向 B 页而 B 页没有回指 A 页,两边都可能被忽略。自引用也要保留,每个页面都应在组内列出自身。
与语言站点结构怎么配合
标注只是描述层,真正的地基是站点结构。多语言站点的落地要确认三件事。
第一是版本承接方式。AnQiCMS 支持多语言站点配置与切换,并支持整页 HTML 翻译,做版本扩展时优先按「同一内容对应一组确定地址」来规划,避免同一条内容在不同语言下结构漂移,结构不一致时逐页配对成本会迅速上升。
第二是规范地址与重复。同一语言版本要只有一个规范地址,伪静态规则要稳定,避免带参数、带尾斜杠、大小写混用产生多个可访问地址,否则标注组里会塞进重复项。
第三是历史地址收敛。改版换语言路径时,旧地址必须用 301 重定向指向对应的新版本地址,而不是直接 404;跳转要一对一,不要把不同语言的旧页统一跳到某个首页。
robots 配置也要一起检查:如果某个语言目录被 robots 规则挡住,标注写得再完整也不会被收录,这类问题常被误判成 hreflang 配错。站点地图按语言版本分组提交,能让抓取更早发现完整版本组,比只提交首页版本更有效。
改版后的收敛动作
内容改版、路径调整、语言目录新增之后,建议固定做一次四项复查:核对标注组与实际页面清单是否一致,确认无失效 URL 残留,验证新旧地址跳转关系,抽查各语言版本的收录量变化。这一步容易被跳过,而「改版后不更新标签」正是最常见的失效原因之一。
批量收口时,全站替换工具可以处理关键词与链接的批量替换,用它统一调整历史内容里的语言路径引用,比逐篇手工改更可控,改完再跑一次上面四项复查。
常见问题
配了 hreflang 收录变好,是巧合吗? 更可能是同期修掉了别的 blocker,比如解除 robots 屏蔽或补齐了内页声明。标注让版本关系可判断,不直接产生收录。
一个页面只有一个语言版本要不要配? 不需要。单版本没有对应组,声明无对象可指向。
语言码用 zh 还是 zh-CN? 语言码表达语言,地区码表达地区。只按语言区分就用语言码;确实按地区做内容与价格差异时才加地区。
翻译页需要人工校对吗? 需要。整页翻译解决结构承接,但发布前的表述质量与术语一致性仍要人工确认,未被引用的高质量问题往往出在这里。