lang属性写错会导致中文内容被当英文索引:未设、设为en或模糊值zh时,Google默认按英文处理整页,致中文关键词排名暴跌;hreflang因lang值大小写或符号不一致(如zh-cn≠zh-CN)被静默丢弃;局部中文未显式标注lang会触发“语言混杂”降权。

lang属性写错会导致中文内容被当英文索引
Google 不会按页面实际文字去猜语言,它只信 这个声明。如果没写、写成 lang="en" 却放满中文,或写成 lang="zh" 这种不带地区码的模糊值,Google 就默认按英文处理整页——结果就是:用户搜“深圳签证流程”,你的页面根本进不了前 100 名。
hreflang 生效的前提是 lang 值完全一致
你配了 ,但目标页的 (小写 c)或 (下划线),Google 就判定信号矛盾,直接静默丢弃整组 hreflang。这不是警告,是彻底失效。
- 必须大小写、连字符、空格全对齐:
zh-CN≠zh-cn≠zh_CN -
hreflang是给搜索引擎看的 URL 关系,lang是给浏览器和爬虫看的内容语言,两者必须咬合 - 验证方式:用 Google Search Console 的「URL 检查」工具,看「国际化」标签页是否列出有效对
局部混排不加 lang 会触发“语言混杂”降权
主页面 ,但产品介绍里大段中文没包
,Google 可能认为该页语义混乱、质量存疑,尤其打压长尾词权重。这不是玄学,是真实观察到的排名波动现象。
- 搜索引擎不靠继承判断局部语言——
:lang(zh)这类 CSS 选择器对爬虫无效 - 富文本编辑器粘贴的外文、第三方评论插件加载的内容,都得在插入前显式设
lang - SPA 切换语言后,已挂载的 DOM 节点不会自动更新
lang,必须手动遍历或重渲染
简体中文该用 zh-CN 还是 zh-Hans
优先选 zh-CN。虽然 zh-Hans 是 BCP 47 标准写法,但 Safari 对它的语音支持不稳定,部分旧版 TTS 引擎识别率低;而 zh 太宽泛,Google 会降级处理;zh-TW 在某些 :lang() CSS 匹配中不准。
真正难的不是选对一个值,而是确保整个 DOM 树里每段文本——从 SSR 渲染的首屏、到 React/Vue 动态生成的卡片、再到用户粘贴进富文本编辑器的外文引用——都带着准确、可验证、可同步的语言标识。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











