排查hreflang,先核对“哪个页面对应哪种语言或地区”,再检查代码、双向关系和目标URL。标签格式正确,不代表页面已经被Google收录或一定展示给指定地区。Google也明确说明,hreflang值不区分大小写;EN-us并不会仅因大小写而失效。
hreflang用于说明同一内容的语言或地区替代版本。它不翻译正文,也不是排名加分开关。下面依据Google的多语言版本说明,按容易实际定位的错误展开。
先建一张页面对应表,避免把所有语言都指向首页
把同一产品、文章或功能的各版本放在同一组,记录最终URL、语言、目标地区、状态码、canonical和替代链接。例如英文产品详情应对应法文同产品详情,而不是法文首页。缺少对应翻译时先留作缺失,不用不相关页面填满表格。
仅翻译导航、正文仍是英文,与完整法文版本不同。Google的多地区网站指南说明,页面语言主要依据可见内容判断;HTML的lang属性和hreflang标签不替代正文语言。提供可点击的语言切换入口,也不要让按IP或浏览器语言强制跳转挡住其他版本的访问。
代码写错:分清格式、代码含义与目标是否选对
| 写法 | 实际含义或问题 | 怎么处理 |
|---|---|---|
| en-US / EN-us | 大小写不同,不因此失效 | 统一写成语言小写、地区大写便于维护 |
| es-ES | 面向西班牙的西班牙语,是有效组合 | 全球西语与西班牙市场是不同需求,按真实内容选择 |
| zh-TW | 面向台湾地区的中文;不是非法写法 | 若要表达繁体书写形式,可按内容使用zh-Hant |
| zh-Hans / zh-Hant | 简体/繁体书写形式 | 书写形式与地区并非同一维度 |
| pt-BZ | 葡萄牙语与伯利兹地区代码的组合,不是巴西 | 若实际目标为巴西,核实内容后改为pt-BR |
| eu | 巴斯克语语言代码,不是欧盟地区 | 不要用它表示“欧洲用户”;en-EU也不是Google支持的欧盟定位 |
| US 或 en_US | 仅地区代码,或用了下划线 | 使用有效语言代码,语言与地区以连字符分隔 |
IANA语言子标签注册表可核对eu、pt、BR、BZ及Hans/Hant的含义;Google实际支持的组合仍以其hreflang文档为准。en可面向未限定地区的英语用户,地区不是每个标签都必须加。不要把“不是本次业务目标”写成“这个代码根本不存在”。
缺少自引用或回链:从两页之间的关系查起
每个版本都应列出自己及对应替代版本,并使用包含协议和域名的完整URL。下面是假设的英文、法文与语言选择页,三页的HTML head均放同一组替代链接:
<link rel="alternate" hreflang="en" href="https://example.com/en/widget">
<link rel="alternate" hreflang="fr" href="https://example.com/fr/widget">
<link rel="alternate" hreflang="x-default" href="https://example.com/choose/widget">
英文页另用自己的英文地址作为canonical,法文页另用法文地址;选择页也按其真实内容确定规范地址。x-default用于未匹配语言的后备页面,可以是语言选择页或适当的默认版本,不是所有站点都必须具有的“防失效标签”。
如果A列出B而B没有回指A,Google可能忽略这对关系。官方也说明,无法维护全部双向关系时,仍会处理其余有效互指关系,不能推成“少一条就让整个网站全部失效”。

本地检查分别请求了正常组与缺回链组的三个页面响应:均返回200;正常组每页列出en、fr和x-default,另一组仅法文响应漏列en。报告据这些响应检查双向关系,没有模拟Google抓取或最终处理。
canonical与hreflang不一致:先确认真正的规范页
常见错误是法文页声明自己为法语替代版本,却又把canonical指到英文页。对有独立正文的翻译版本,先检查是否误把它当成英文副本。规范网址指南要求优先选择同语言规范页;如果没有同语言版本,再考虑最合适的替代语言。相同语言的近重复地区页则要结合实际规范化策略,不能把“每页必须自指”当成覆盖全部情形的规则。
对齐hreflang、canonical、站内链接与站点地图的目标。Google仍会自行选择规范网址:读到一个canonical标签,不等于它已被采纳;也不要把两种标签合并到同一条link里。
目标不可访问、标签位置错误或多个维护入口打架
- 检查完整GET响应:保留状态码、重定向每一跳和最终正文。200可能只是登录页、验证码或错误提示;301也不证明原hreflang目标已正确更新。
- 检查索引与抓取控制:确认想展示的版本没有误加noindex或被robots阻止;有意保密内容不为通过检查而解除保护。
- HTML实现:把替代link放在有效的head中,检查服务端输出和渲染后DOM;插件与主题各输出一套时,先找清维护源。
- 其他实现:Google还支持HTTP Link响应头和XML站点地图;响应头适用于PDF等非HTML对象。三种方法作用等价,没有为提高效果同时维护三套的必要。
GSC的网址检查能帮助核对索引版本、实时响应和Google选择的canonical,但不是“hreflang成功率”报表。旧国际定位报告已退役;不要再按旧教程寻找它的语言报错面板。
参数页与分页:保留真实差异,处理无意义副本
URL带问号不自动使hreflang失效。追踪参数形成的同内容副本,可以与干净规范地址保持一致;价格、语言或其他参数若改变实际内容,则应先判断页面目的。不要复制一条宽泛重定向规则,把所有参数都删掉。
分页的第2页并非第1页的普通重复。Google分页指南建议每页有独立URL和自己的canonical;语言替代关系也要对应真实等价内容。不同语言排序不同,不能只按相同页码机械配对。Search Console的URL参数工具已于2022年退役,不再是配置Paginates或忽略参数的现行入口。
修完后怎样确认,而不是只看检查器的绿灯?
- 保存修前对应表、响应与标签,定点改正确的模板、CMS字段或站点地图生成源。
- 刷新相关缓存,重新抓取所有受影响版本,检查自引用、回链、最终URL、canonical及实际语言。
- 在手机与桌面走一次语言切换,确认跳到同一内容且没有自动跳回。
- 有权限时复查GSC索引版本和后续抓取记录;把“标签已修”“Google已重抓”和“目标市场出现展现”分别记录。
若页面本身未收录,先看按GSC状态排查未收录。需要跨页面协调技术、内容与外链资源时,可结合光算的谷歌SEO整站方案安排工作。英文同题见hreflang troubleshooting。