多语言网站的 hreflang 应该如何设置?先别急着装插件。请找出同一内容在不同语言或地区的真实网址,把它们一一配对,再让每个版本都指向这一组页面,包括它自己。最后打开公开页面检查生成的代码。少了对应页面、链接不互相指回,或者把英语和美国地区混为一谈,都会让设置失去作用。
hreflang 可以理解成给搜索引擎的一张“语言版本通讯录”。它告诉 Google:这篇中文内容还有哪个英文版本,哪一页面向英国访客。它不是翻译工具,也不会把一个页面自动变成多语言,更不能保证收录或排名。Google 的多语言页面官方说明提供了 HTML、HTTP 响应头和网站地图三种标注方式。下面以常见的网页 HTML 写法为主,带你逐步核查。
第一步:先确认哪些网址是真正的对应页
假设商家有中文的“配送说明”和英文的“Shipping”页面,讲的是同一项服务,只是语言不同,就可以考虑配为一组。如果英文页只是首页,中文页却是配送政策,它们不是对应版本;硬把两者连起来,只会给搜索引擎错误线索。先做一张清单,记录页面主题、语言、公开网址和是否可访问。
两种语言的页面不必逐字一样,但应服务于相近的用户任务。价格、配送区域或法律信息可以按地区调整;如果产品、服务和目的完全不同,先不要配对。若还没确定站点采用子目录、子域名还是不同域名,先看 AIRSANG 的Shopify 多语言网址结构检查。本文从“网址已经存在”往下讲标注,不重复平台架构的选择。
- 把每种语言的公开 URL 复制到表格,不用后台预览地址。
- 确认每个 URL 都能直接打开,并展示预期语言的主要内容。
- 同一主题缺少某种语言页时,不要用其他主题的页面凑数。
- 改版或迁移后,先确认旧 URL 的跳转与新 URL 的最终地址。

第二步:语言代码与地区代码怎么选
语言代码回答“页面用什么语言”,地区代码进一步回答“主要给哪个国家或地区的读者看”。例如 en 是通用英语,en-US 指向美国英语版本,en-GB 指向英国英语版本;zh-CN 是简体中文面向中国大陆的常见写法。不要只因为商家打算卖到美国,就给唯一的通用英文页写 en-US;先看页面是否真的有美国地区专属信息。
一个英文页同时面向许多国家时,可以先用 en。美国版和英国版分别有价格、配送、售后等实质差异时,再用地区版本。Google 的语言与地区代码规范提醒,地区部分应使用受支持的代码;例如英国写 GB,不是 UK。大小写本身不是关键,但团队最好统一格式,免得手工审查时看错。
如果有语言选择页,或者希望未匹配到任何语言的用户落到默认页,可以研究 x-default。它是“其他情况的兜底地址”,不是一种语言,也不是每个多语言网站都必须另造一个页面。没有合适的兜底页时,先把实际存在的语言版本配正确。

第三步:每个版本都列出整组页面,包括自己
最容易漏的是“自引用”和“反向链接”。自引用是中文页的列表里也要写中文页自己;反向链接是英文页要指回中文页。如果中文页告诉 Google 有英文页,而英文页完全不承认中文页,这组关系就不完整。Google 建议每个版本包含同一组对应链接;这样新增第三种语言时也容易检查。
下面是教学示意,不是 AIRSANG 当前站点的实际配置。两页必须确实有相近内容,并且公开网址能访问,才能把示例替换成自己的地址。
<!-- 放在中文页和英文页各自的 <head> 中 -->
<link rel="alternate" hreflang="zh-CN" href="https://example.com/zh/shipping/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/shipping/" />
中文页与英文页都应输出上面这两行。网址用带 https:// 的完整地址,别只写 /en/shipping/。如果页面还有真正对应的英美地区版,就在整组中加入那个版本,并同步更新所有成员。新版本上线前先检查配对表,不要只改某一页模板。

HTML、网站地图和响应头,选哪一种
对于普通网页,HTML 的 <head> 标签通常最容易让站长和开发者一起核对:打开网页源代码即可看见。网站地图适合大量页面,由程序统一生成和检查;PDF 等非 HTML 文件则可以使用 HTTP 响应头。Google 说明这三种方式都能表达语言版本关系,不要求为了“更强 SEO”把同一套标注重复写三遍。
如果用 WordPress 多语言插件或 Shopify 的本地化功能,先检查它实际输出了什么,而不是看到“已开启 hreflang”就算完工。平台设置、插件和主题可能各自输出标记;重复、冲突或指向旧址时,应该由负责站点配置的人统一一个来源。先在一组真实页面上验证,再批量铺开。内容翻译、网址结构和语言切换入口的预算可参阅 AIRSANG 的多语言站增量费用清单,但费用安排与 hreflang 技术验收是两个不同问题。
| 方式 | 适合什么内容 | 站长先查什么 |
|---|---|---|
| HTML head 标签 | 普通网页,数量可管理 | 公开源代码中是否整组互指 |
| XML 网站地图 | 页面较多、可自动生成 | 地图是否持续更新且网址可访问 |
| HTTP 响应头 | PDF 等非 HTML 文件 | 服务器实际响应是否包含对应关系 |
表里的“适合”只是选维护方式,不是排名优劣。小站先把两三组页面做对,通常比三种方法一起堆上去更容易排错。大站可以由开发者在网站地图里自动输出,但仍要抽查网页和地图里列的都是最终可访问的地址。

canonical 与 hreflang 会不会互相冲突
canonical 是告诉搜索引擎“相似网址里我偏向哪一个作为规范地址”的标记;hreflang 是说明“这页有哪些语言或地区对应版本”。它们解决不同问题。若中文版与英文版各有独立内容和 URL,不要一边用 hreflang 说它们各自存在,一边把英文页的 canonical 指向中文版,等于把英文页当成不应独立存在的副本。
最简单的检查是:每个语言页的 canonical 指向本语言的最终 URL,hreflang 再把对应版本连成组。对于同一种语言不同地区的高度相似页,Google 的多地区站点说明还讨论了规范页选择,具体做法需要按内容重复程度判断,不能把所有地区页一律指向首页。网站改版后如果 URL 发生变化,先检查301 跳转与最终地址,再更新 canonical 和 hreflang,避免它们继续指向旧址。

上线前怎样自己验收,不靠插件的绿色提示
先抽查一组真实页面
先选一组两种语言的页面,分别在未登录的浏览器中打开。按右键“查看网页源代码”,搜索 hreflang,核对每个版本都列出相同的一组完整地址。不要只看开发者工具里经过脚本修改后的画面;要看访客和搜索引擎实际拿到的页面输出。
- 看内容。两页是否讲同一个主题,且各自语言完整?如果只是机器生成的空壳或占位页,先把内容做好。
- 看网址。逐个打开标注中的 href,确认没有 404、登录墙、无关跳转或旧测试域名。
- 看关系。中文页含自己和英文页,英文页也含自己和中文页;有第三种语言就三页互相列全。
- 看代码。语言代码与页面目标一致,标签在 HTML head 内;不要出现同一语言代码指向两个不同地址。
- 看规范地址。canonical 指向该语言的最终地址,网站地图和语言切换按钮也使用同一批公开 URL。
如果页面很多,先抽样:首页、一个产品页、一个服务页和一篇博客。每种模板都可能由不同程序输出标签,首页通过不代表所有页面通过。发现问题时保存出错 URL、源代码截图和当前输出,交给插件或开发人员定位;修复后再用同样的 URL 复测。没有服务器日志和搜索引擎后台数据时,不要宣称“Google 已抓到并采用”。
给负责更新内容的同事留一份“页面配对表”也很有用:第一列写页面主题,后面按语言分别填 URL,再标明最后检查日期。以后中文页增加新段落时,编辑可以先判断英文页是否仍是对应内容;英文页改名或合并时,开发者也能找到需要一起更新的标注。这样,hreflang 不会在第一次上线时正确,却在半年后悄悄指向已经删除的页面。对于只有两三个语言版本的小站,一张能持续维护的表格通常比复杂的自动化规则更容易执行。

常见错误,以及应当先改哪一项
如果源代码里完全没有 hreflang,先确认是否真的存在对应语言页,再检查插件、主题或网站地图的输出设置。如果只有中文页有标注,英文页没有,就补齐反向关系。如果两页互相指向,但其中一个 URL 跳转三次才到新地址,更新为最终地址,不要让搜索引擎沿着旧路线猜。
还要留心“用同一个页面通过按钮切换文字”的做法:如果不同语言没有稳定、可单独访问的 URL,搜索引擎难以把它们当作独立版本。Google 的多语言网站管理建议鼓励给各语言或地区提供明确网址与导航入口;不要只按访客 IP 自动变换内容,因为爬虫可能看不到所有版本。尤其是企业同时运营中文和英文站时,不能仅凭两个域名就默认它们逐页对应,必须逐页核对内容和地址。

结论:先配对真实页面,再输出和核对标注
多语言网站的 hreflang 应该如何设置?先列出同主题的语言版本 URL,选择清晰的语言或地区代码,再让每个版本完整列出整组链接并包含自己。普通网页可先用 HTML head 实现,大量页面可由网站地图统一管理;PDF 等文件按需要用响应头。上线后抽查公开源代码、可访问性、反向关系和 canonical,改版时同步更新。它帮助 Google 识别对应版本,但不能代替翻译质量,也不保证某页一定收录或排到某个位置。


