hreflang标签怎么写才对?Google Search Console老报错
我给一个多语言网站加了 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" />
首先 hreflang 的语言代码必须用标准的 ISO 639-1 + ISO 3166-1 格式,比如英文是
en,中文是zh,但要注意:- 如果你只写
zh,Google 会当成通用中文,不推荐- 推荐写成
zh-CN(简体中文)或zh-TW(繁体中文)这种明确地区的写法其次,每个页面必须包含自身引用,也就是英文页里也要有指向自己的 hreflang,中文页同理,不然就会报“页面未返回自身引用”。
再者,x-default 一般只用于语言选择页或者首页,不能随便指向某个语言页,而且它不能和具体语言混着乱用。
代码给你:
英文页(https://example.com/en/)里这么写:
中文页(https://example.com/zh/)里这么写:
注意三点:
1. 每个页面都必须包含指向自己的那一行
2. 语言代码要具体,别只写
zh3. x-default 最好只在首页或语言选择页用,别每个页面都加
还有个坑:你得确保这些 link 标签放在 head 里,而且每个页面返回的 HTML 里这些 link 必须一致,不能有的页面有,有的页面没,或者 URL 不一致。
最后提醒,改完别急着等 GSC 更新,它可能要几天才重新抓取验证,中间别反复乱改。