站点有中文、英文、日文三个版本,x-default 却指向了日文页,搜索结果的默认落地页经常跳到日文。

真正麻烦的地方在于,几个原因的现象几乎一样。x-default 应指向语言选择页或默认语言版本。少数情况下是三个版本都写了 x-default,蜘蛛无法判断哪个优先。

还有一种情况,x-default 指向的地址返回 302,标签被忽略。

先检查各语言页面的 x-default 指向

curl -s https://www.example.com/ | grep -i x-default

再往下统一指向语言选择页或主语言版本

add_filter('wpseo_hreflang', 'fix_x_default');

剩下的就是确认目标地址返回 200

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

改之前我把相关日志按时间截了一段存着,事后对时间线用得上。

中途换过一次思路,把范围缩到最小的那一层,反而快了。

别只看报错消失,验证要多做一步。默认落地页稳定在主语言版本,其他语言版本按地区正常展示,互相抢排名的情况消失。

x-default 不是必填项,但只要写了就必须全组一致,只在一部分页面写,反而会让蜘蛛放弃整组标签。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189