发布时间:2026-10-02 08:40 更新时间:2026-10-02 08:40 阅读量:0
做多语言出海站,最容易出现的一种尴尬是:页面都翻译好了,各语言版本也都上线了,但在搜索结果里只显示英文版,其他语种迟迟不出现。很多时候问题不在翻译质量,而在 hreflang 标注上。这篇文章不讲玄学,只讲三类排查中出现频率很高的报错:返回标签不匹配、x-default 缺失、语言地区代码写错,并给出一份企业主可以拿去验收的清单。如果你正处在改版或新建多语言站阶段,也可以先看看我们的建站方案,把多语言结构在规划阶段就定下来。
hreflang 的作用是告诉搜索引擎:这一组页面是同一内容的不同语言或地区版本,请按用户的语言和地区偏好展示对应版本。它不提升排名,只解决“给谁看哪个版本”的问题。标注方式有三种:页面头部 link 标签、HTTP 响应头、XML 站点地图。对大多数企业站来说,用页面头部 link 标签配合站点地图就够了,具体哪种组合更合适,以搜索引擎官方文档和你的建站工具支持情况为准。
一个常被忽略的前提是:hreflang 必须是双向或闭环的。A 页面指向 B,B 也必须指向 A;A、B、C 三个版本之间要互相指全。只要有一处漏指,整组标注可能被判为无效,这就是“返回标签不匹配”的根源。
第一类:返回标签不匹配(return tag missing / no return tags)。表现是 A 页面里写了指向 B 的 hreflang,但 B 页面里没有回指 A。常见原因有三种:新加语种时只改了新页面忘了回填旧页面;模板里 hreflang 是写死的,新增语种没生效;用了不同域名或子目录,两边模板不统一。排查办法是抓取一组页面的 HTML,逐个检查 link 标签是否成对。可以在服务器上用 curl 拉取页面头部做快速比对:
# 分别抓取中文、英文、德文版本的 head 部分做比对
for u in "https://www.example.com/" \
"https://www.example.com/en/" \
"https://www.example.com/de/"; do
echo "===== $u ====="
curl -sL "$u" | grep -i 'hreflang'
done如果某个版本输出为空,或者少了对其他语种的指向,基本就能定位问题。注意:grep 只能看到静态输出的标签,如果 hreflang 由前端脚本动态注入,需要改用浏览器开发者工具查看最终 DOM,具体以实际环境为准。
第二类:x-default 缺失。x-default 用来指定“没有匹配到具体语言地区时”展示哪个版本,通常指向英文站或语言选择页。它不是必填项,但缺少它时,搜索引擎可能自行挑选一个版本展示给其他地区用户,结果往往不理想。建议至少给主站加一条 x-default,指向你希望兜底的页面。
第三类:语言地区代码写错。hreflang 的取值遵循“语言-地区”格式,语言用小写 ISO 639-1 两位代码,地区用大写 ISO 3166-1 Alpha 2 两位代码。常见错误包括:把 zh-CN 写成 zh_CN(下划线不是合法分隔符)、把 pt-BR 写成 pt-br(地区应大写)、把国家代码当语言代码用(如 uk 表示乌克兰语时实际应写 uk 表示乌克兰语,但表示英国英语要用 en-GB)、以及语言代码与页面实际内容不符。一个正确写法示例:
<link rel="alternate" hreflang="zh-CN" href="https://www.example.com/" />
<link rel="alternate" hreflang="en" href="https://www.example.com/en/" />
<link rel="alternate" hreflang="pt-BR" href="https://www.example.com/pt-br/" />
<link rel="alternate" hreflang="x-default" href="https://www.example.com/en/" />在 Nginx 里如果要用响应头方式下发 hreflang,写法大致如下,路径和语言需按你的实际结构替换:
location = / {
add_header Link '<https://www.example.com/en/>; rel="alternate"; hreflang="en"';
add_header Link '<https://www.example.com/pt-br/>; rel="alternate"; hreflang="pt-BR"';
}另外还有两个隐蔽坑:href 指向的 URL 必须是可访问的规范地址,不能是跳转链或 404;同一页面不要出现两条指向同一 hreflang 的记录。改版换域名时,hreflang 里的旧域名也要同步更新,否则会出现指向失效地址的报错。这些细节在客户案例的多语言改版中经常出现,值得提前规避。
你不必自己写代码,但可以按下面这份清单要求技术方或服务商逐项确认,交付前跑一遍,能省下后期大量返工:
排查 hreflang 不需要高深技术,核心是耐心和一致性。把它当成上线前的一道检查工序,比等到流量异常再回头找问题省力得多。建站阶段就把多语言结构、URL 规则和标注方式定清楚,后续每加一个语种,照清单走一遍,出错概率会明显下降。
如果你希望把上面的思路落到自己的行业与目标市场,可以先看 建站方案 了解一站式流程,再对照 客户案例 判断哪些做法适合自己的业务;也可以加微信 tsrz001 沟通需求,把页面结构、预算和排期先聊清楚再动手。
| 📑 | 📅 |
|---|---|
| 小语种站点翻译质量自查清单:机翻常见错误与人工校对流程 | 2026-10-02 |
| 泰语与越南语站点排版实战:断词换行与首屏加载 | 2026-10-02 |
| 土耳其语市场官网本地化:.tr域名、里拉报价与询盘习惯 | 2026-10-02 |
| 波兰语站点建站要点:变音字符编码与本地搜索引擎提交 | 2026-10-02 |
| 荷兰语市场官网结构规划:.nl 域名取舍与报价页设计 | 2026-10-02 |
| 欧洲葡语与巴西葡语站点:拼写货币与hreflang拆不拆 | 2026-10-02 |
| 韩语官网本地化落地:地址格式、法人登记与KakaoTalk咨询入口 | 2026-10-02 |
| 多语言切换器三种方案怎么选:URL参数、子域名与子目录对SEO的实际影响 | 2026-10-02 |
| 小语种站点翻译文件管理:PO/MO、JSON 与 XLIFF 怎么选 | 2026-10-02 |
| 多语言站点 sitemap 与 robots 分语言提交实操指南 | 2026-10-02 |