hreflang 的代码只有一行,真正复杂的是:哪个 URL 对应哪种语言和地区、页面是否互相声明、默认页是谁、canonical 是否一致。配置错误时,标签可能直接被忽略。
01 先搞清楚 hreflang 解决什么问题
如果网站有中文、英文、日文,或同一种语言对应不同国家版本,搜索系统需要知道这些 URL 是同一内容的本地化版本,以及哪个更适合某类用户。hreflang 就是用于表达这种关系的信号。
Google 当前多语言文档明确说明,即使不配置,它也可能发现不同语言页面,但站点最好显式标注语言或地区版本,让搜索结果更有机会把合适 URL 展示给对应用户。
02 语言和地区不要混为一谈
en 表示英语,不限定国家;en-US 表示面向美国的英语;en-GB 则是英国英语。中文也可以使用 zh-Hans、zh-Hant 等脚本形式,或结合地区。企业最常见错误是把国家当语言、使用自造代码,或者本来只有语言差异却过度细分地区。
是否需要地区版本取决于内容是否真的不同。只有货币、法规、产品、配送或市场内容明显不同,才更有理由区分 en-US、en-GB 等。页面内容完全一样却生成十个国家 URL,会显著增加维护成本。

03 每个语言页面都要列出自己和其他版本
Google 的 hreflang 指南要求每个语言版本列出自己,同时列出其他语言版本;这些页面之间还需要双向互指。如果 A 声明 B 是英文版,但 B 没有把 A 声明回来,这组关系可能被忽略。
这也是大型多语言站最容易出错的地方:新增一个语言后,只在新页面加标签,旧版本模板没同步更新。最稳妥的方法是由 CMS 或统一模板生成,而不是人工逐页维护。
04 HTML、HTTP Header 和 Sitemap 三种方式选一种就够
Google 当前文档提供三种等效方法:在 HTML head 中加入 link rel="alternate" hreflang、通过 HTTP Header,或者在 XML Sitemap 中声明。搜索角度没有必要同时实现三套。
普通企业官网最常用 HTML 或 Sitemap。方法越多并不代表“信号越强”,反而可能因为三套数据不一致增加排错难度。

05 x-default 用来处理没有匹配语言的用户
Google 建议可以使用 hreflang="x-default" 指向默认版本或语言选择页。当用户语言不在已有版本中时,x-default 提供一个明确 fallback。
例如网站只有英文、日文和简体中文,可以把国际英文首页或国家/语言选择页设为 x-default。它不是“英语”的另一种写法,而是未匹配情况下的默认 URL。
06 hreflang 和 canonical 不要互相打架
每个本地化页面通常应该 canonical 到自己,而不是所有语言都 canonical 到英文首页。如果中文页 canonical 到英文页,却又通过 hreflang 说它们是不同语言版本,会给搜索系统发送矛盾信号。
改版时还要同步检查 301、canonical 和 hreflang 的最终 URL 是否一致。不要让 hreflang 指向已经重定向的旧地址。

07 自动按照 IP 强制跳转,往往不是最好的用户体验
用户人在日本不代表一定想看日文;海外华人可能需要中文;VPN 和企业网络也会改变 IP。更稳妥的方式通常是根据浏览器语言或地区提供建议,同时保留明显的语言切换,并记住用户选择。
对于搜索抓取,强制跳转也可能让爬虫难以访问其他版本。国际化应该让用户能够主动切换,而不是把语言选择完全锁死。
08 上线后要抽样验证,不要只看代码生成成功
大型网站最好定期抽样检查不同模板:主页、产品、文章、分类和特殊页面,确认 hreflang 集合是否完整、双向、URL 可访问、状态码正确。也要避免把不存在翻译的页面硬指向首页。
如果某个页面没有对应语言版本,可以不声明那个版本。Google 2023 关于 x-default 的说明也明确指出,并不要求网站每一页都具备所有本地化版本。
09 结论:hreflang 是内容关系管理,不是 SEO 魔法标签
hreflang 不会把低质量页面自动推到首页,它解决的是“哪个本地化 URL 更适合哪个用户”。因此最重要的是先把网站语言与地区策略设计清楚,再自动生成稳定一致的标记。
如果团队连“这个页面到底是国际英文还是美国英文”“没有中文版时应该去哪里”都没有统一答案,先解决内容和 URL 规则,再写代码。
常见问题
只有中文和英文网站需要 hreflang 吗?
建议使用。它可以明确告诉 Google 两个 URL 是不同语言的本地化版本。
hreflang 可以只在英文页写吗?
不建议。Google 要求本地化页面之间形成相互声明,并包含自引用。
x-default 是什么意思?
它代表没有其他语言或地区匹配时使用的默认 URL,常用于国际默认页或语言选择页。
HTML 和 Sitemap 都要配置 hreflang 吗?
不需要。Google 认为 HTML、HTTP Header 和 Sitemap 三种方式等效,选择最容易稳定维护的一种即可。
所有语言页可以 canonical 到英文页吗?
通常不应这样做。独立本地化页面通常需要自 canonical,同时用 hreflang 表达相互关系。