hreflang 的作用是告诉搜索引擎:这几个页面是同一内容的不同语言版本,请按用户的语言和地区展示对应的那个。配错的后果不是报错,而是本该给中文用户看的页面展示了英文版,或者两个版本互相抢排名,哪边都上不去。
必查点一:自引用
每个语言版本都要把自己的 hreflang 写进列表。只写"另一个版本"是最高频的错,蜘蛛看到不完整的组,会直接忽略整组标记。比如中文页写 hreflang="en" 指英文页,英文页写 hreflang="zh-Hans" 指中文页,两页都没写自己——这组等于没配。
必查点二:x-default
没有匹配到语言时展示哪个版本,就靠 hreflang="x-default"。多语言站常漏这条,结果俄罗斯用户搜到的是中文页。x-default 一般指向英文版,或者一个语言选择页。
必查点三:语言和地区代码
zh-Hans、zh-Hant、en、en-US、pt-BR,写错一个字母整组失效。常见错误:zh-CN 和 zh 混用、en-UK(正确是 en-GB)、把地区当语言(jp 不是语言代码,日语是 ja)。
2025 年 9 月那次修正
一个开发者工具站做中英双语,hreflang 用插件自动生成。查下来模板变量反了:英文页标着指向中文页,中文页指向自己,x-default 完全没有。三个月里英文关键词的搜索结果展示的是中文页,跳出率 78%。修正后第 5 周,英文版的点击率从 2.1% 提到 5.6%。
怎么验证
Screaming Frog 的 hreflang 报告能一次看全站的互相指向关系,重点看两个指标:有没有指向 404 或重定向页、有没有缺回指。再人工抽 10 个页面看源码,确认 HTML head 里的 link 标签和页面语言一致。
Google 官方没有专门的 hreflang 报错报告,配错了不会提醒你,只能自己查。百度对 hreflang 的支持有限,中文站之间别指望它。
我们最常纠正的一种组合错
把 canonical 和 hreflang 搅在一起。有人觉得"英文页是主版本",就让中文页的 canonical 指向英文页——这在多语言站里是灾难。中文用户搜到中文页,蜘蛛按 canonical 把它归并到英文页,中文页永远不单独排名。正确做法:canonical 指向同语言版本自己,语言关系交给 hreflang。
我们还有一个习惯,hreflang 上线前在测试环境把整组关系导成表格核对一遍,左边放页面、右边放它应该指向的四个语言版本,缺哪个补哪个。比上线后在源码里找错快得多。
两个判断
只有两个语言版本、内容量不大的站,hreflang 的收益有限,先把两边的页面内容做扎实。五个以上语言版本、每个版本几百页的站,hreflang 是必需品,而且要进发布流程,新增页面时自动带上。
最后一条:canonical 指向同语言版本的自己,不要跨语言指。canonical 和 hreflang 管的是两件事,混用会让蜘蛛不知道你到底想要哪个版本。
元析智能
为软件公司做 SEO 和 GEO 优化