返回博客
HREFLANG 指南

Hreflang 指南:语法、常见错误与最佳实践

Hreflang 是多语言 SEO 最容易悄悄出错的部分之一。正确配置能帮助搜索引擎把对应语言页面展示给合适用户;错误配置则可能被直接忽略。

Hreflang 是什么,为什么重要

Hreflang(rel=alternate hreflang)是一个 HTML link 属性,告诉搜索引擎把页面的哪个语言和地区版本展示给哪些搜索者。它解决多语言站点的重复内容问题:同一内容的英文页和西语页可能被判为重复而只收录一个;hreflang 告诉 Google"这些是面向不同受众的有意备选——都收录,并把搜索者路由到正确版本"。

没有 hreflang,美国用户搜"附近的管道工"可能看到你的西语页面然后立刻跳出。配置正确时,英文页展示给美国用户、西语页展示给墨西哥用户:互动更好、转化更高,locale 之间不再互相蚕食。多语言服务企业、跨境电商以及任何多语言发布同一内容的站点都依赖它。

hreflang 最重要的场景:多语言服务企业(移民社区、跨境专业人士)、国际电商,以及任何以多语言发布同一内容的站点。如果你的站点只有一个 locale,hreflang 并非必需——Google 没有它也能正确处理。

Hreflang 语法规范

取值由 ISO 639-1 语言代码加可选的 ISO 3166-1 alpha-2 地区代码组成:en、en-US、zh-CN、zh-TW、es-MX、fil-PH 等。关键点:地区代码区分大小写,zh-CN 正确,zh-cn 会被静默忽略——始终使用大写地区子标签。

关键细节:地区代码区分大小写。是 zh-CN,不是 zh-cn 或 zh-cN。Google 会静默忽略大小写错误的标签。始终按 ISO 标准使用大写地区子标签。

完整的 hreflang 实现要求每个页面具备三件:自指 hreflang 标签(页面声明自己的 locale)、每个其他 locale 版本的备用标签,以及指向无匹配搜索者版本的 x-default。缺一即破坏实现。

完整实现需要每页三件:自指标签、所有其他 locale 的备用标签、指向无匹配时展示版本的 x-default。每条备用关系必须双向:A 声明 B,B 必须回声明 A。缺回链是最常见的 hreflang 错误——少一边,Google 两边都不认。

7 个最常见的 hreflang 错误(与修复)

错误一:语言代码大小写错误。zh-cn 而不是 zh-CN、fil-ph 而不是 fil-PH。Google 会静默忽略。修复:地区子标签始终大写。

错误二:缺少回链。页面 A 声明页面 B 为备用,但页面 B 没有回声明 A。修复:每条备用必须双向;新增 locale 时,更新所有既有页面回声明它。

错误三:缺失或错误的 x-default。没有 x-default,Google 会自行猜测无匹配搜索者看哪个版本——通常挑收录最多的 locale,未必是你要的。修复:显式声明 x-default(通常指向主业语言)。

错误四:hreflang URL 与 canonical URL 不一致。/pricing 的 canonical 是 /pricing,但 hreflang 指向 /pricing?utm_source=internal——Google 会忽略该备用。修复:hreflang URL 必须与 canonical URL 逐字符一致。

错误五:在 noindex 或已被 canonical 的页面上放 hreflang。禁止索引的页面不应声明 hreflang。修复:noindex 路由、重定向路由和被 canonical 到其他 URL 的页面省略 hreflang。

错误六:备用指向软 404 或"该语言不可用"页面。不要声明一个返回"抱歉,此页面没有您的语言版本"的 URL——那是软 404,两个方向都会被惩罚。修复:只声明有真实内容的备用;某 locale 没有该页面就不要声明。

错误七:各页面 locale 变种不一致。页面 A 声明 en、zh-CN、es,页面 B 只声明 en、zh-CN。不一致会让 Google 困惑。修复:存在于多个 locale 的页面声明全部所在 locale——不存在的不要声明。

怎么验证 hreflang 实现

第一步:检查渲染后的 HTML。查看任意多语言页面的源码,确认 head 里有 link rel=alternate 标签:一个自指标签、每个备用 locale 各一个、一个 x-default。核对大小写、URL 一致性和双向回链。

第二步:Google Search Console。在国际定位报告中查看 Google 发现的 hreflang 错误:缺回链、错误语言代码、失效的备用 URL。逐条修复。

第三步:Ahrefs 或 Sitebulb 爬取。这类工具能规模化检测 hreflang 问题——数千页面间的双向不一致、失效备用、错误语言代码。每季度全站爬取一次。

第四步:手动 SERP 测试。用不同地区的设备(VPN 或 google.com.hk 这类地区域名)搜索品牌名,确认正确的语言版本出现。如果看到 locale 互相蚕食,hreflang 很可能是原因。

五步验证:查看渲染后的 HTML head 中的 link rel=alternate 标签(自指 + 备用 + x-default);在 Search Console 的国际定位报告里逐条修复报错;用 Ahrefs 或 Sitebulb 全站爬取检测规模化双向不一致;用地区专属 Google 域名(google.com.hk 等)或 VPN 手动测试搜索结果;用网址检查确认每个 locale 版本都被收录。

2026 年 hreflang 最佳实践

最佳实践一:内容没有地区差异时只用语言代码(en、zh、es);内容确有地区差异(货币、法律引用、词汇)时才用地区码(en-US、en-GB、zh-CN、zh-TW)。内容相同时过度指定地区码会制造不必要的备用关系。

最佳实践二:x-default 指向主业语言(通常是公司所在国的语言)。美国企业 x-default = en 或 en-US;以中文为主业、英文为辅的企业,主力受众是中文就用 zh-CN,国际化就用 en。

最佳实践三:hreflang 从单一事实源(CMS 或建站工具)生成。手工维护上千页面的 hreflang 注定漂移。Cogo Site、WordPress + WPML、Shopify 的多语言功能都会自动生成——选一个会自动生成的。

最佳实践四:hreflang URL 保持干净稳定。不要在 hreflang URL 里放查询参数、会话 ID 或追踪参数。备用 URL 一经发布,未经重定向不要更改——Google 的 hreflang 缓存重建需要数周。

最佳实践五:每次新增 locale、下线 locale 或大迁移之后都重新审计 hreflang。漂移总会发生;hreflang 是多语言站点健康的金丝雀。

Cogo Site 如何正确实现 hreflang

Cogo Site 从 locale 前缀路由这一单一事实源生成 hreflang:每页自动带自指、备用和 x-default,大小写正确、双向回链、与 canonical 一致。你不需要写这些标签,也不需要维护它们。

新增 locale 会原子化地更新所有页面的 hreflang——不存在既有页面缺少新备用的窗口期。下线 locale 会干净地移除相关标签,避免软 404。

按页面的 locale 可见性让你把页面标记为仅英文或仅中文——hreflang 只在两个版本都存在时声明,避免"软 404 备用"错误。

x-default 可按站点配置,默认指向最初发布的 locale。hreflang URL 与 canonical URL 出自同一路由,不可能漂移。

Hreflang 快速检查清单

  • 每个多语言页面都有自指 + 备用 + x-default 三类标签
  • 语言代码使用大写地区子标签(是 zh-CN,不是 zh-cn)
  • 所有备用关系双向成立(A 声明 B,B 也声明 A)
  • hreflang URL 与 canonical URL 逐字符一致
  • x-default 指向无匹配搜索者应看到的版本
  • noindex、重定向和被 canonical 的页面不放 hreflang
  • 不把备用指向软 404 或"该语言不可用"页面
  • locale 集合在所有页面间保持一致(无遗漏)

常见问题

hreflang 是什么,起什么作用?

Hreflang 是一个 HTML link 属性(rel=alternate hreflang),告诉搜索引擎把页面的哪个语言和地区版本展示给哪些搜索者的结果。没有它,Google 可能把错误的版本给错误的搜索者(比如把西语页面给英语用户),导致跳出和排名损失;配置正确时,每个语言版本都在自己的目标受众面前竞争排名。任何多语言发布同一内容的站点都需要它。

hreflang 标签怎么写才正确?

每个页面的 head 里需要三件:声明自身 locale 的自指标签(hreflang="en-US")、每个其他 locale 版本的备用标签(hreflang="zh-CN" 指向 /zh-CN/pricing)、以及指向无匹配时展示版本的 x-default。所有备用必须双向——A 声明 B,B 必须声明 A。地区子标签用大写(zh-CN 而不是 zh-cn)。

最常见的 hreflang 错误有哪些?

主要有七类:大小写错误、缺回链、缺失或错误的 x-default、hreflang URL 与 canonical 不一致、noindex 页面上放 hreflang、备用指向软 404 或不可用页面、各页面 locale 集合不一致。任何一种都会被 Google 静默忽略——它不会告诉你错了。Cogo Site 从机制上正确生成;WordPress + WPML 这类方案则需要持续小心维护。

怎么测试 hreflang 是否正确?

五步:检查渲染后的 HTML 标签是否齐全;看 Search Console 国际定位报告的报错;用 Ahrefs 或 Sitebulb 全站爬取检测双向不一致;用地区域名或 VPN 手动测试各地区搜索结果;用网址检查确认每个 locale 版本被收录。如果某版本未收录或错误版本在错误地区排名,hreflang 大概率是原因。

hreflang 对百度和 Bing 也有效吗,还是只对 Google?

Google、Bing 和 Yandex 都遵循 hreflang。百度对 hreflang 的执行历来不够稳定——会读取但反应更慢,爬虫发现新备用链接也更慢。针对百度,还应通过百度站长平台提交中文站点地图并确保正确的 locale 前缀 URL 路由。Cogo Site 输出的站点地图和 hreflang 对四大搜索引擎通用。

不要再手工维护每一组 hreflang

Cogo Site 会基于站点 locale 与 canonical URL 自动输出对应的 hreflang 关系,减少重复配置与遗漏。

相关多语言 SEO 资源

我们使用 Cookie

我们使用 Cookie 来提升您的浏览体验并分析网站流量。点击"接受"即表示您同意我们使用 Cookie。 了解我们的 Cookie 政策