做一个中英双语的站,经常出现的情况是:英文页面在中文搜索里排名,中文页面在英文搜索里排名,两边都不理想。
hreflang 解决的就是这个问题:告诉谷歌"这个页面是给哪种语言/地区的用户看的"。
一、基本写法
三行分别表示:中文版、英文版、默认版(其他语言用户看到的版本)。
关键点:每个语言版本都要包含完整的这一组标签,包括指向自己的那一条。
二、语言代码怎么写
| 写法 | 含义 |
|---|---|
| en | 英语(不限定地区) |
| en-US | 美国英语 |
| en-GB | 英国英语 |
| zh-CN | 简体中文 |
| zh-TW | 繁体中文(中国台湾) |
| x-default | 默认版本 |
不要用 zh-Hans 这类写法,虽然理论上可以,但兼容性不如 zh-CN。
三、五个常见错误
1. 只做单向标注
A 页标了 B,B 页没标 A。谷歌要求双向确认,单向等于无效。
2. 指向的页面返回 404 或重定向
hreflang 指向的 URL 必须是 200 状态。
3. 语言代码写错
en-UK 是错的,应该是 en-GB。
4. 所有语言版本 canonical 到同一个页面
这会告诉谷歌"只有这一个版本",其他语言版本不会被索引。
5. 忘记 x-default
没有默认版本,谷歌可能随机选一个展示给其他语言用户。
四、三种实现方式
- HTML 标签:最简单,适合页面不多的站。
- HTTP 头:适合 PDF 等非 HTML 文件。
- Sitemap:适合页面很多、不方便逐个改模板的站。
Sitemap 的写法:
https://example.com/en/page
五、目录结构怎么设计
| 方式 | 示例 | 建议 |
|---|---|---|
| 子目录 | example.com/en/ | 推荐,权重集中 |
| 子域名 | en.example.com | 可用,需分别验证 |
| 独立域名 | example.co.uk | 适合本地化程度高的市场 |
| 参数 | ?lang=en | 不推荐 |
子目录是最省事的方式,权重也最集中。
六、怎么验证
- 在 Search Console 的"国际定位"报告里看是否有错误。
- 用 hreflang 校验工具检查双向标注是否完整。
- 手动抽查三对页面,确认标签互相指向。
最常见的三个错误
指向自己、双向缺失、x-default 写错。每个语言版本都要列出所有版本并包含自己,默认页用 x-default。没有翻译的页面不要加 hreflang。
用谷歌的测试工具跑一遍,比肉眼检查可靠。
常见问题
机器翻译的多语言版本有用吗
作用有限。低质量的翻译内容很难排名,还可能影响整站质量评估。建议至少人工校对核心页面。
hreflang 和 canonical 冲突吗
不冲突,但要各指各的:hreflang 指向其他语言版本,canonical 指向自己。
只做中英双语够吗
看市场。欧美客户英文够用,欧洲市场可能需要德语、法语、西语。别一上来铺五种,先把一种做透。
多语言站的整体规划,见外贸独立站搭建。