核心要点
多语言站最隐蔽的坑不是翻译质量,是 hreflang 配错。配错了,谷歌可能把英文版排给法语用户、把西班牙语版当成重复内容降权,你辛辛苦苦做的本地化全白费。hreflang 这行代码不起眼,但它决定了”哪版页面该出现在哪国用户眼前”。
说白了,hreflang 就是告诉谷歌:“我这几个语言版本是同一篇文章的不同语言,请按用户语言给他对应的那份。“下面把怎么配、坑在哪说清楚。
hreflang 到底是什么,解决什么问题
假设你有 example.com(英文)、example.com/fr/(法文)、example.com/es/(西文)三个版本,内容一一对应。
如果不加 hreflang,谷歌看到三份高度相似的内容,会懵:这仨是重复内容吗?该排哪个给谁?结果常常是乱排——法国用户搜到了英文版,或者谷歌只收录了其中一份、另外两份被当重复丢掉。
加了 hreflang,你明确告诉谷歌:这三份是同一内容的语言变体,请按访客的浏览器语言/地区,把对应那份排给他。法国人看 fr、西班牙人看 es、其他看 en。各归各,不互抢。
怎么写:三种放法,选一个就够
一、HTML 头部(link 标签)
每个语言版页面 <head> 里写一组:
<link rel="alternate" hreflang="en" href="https://example.com/" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
注意:每个版本都要列出全部版本(包括自己),且成对完整。只写别人不写自己,是常见错。
二、HTTP 头部
服务端返回页面时带 Link 头,适合 PDF 等非 HTML 资源。一般站点用不到。
三、sitemap 里写
在 sitemap 给每个 URL 配 <xhtml:link rel="alternate" hreflang=...>。适合页面多、不想动模板的站。
三种选一种,别混着用,混了谷歌反而乱。
x-default 是什么,必须加吗
x-default 是”兜底”:当用户语言不在你任何版本里时,给他哪个。比如你只有 en/fr/es,一个德语用户来了,给他 x-default(通常指向英文主页)。
建议一定加 x-default。不加,谷歌对”剩下的人”怎么处理没明确指令,可能乱排。我们做 多语言独立站 时,这是必查项。
最常翻车的几个错误
错误一:只写别人,不写自己
页面 A 写了”我是 en,fr 在 /fr/”,但 /fr/ 页面没回指 en。谷歌要求双向成对,缺一边整组可能不生效。
错误二:hreflang 值和实际语言对不上
写 hreflang="en" 但页面其实是中文,或写 zh-CN 但你站点是繁体。值要和实际语言地区一致,否则谷歌不认。
错误三:URL 指向 404 或重定向
hreflang 里的链接必须能直接打开、别 301 跳。指向跳来跳去的页面,谷歌可能忽略整组。
错误四:翻译不全就上线
只翻了标题、正文还是英文,也标了 hreflang=“fr”。谷歌发现两份内容不像”同内容不同语言”,hreflang 信号就弱了。翻译得是真对应,不是机翻糊弄。
错误五:和 canonical 冲突
canonical 指向自己这版没错,但别让 canonical 指向别的语言版。canonical 说”我是正版”,hreflang 说”我是语言变体”,两者要对得上:每版 canonical 指向自己,hreflang 列出所有变体。
自托管多语言 vs 翻译插件,坑不一样
我们接触的客户里,两种都常见:
自托管(每个语言一个目录 /fr/ /es/) 可控性最高,hreflang 自己写死,干净。缺点是维护成本高,加一篇文得同步多语言。
翻译插件(Weglot、GTranslate 之类) 省事,自动翻。但坑在:插件生成的 hreflang 有时不完整、翻译质量参差、URL 结构怪(/fr/ 后面跟原 slug 或带 ?lang=)。用插件一定复查它生成的 hreflang 对不对,别默认信任。
关于建站技术选型,Shopify 和 WordPress 怎么选 里也提到过,多语言需求强的站,技术栈要提前想清楚,别等上线再改。
实操清单
- 每个语言版页面,head 里列出全部语言版(含自己)+ x-default
- hreflang 值用标准语言-地区码(en / fr / es-ES),和实际一致
- 所有 hreflang 链接能直接 200 打开,无重定向
- canonical 指向本语言版自身,不和 hreflang 冲突
- 翻译是完整对应,不是机翻半成品
- 用工具(Search Console 国际定向报告 / hreflang 校验器)跑一遍,无报错
- 改完用目标国 IP 或 Search Console 看对应版本有没有正确展现
常见问题
hreflang 写错了会被谷歌惩罚吗?
一般不会直接惩罚,但会让语言版本排错、或被当重复内容处理,流量白白流失。属于”不罚但你亏”的典型技术坑。
只用英文站,不做多语言,需要 hreflang 吗?
不需要。hreflang 是多语言版本之间才用的。单一语言站关注 canonical 和常规 SEO 就行,详见 独立站技术 SEO。
x-default 该指向哪个页面?
指向你希望”其余语言用户”看到的兜底页,通常是英文主页。如果不同市场各有独立站(如美站、欧站),x-default 也可指向主站首页。
翻译插件生成的 hreflang 能直接用吗?
不建议直接信。很多插件生成的 hreflang 不完整或 URL 结构异常,上线前用校验工具跑一遍,确认每版都完整列出、链接可达。
hreflang 配好了多久生效?
谷歌重新抓取并理解后生效,通常几周到一两个月。急不来,配对是关键,生效是后面自然来的。
总结
hreflang 是多语言独立站最容易被忽略、后果最隐蔽的技术 SEO 项。它不复杂,但要求完整、成对、对应真实语言、链接可达。配对了,各语言版各归各市场;配错了,本地化白做还互相抢排名。上线前用工具校验一遍,比事后排查省事得多。