你的hreflang标签真的被谷歌识别了吗?
你给网站加了 hreflang,法语页配了 fr-fr,日语页写了 ja,德语页也全齐了——可法国用户搜过来还是跳到英文页,日本访客点开却是繁体中文。不是标签没写,是谷歌压根没当真。
问题往往藏在那些“看起来没错”的细节里:少了一个自引用、URL 指向了重定向页、或者 zh 和 zh-cn 混着用……这些小缺口,会让整套 hreflang 失效,甚至比不加还麻烦。
hreflang 的核心作用到底是什么?
它不帮你抢排名,也不给权重加分。
它只干一件事:告诉谷歌,“这个页面,是给谁看的”。
比如用户用德语在 google.de 搜你的产品,谷歌得知道该推 de-de 版本,而不是把 en-us 页面塞过去。
如果推错了,人家点进来发现满屏英文,两秒就关掉——这可不是小问题,是直接浪费流量。
一个真实案例:我们帮一家卖户外装备的欧洲站做诊断。主站英文流量稳定,但德语和法语页几乎没人来。查下来发现,他们 hreflang 全指向两年前改版前的旧链接,比如 /de/product/xxx 实际已 301 到 /de/products/xxx。谷歌根本连不上这三个版本。修复 URL 后,德语和法语页的索引速度明显加快,几周内自然流量开始爬升。
如何正确设置 hreflang 标签的三种方法?
第一种,最常用:写在网页 <head> 里,用 link 标签。
比如英语页要声明所有语言版本,就得这样列全:
<link rel="alternate" hreflang="en" href="https://example.com/page/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
注意:每个语言页都要这么写一遍,包括自己(自引用不能少)。
第二种,走 HTTP 响应头。适合 PDF、Word 这类非 HTML 文件,比如:
Link: <https://example.com/page>; rel="alternate"; hreflang="en",
<https://example.com/de/page>; rel="alternate"; hreflang="de"
第三种,XML 站点地图。适合页面多、语言多的站。在 sitemap 中为每个 URL 加 <xhtml:link> 子节点,指定所有对应版本。管理起来更集中,改一处,全站同步。
关键提醒:hreflang 是双向路。A 说“B 是我的德语版”,B 就必须回一句“A 是我的英文版”。漏掉任何一端,谷歌就会打个问号。
哪些高频错误让你的 hreflang 失效?
错误一:语言和地区代码乱用en ≠ en-gb,zh ≠ zh-cn。en 是泛英语,en-gb 才明确指向英国用户;zh 是中文统称,但谷歌更认 zh-cn(简体,大陆)、zh-tw(繁体,台湾)、zh-hk(繁体,香港)。用错或编造代码(比如 zh-china),标签直接被无视。
错误二:href 里的链接打不开
指向 404 页面?跳转到别的 URL?哪怕只是多了一个斜杠 /page vs /page/,都可能让谷歌放弃这条链。这类问题不会报错,但效果归零。
错误三:忘了给自己“投一票”
每个页面都必须有一条 hreflang="x" 指向自己。英语页缺了 <link rel="alternate" hreflang="en" href="...">,等于告诉谷歌:“我不属于任何语言组”——整个逻辑就塌了一角。
如何验证 hreflang 标签是否生效?
别靠猜,三步实锤:
先看谷歌搜索控制台:进“索引”→“页面”,点顶部“国际定位”标签。这里会列出所有被识别的 hreflang 关系,以及“无返回链接”“无效 hreflang 值”这类明确报错。
再用在线工具扫一遍:比如 hreflang.ninja 或 Mercury SEO’s hreflang tester,粘个 URL 就能画出链接关系图,一眼看出谁连不上谁。
最后亲自搜一搜:切到目标地区谷歌(如 google.fr),用 VPN 模拟当地 IP,搜你页面的标题或核心词,看出来的结果是不是你预期的语言版本。这是最真实的验收标准。
多语言站点除了 hreflang 还要注意什么?
hreflang 不是单打独斗的选手,它得和几个基础信号搭着用:
<html>标签里的lang属性必须匹配。英语页写<html lang="en-GB">,德语页就得是<html lang="de-DE">。浏览器、读屏软件、甚至部分 SEO 工具都靠它判断基础语言。URL 结构要老实。推荐子目录(
example.com/de/)或子域名(de.example.com),别用?lang=de这种参数形式——谷歌不太爱抓,用户也难记。内容得真本地化,不是机翻完事。价格标欧元不标美元,日期写
23.04.2025而不是04/23/2025,联系方式放柏林办公室电话,连客服响应时间都按中欧时区写。用户一进来就觉得“这就是为我准备的”,才愿意往下看。
今天下班前就能执行的一个检查步骤
打开谷歌搜索控制台,选中你那个多语言网站。
路径:索引 → 页面 → 点顶部“国际定位”标签。
花 10 分钟,重点盯两个红字警告:
✅ “无返回链接”(说明某语言页漏写了反向 hreflang)
✅ “错误代码”(比如 zh-china 这种不存在的值)
挑出错误数量最多的那个语言版本(比如法语页报了 12 条“无返回链接”),立刻去它对应的页面源码里补全缺失的 link 标签——尤其是那条指向自己的 hreflang="fr-fr"。
改完等 24 小时,回来刷新看警告是否消失。这一步做完,你离“法语用户搜到法语页”就不远了。