先看现象。英文版地址 /en/ 上线两个月,GSC 抓取的 HTML 快照里正文还是中文,页面 lang 写的 en,蜘蛛判定语言不符,英文关键词一个都没排上去。

原因不止一个,得分开看。语言包只翻译了导航和页脚,正文从主表直接读中文。还有一种是缓存插件按 URL 缓存,切换语言后没有清对应键。

不容易想到的是,模板里 lang 属性写死 en,实际输出没有跟着语言走。

先抓一份英文页原文看正文语言

curl -s https://www.example.com/en/ | sed -n '1,40p'

随后检查语言字段与正文是否一致

curl -s https://www.example.com/en/ | grep -o 'lang="[a-zA-Z-]*"' | head

等前面都确认过,再清掉该路径的页面缓存再复查

curl -X PURGE https://www.example.com/en/

中间停过一次,把已经改的东西回滚干净,再重新来一遍。

恢复的判定其实很直接。清缓存并补完正文翻译后重新抓取,快照里的正文变成英文,同一批关键词的展现量两周内从零涨到四百多次。

只改 html lang 不改正文,等于告诉蜘蛛这是英文页却给它中文内容,判语言不符比不写标签更糟。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189