hreflang标签怎么写才对?Google Search Console老报错

Prog.春红 阅读 17

我给一个多语言网站加了 hreflang,但 Google Search Console 一直提示“无效的 hreflang 值”或者“页面未返回自身引用”。我明明每个页面都写了自己和其他语言版本的链接啊。

比如英文页写了指向中文页的 hreflang="zh",中文页也写了指向英文页的 hreflang="en",还加上了 hreflang="x-default"。但还是报错,是不是格式哪里不对?

<link rel="alternate" hreflang="en" href="https://example.com/en/" rel="external nofollow"  rel="external nofollow"  />
<link rel="alternate" hreflang="zh" href="https://example.com/zh/" rel="external nofollow"  />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/" rel="external nofollow"  rel="external nofollow"  />
我来解答 赞 4 收藏
二维码
手机扫码查看
1 条解答
A. 素平
A. 素平 Lv1
你这写法错在几个关键点上,我直接说对的写法:

首先 hreflang 的语言代码必须用标准的 ISO 639-1 + ISO 3166-1 格式,比如英文是 en,中文是 zh,但要注意:
- 如果你只写 zh,Google 会当成通用中文,不推荐
- 推荐写成 zh-CN(简体中文)或 zh-TW(繁体中文)这种明确地区的写法

其次,每个页面必须包含自身引用,也就是英文页里也要有指向自己的 hreflang,中文页同理,不然就会报“页面未返回自身引用”。

再者,x-default 一般只用于语言选择页或者首页,不能随便指向某个语言页,而且它不能和具体语言混着乱用。

代码给你:

英文页(https://example.com/en/)里这么写:
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="zh-CN" href="https://example.com/zh/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/" />


中文页(https://example.com/zh/)里这么写:
<link rel="alternate" hreflang="zh-CN" href="https://example.com/zh/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/" />


注意三点:
1. 每个页面都必须包含指向自己的那一行
2. 语言代码要具体,别只写 zh
3. x-default 最好只在首页或语言选择页用,别每个页面都加

还有个坑:你得确保这些 link 标签放在 head 里,而且每个页面返回的 HTML 里这些 link 必须一致,不能有的页面有,有的页面没,或者 URL 不一致。

最后提醒,改完别急着等 GSC 更新,它可能要几天才重新抓取验证,中间别反复乱改。
点赞 1
2026-02-26 19:00