记录一下那天晚上的排查过程。中文页里写了指向英文版的 hreflang,英文版页面却没有回指中文,GSC 提示有语言版本缺少返回链接。

把日志和配置对完,能解释这个现象的基本就这几处。hreflang 要求同组页面互相声明,单向不算数。也可能是英文版模板里漏了语言切换的标签输出。

另外,不同语言由不同插件生成,各自只管自己那一份。

动手时先对比两个页面的 hreflang 清单

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

再往下在模板里统一输出全组标签

foreach ($langs as $code => $url) { echo $code; }

末了确认每个目标地址都可访问

curl -sI https://www.example.com/en/ | head -1

那几天正好在做别的变更,先把时间线对齐才敢动手。

别只看报错消失,验证要多做一步。每组页面的 hreflang 完全对称,报告里的返回链接提示消失,各语言版本收录正常。

只在主语言页写标签,其他版本不写,蜘蛛会认为这是一组不完整的关系,通常直接忽略,不如不写。这类问题最好一次改到位,反复小改反而容易把原因搅混。

作者 9823189