多语言网站hreflang怎么配才有效?三种实施方式对照、代码正误表与六类错误排查(2026-08-08核验)
多语言网站的 hreflang 怎么配才有效?核心只有三件事:选一种实施方式并只用一种、把语言地区代码按标准写对、让所有语言版本互相双向指向。三者缺一,标注就会被忽略。本文面向已经决定做多语言站、正在落地或排查错误的外贸企业技术负责人,给出三种实施方式对照、代码书写正误表、六类常见错误排查动作与上线前 12 项自检清单。语种要不要做、做哪几种、用子目录还是子域名属于前置决策,见本站《外贸网站多语言方案怎么做?语言选择、技术实现与SEO布局全攻略》。以下规则依据 Google Search Central 官方文档原文,信息核验截至 2026-08-08;平台规则可能调整,实施前请以核验当日官方文档为准。本文不承诺排名、收录或流量结果。
一、先搞清楚 hreflang 解决什么、不解决什么
很多实施失败源于对这个标注的定位理解错了。按 Google 官方说明,需要先建立三条认知:
- 它是"版本关系"声明,不是语言检测手段。官方原文明确:Google 不使用 hreflang 或 HTML 的
lang属性来判断页面语言,而是用算法识别页面可见内容的语言。也就是说,标了hreflang="de"但正文是英文,页面仍会被判为英文页。 - 它影响的是"给谁看哪一版",不是"排不排得上"。官方描述其作用是帮助 Google 搜索按语言或地区把用户指向最合适的那一版页面。任何"加了 hreflang 就能提升排名"的说法都不来自官方文档。
- 不标也可能被发现,但不建议赌。官方说明:即使不采取任何措施,Google 也可能发现页面的其他语言版本,但通常最好显式指明语言或地区专属页面。
还有一条常被忽略的判定口径:本地化版本只有在页面主体内容未被翻译时,才会被视为重复内容。这意味着"只翻导航和页脚、正文照抄一种语言"的做法,恰恰是把自己推向重复内容判定的那一类。

二、三种实施方式怎么选:HTML、HTTP 头、Sitemap 对照
官方提供三种方式,并明确三者从 Google 的角度是等效的,可以选最方便的一种;虽然可以同时使用三种,但在搜索上没有额外收益,反而会让维护三套实现比只挑一套困难得多。选型建议如下:
| 实施方式 | 写在哪 | 适合场景 | 主要风险 |
| HTML link 标签 | 每个页面的 <head> 内 | 页面数少、模板可控、没有 sitemap 或改不了响应头 | 页面多时每页都要输出全量清单,模板出错即全站错;标签必须在结构正确的 <head> 里 |
| HTTP 响应头 | 服务器返回的 Link: 头 | 非 HTML 文件,如 PDF 版产品目录、规格书 | 需要服务器配置权限,排查时不看响应头就发现不了问题 |
| XML Sitemap | 站点地图文件 | 页面量大、语言版本多、希望集中维护 | Sitemap 只能包含其所在目录的下级 URL;条目膨胀快(3 个语言版本 = 3 条 url 各带 3 个子条目) |
落地建议:中小型外贸站(几十到几百页)优先用 HTML 标签,模板里统一输出;页面上千或语言版本超过 4 个,用 Sitemap 集中管理;PDF 等非网页文件只能走 HTTP 头。选定一种后就不要混用,混用最大的代价不是性能,而是排查时无法确定哪一套在生效。
三种方式的写法要点(均为官方文档给出的语法结构):
- HTML:
<link rel="alternate" hreflang="语言代码" href="页面完整URL" />,放在<head>内。官方特别提示:不要把 hreflang 与media等其他属性合并写在同一个 link 标签里。 - HTTP 头:
Link: <url1>; rel="alternate"; hreflang="代码1", <url2>; rel="alternate"; hreflang="代码2",URL 必须带尖括号,多个之间用逗号分隔,每个版本返回的这段头内容是完全一致的。 - Sitemap:需声明
xmlns:xhtml="http://www.w3.org/1999/xhtml"命名空间,每个<url>下用<xhtml:link rel="alternate" hreflang="...">列出包含自身在内的全部版本;这些子条目不计入 sitemap 的 URL 数量上限。
三、语言与地区代码:写错就等于没写
代码格式是硬规则。官方口径:第一段是 ISO 639-1 语言代码,可选的第二段是 ISO 3166-1 Alpha 2 地区代码,两段之间用短横线连接;只有列在这两个标准里的代码才被支持。下表按外贸站高频场景整理正误对照:
| 写法 | 判定 | 依据与说明 |
de | ✅ 有效 | 只写语言,表示德语内容、不限地区 |
en-GB | ✅ 有效 | 语言 + 地区:面向英国用户的英语内容 |
de-ES | ✅ 有效 | 语言与地区可以自由组合:面向西班牙用户的德语内容 |
zh-Hans / zh-Hant | ✅ 有效 | 按 ISO 15924 显式指定简体/繁体字形;也可用 zh-Hans-US 再加地区 |
zh-TW | ✅ 有效 | 字形由地区推导(此例推导为繁体) |
be(想表示"比利时") | ❌ 无效 | 官方明确反例:第一段永远是语言,be 是白俄罗斯语的语言代码。面向比利时应写 nl-be、fr-be、de-be |
| 只写国家代码 | ❌ 无效 | 官方警告:不能单独指定国家代码,Google 不会从国家代码自动推导语言 |
es-419 | ❌ 不支持 | 官方点名:未列入上述两个标准的代码不受支持 |
UK / EU / UN | ❌ 被忽略 | 官方说明:使用被保留作他用的代码,Google 搜索会忽略该部分标注(英国应写 GB) |
x-default | ✅ 特殊值 | 用于任何未匹配到的语言,官方推荐作为语言选择页/兜底页;无需为它指定语言代码 |
x-default 用在哪最合适:官方说明它虽可用于任何页面,但设计初衷是语言选择页,因此在语言选择页和会自动跳转的首页上收益最明显。同时官方还给出一条容易被跳过的实践建议:如果你有同一语言但不同地区的多个版本(如 en-ie、en-ca、en-au),最好再提供一个通用的 en 页面,覆盖美国、英国等其他英语地区的用户——这个通用页可以就用其中某个具体页面充当。

四、双向返回链接:标注失效的头号原因
官方把它列为最常见的错误:如果页面 X 指向页面 Y,页面 Y 必须指回页面 X;两页没有互指,这些标注可能被忽略或不被正确解读。官方给出的机制解释是——防止别人在自己的站上随意声明"我是你某个页面的另一语言版本"。
由此派生三条实施纪律:
- 每个语言版本的清单里必须包含自己。官方要求每个语言版本都要列出自身以及所有其他语言版本,因此所有版本上的这份清单内容是完全相同的。
- URL 必须写完整绝对地址。官方明确要写
https://example.com/foo,不能写//example.com/foo或/foo。这是模板拼接时最容易出错的一处。 - 跨域名是允许的。官方说明备用 URL 不需要在同一域名下——独立站主域 + 某语种单独 ccTLD 的组合是合规的。
语种多到互链维护不过来怎么办?官方给了明确让步:如果维护每个语言的完整双向链接变得困难,可以在部分页面上省略部分语言,Google 仍会处理那些互相指向的部分;但新扩展的语言页务必与最初的/主导的语言页做双向互链。官方举例:站点最初以法语建于 .fr,那么新增的墨西哥(.mx)和西班牙(.es)页面,与强势的 .fr 互链比这两个新页面之间互链更重要。对外贸站的直接含义是:新上小语种时,优先把它和英文主站(或你的主力语种)打通,而不是先让几个小语种彼此互链。
五、六类常见错误:症状、原因与排查动作
| # | 症状 | 典型原因 | 排查动作 |
| 1 | 标注完全不生效,像没配过 | 缺少返回链接,两页未互指 | 抽查每个语种任取 2 个页面,人工核对其清单里是否包含彼此与自身 |
| 2 | 部分语种被忽略 | 代码不合标准(只写国家码、用了 UK/EU、用了不支持的代码) | 对照第三节正误表逐条过一遍模板里输出的代码集合 |
| 3 | 标签存在但抓取时读不到 | link 标签没落在结构正确的 <head> 里,或被脚本插到了 body | 官方建议:把渲染后的页面代码贴进 HTML 校验器,确认 link 在 <head> 内 |
| 4 | URL 指向错误或 404 | 用了相对路径、协议缺失、改版后未同步更新映射 | 批量取出全部 hreflang 目标 URL,逐个请求确认返回 200;改版迁移时同步更新,方法见本站《网站改版迁移怎么不掉流量》 |
| 5 | 某语种始终不被收录 | 问题不在 hreflang,而在抓取与索引层(robots、noindex、状态码) | 先做索引基础排查,见本站《网站抓取索引基础怎么搭》;官方要求 robots 规则在各语言版本间保持一致 |
| 6 | 不同地区的同语言页互相打架 | 同语言、内容近似的多个地区版本未做规范化处理 | 官方口径:挑一个首选版本,用 rel="canonical" 配合 hreflang,确保给搜索者返回正确的语言/地区 URL;canonical 常见错误见本站《网站canonical常见错误有哪些》 |
官方还提到,存在多个第三方工具可用于调试 hreflang 标注,但同时注明这些工具不由 Google 维护或审核。因此排查结论应以官方文档与实际请求返回为准,工具报告只作线索。第三方 SEO 工具的采信边界,与本站《网站用JavaScript渲染会影响收录吗》中对渲染诊断的处理原则一致。
六、四处最容易和 hreflang 打架的设置
1. 自动跳转。官方明确建议:避免把用户从一个语言版本自动重定向到另一个语言版本,例如根据你猜测的用户语言做跳转——这类跳转可能让用户和搜索引擎都看不到全部版本。替代做法是官方推荐的:在页面上提供指向其他语言版本的超链接,让用户自己切换。
2. 按 IP 改内容。官方直接写明:不要用 IP 分析来适配内容,IP 定位困难且通常不可靠,还可能导致 Google 无法正确抓取站点的各个变体。要用显式方法(hreflang、独立 URL、显式链接)。
3. 靠 Cookie 或浏览器设置切语言。官方建议为每个语言版本使用不同的 URL,而不是用 cookie 或浏览器设置来调整页面语言。原因写得很具体:Googlebot 抓取通常来自美国,且发出的 HTTP 请求不设置 Accept-Language 请求头。虽然官方另有说明 Googlebot 也会使用美国以外的 IP 进行地理分布式抓取,但官方对 locale-adaptive 页面的建议依然是——推荐使用独立的 locale URL 配置并用 hreflang 标注。
4. 各语种 robots 规则不一致。官方要求:如果站点使用了 robots 排除协议,必须在各语言版本间一致地应用,robots meta 标签和 robots.txt 在每个 locale 下应规定相同的规则。实践中常见的翻车场景是德语站还挂着上线前的 noindex,而 hreflang 清单里已经把它列了进去。
另外提醒一处非技术项:Google 判断页面语言依据的是可见内容,因此官方建议每个页面的内容与导航使用单一语言,避免并排双语对照;只翻模板、正文保持单一语言的做法,官方指出会造成同一内容以不同模板语言多次出现在搜索结果里的糟糕体验。
七、上线前 12 项自检清单
下面这份清单可直接复制进你的上线检查表,配合本站《外贸企业官网上线前必查清单》一起执行:
- 只选用了一种实施方式(HTML/HTTP 头/Sitemap),没有混配。
- 每个语言版本的清单里都包含了它自己。
- 任取两个语种交叉核对,双向互指成立。
- 所有 URL 为带协议的完整绝对地址。
- 所有 hreflang 目标 URL 实测返回 200,无重定向链、无 404。
- 语言代码全部符合 ISO 639-1;地区代码全部符合 ISO 3166-1 Alpha 2。
- 没有单独使用国家代码,没有使用 UK/EU/UN 等被保留代码。
- 中文版本按目标市场明确了
zh-Hans/zh-Hant或对应地区代码。 - 已配置
x-default,指向语言选择页或兜底页。 - 同一语言存在多地区版本时,已提供不带地区的通用版本。
- 各语言版本的 robots.txt 与 robots meta 规则一致,没有遗留
noindex。 - 没有基于猜测语言的自动跳转,页面上提供了可见的语言切换入口。
Sitemap 方式额外加一条:确认 sitemap 文件所在目录能够覆盖其中所有 URL(官方规则:sitemap 只能包含其托管目录的下级 URL)。

八、翻译质量的合规边界:机器翻译能用到什么程度
技术标注做对了,内容层还有一条红线。Google 的垃圾内容政策中,"规模化内容滥用"(Scaled content abuse)条目明确把这类做法列为示例:抓取信息源、搜索结果或其他内容来批量生成页面,包括通过同义词替换、翻译等自动化转换手段,且对用户价值很低。政策同时指出,判定核心是"为操纵搜索排名而非帮助用户批量生成页面",与内容如何生成无关。
把这条转成可执行的口径,对外贸站意味着三点:
- 机器翻译不是禁区,"无价值地批量上线"才是。规则针对的是价值,不是工具。产品页、技术参数、服务说明这类信息型内容,机器翻译打底 + 母语或专业人员校订,与"一键翻译几千页直接发布"是两回事。
- 优先级排序:先把主力市场的语种做到可用,再扩语种。与其铺八个语种全靠机翻,不如两个语种做扎实——这也与第一节"正文未翻译才被视为重复"的判定方向一致。
- 不要为"被 AI 引用"单独造翻译变体页。为同义词、城市、年份、语种批量造变体页,本身就落在上述政策描述的范围内。
还有一个常被误解的功能要区分清楚:Google 的翻译结果(Translated results)是搜索侧功能——当用户用本地语言搜索时,Google 可能把非该语言结果的标题链接和摘要翻译后展示,官方列出当前支持的语言包括阿拉伯语、孟加拉语、英语、法语、德语、印地语、印尼语、韩语、葡萄牙语、西班牙语、泰语、土耳其语、越南语等(移动端和桌面端均可用)。官方说明这一功能无需做任何事即可参与,Google 不托管翻译后的页面;如需退出,可使用 notranslate 规则(<meta name="robots" content="notranslate"> 或 X-Robots-Tag: notranslate 响应头)。表现数据可在 Search Console 效果报告的"搜索外观"筛选器中查看。这个功能不能替代真正的多语言站——它翻译的是搜索结果的标题和摘要,落地页仍是原语言。
常见问题
Q1:三种实施方式能不能同时上,加个双保险?
没必要。官方明确三者等效,同时使用在搜索上没有收益,反而让维护三套实现比只挑一套困难得多。真正的"保险"是把一套配对并做交叉核对。
Q2:加了 hreflang,德语页就会在德国排上去吗?
不会有这种因果关系。官方对其作用的表述是帮助搜索按语言/地区把用户指向最合适的版本。地理定位本身还依赖 ccTLD、服务器位置、页面上的本地地址电话、本地语言与货币等多个信号,且官方提醒地理定位并非精确科学。任何承诺排名的说法都不来自官方文档。
Q3:只把导航和页脚翻译了,正文保持英文,可以吗?
技术上官方把它列为"建议标注备用页面"的场景之一,但同时明确:只有当页面主体内容未被翻译时,本地化版本才会被视为重复内容;官方还指出只翻模板会造成同一内容以不同模板语言反复出现的糟糕体验。结论是能标,但不解决内容重复问题。
Q4:PDF 产品目录也要做多语言标注吗?
如果同一份资料有多语言版本且都对外可访问,可以用 HTTP 响应头方式标注——官方正是把非 HTML 文件(如 PDF)作为该方式的适用场景举例的。
Q5:中文站要写 zh-CN 还是 zh-Hans?
看目标是地区还是字形。zh-CN 指向中国大陆地区的中文,zh-Hans 显式指定简体字形(依据 ISO 15924),zh-Hans-US 则表示面向美国用户的简体中文。面向东南亚华人市场做简体内容时,用字形写法比套一个地区代码更贴合实际。
Q6:改版换了 URL 结构,hreflang 要怎么处理?
把它当作 URL 映射的一部分同步更新,否则会出现大量指向旧地址的标注。迁移期的映射字段、重定向红线与双平台工具口径,见本站《网站改版迁移怎么不掉流量》;信息架构与 URL 规则的前置设计见《B2B网站信息架构怎么规划》。
参考来源(均为官方文档,核验日期 2026-08-08)
- Google Search Central《Tell Google about localized versions of your page》:developers.google.com/search/docs/specialty/international/localized-versions
- Google Search Central《Managing multi-regional and multilingual sites》:developers.google.com/search/docs/specialty/international/managing-multi-regional-sites
- Google Search Central《How Google crawls locale-adaptive pages》:developers.google.com/search/docs/specialty/international/locale-adaptive-pages
- Google Search Central《Spam policies for Google web search》:developers.google.com/search/docs/essentials/spam-policies
- Google Search Central《Translated results in Google Search》:developers.google.com/search/docs/appearance/translated-results
兆派为外贸与展览企业提供多语言官网建设、技术 SEO 审计与上线核查服务。需要对现有多语言站做一次 hreflang 与索引基础体检,可通过站内表单联系我们。
在线留言