记录一下那天晚上的排查过程。英文版放在 /en/ 目录,内容全部重写过,canonical 却在模板里指回了中文页,结果英文页一条都没收录。

真正麻烦的地方在于,几个原因的现象几乎一样。模板复用了中文页的 canonical 逻辑。还有一种是多语言插件关闭了自指选项。

少数情况下是hreflang 和 canonical 同时指向中文,信号互相加强。

上来先检查英文页的 canonical 目标

curl -s https://www.example.com/en/a/ | grep -i canonical

再往下改成自指 canonical

add_filter('wpseo_canonical', 'self_canonical');

末了确认 hreflang 仍保持双向

curl -s https://www.example.com/en/a/ | grep -i hreflang

白天有业务在跑,能验证的部分都压到了晚上做。

怎么算真的好了,看的是同一批现象。英文页陆续进入索引,两到四周后对应关键词开始有英文市场的展现,中文页也没有被顶掉。

补一句。多语言站最容易犯的错就是 canonical 全指主语言,等于主动宣布其他语言版本是副本,做多少内容都白费,改回来也要等一轮完整抓取和索引更新。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。

作者 9823189