如果你跑一个双语站,hreflang 决定了 Google 是把中文页面排到中文搜索结果里,还是把中英两版当成重复内容互相打架。它就 12 行 HTML,但大约一半的双语独立站都有微妙的错。
问题背景
hreflang 是在告诉搜索引擎「这页有 X 语言在 URL A、Y 语言在 URL B」。Google 用它做两件事:给对的用户展示对的语言版本,以及不把跨语言的同一内容当重复处罚。它不直接影响排名——但 hreflang 缺失或写错,通常会把非默认语言的流量砍掉一半。
判断标准
- 中英两版文章在并行 URL 上(
/en/articles/x/和/zh/articles/x/)。 - 在 Google 中文搜索结果里看到自己的英文页面(或反过来)——用户语言不对。
- Search Console 里某个语言版本显示「Alternate page with proper canonical tag」。
- 中英内容完整度一样,但中文的收录数明显少于英文。
快速结论
每页 <head> 里加一组互相引用的 <link rel="alternate" hreflang="...">。每组必须包含所有语言版本 + 自指 + x-default。两边都要引用对方——单向 hreflang 会被忽略。
实操步骤
- 每页生成完整的 hreflang 块。中英两版的文章是三条:
hreflang="en"指向英文 URL、hreflang="zh"指向中文 URL、hreflang="x-default"指向你定的默认(通常是英文)。 - 互相引用。英文页里
hreflang="zh"指中文 URL;中文页里hreflang="en"指英文 URL;两边都还要包含自指。任一边缺失,Google 会把整组都忽略。 - 用绝对 URL(
https://yoursite.com/zh/articles/slug/),不要相对路径。协议(https://)和主机在 canonical、sitemap、hreflang 之间必须完全一致——大小写、结尾斜杠都不能差。 - 每个语言版本都用自指 canonical。不要把 zh 页面 canonical 到 en,或反过来。canonical 和 hreflang 配合工作:canonical 说「这是这份内容这门语言的标准 URL」,hreflang 说「这里有其他语言版本」。
- 部署后验证。在一篇英文页 view source 看到 3 条 hreflang;对应中文页 view source 也看到这 3 条。然后 Search Console URL Inspection 跑一下,「International Targeting」面板里 Google 应该报告 hreflang 集合无错。
- 如果要做国家级定位,只在你真的为不同地区出不同内容时才用
hreflang="zh-CN"和hreflang="zh-TW"。如果两地内容一样,用hreflang="zh"(只标语言)省事。
容易踩的坑
- 单向 hreflang。英文页引用了中文,但中文页没引用回来。Google 默默把整组丢掉。
- 忘了自指标签。每页必须包含自己 URL 对应自己 hreflang 值的那一条,否则 Google 认为这组不完整。
- 为了「集中权重」把中文版 canonical 到英文版。结果是中文页从中文搜索消失。别这么做。
- 内容其实是通用中英文,却用了
lang="en-US"和lang="zh-CN"。国家代码意味着你承诺给特定地区出不同内容;如果zh-CN和zh-TW完全一样,直接用zh。 - hreflang、canonical、sitemap 三处 URL 不一致。少一个结尾斜杠都算不一致。
这篇适合谁
同一域名下跑并行中英两版(或任意双语组合)、slug 一一对应的独立内容站。
这篇不适合谁
单语站——hreflang 对你没意义。或者两个语言版本内容完全不同(文章不同、结构不同),那种情况建议拆两个独立站,各自 Search Console 属性。
FAQ
- 一定要有
x-default吗?: 强烈建议有。x-default告诉 Google「用户语言都不匹配时,展示这版」。没它 Google 会猜,第三国用户那里经常猜错。 - hreflang 能放 sitemap 里而不是
<head>吗?: 能,二选一(不要同时用)。页面多的站推荐 sitemap 版,HTML 干净。<head>版调试更方便。 - Search Console 还显示「Alternate page with proper canonical tag」是怎么回事?: 正常。非默认语言版本就该是这个状态。意思是 Google 看到了这页,把它当成 canonical 页的备选语言版本。不是错误,是正确状态。
- hreflang 能帮我在百度排名吗?: 不能。百度不用
hreflang。百度需要百度站长平台 + ICP 备案,是另一套流程。hreflang只对 Google 和 Bing 有用。