x-default 写成了 /en/ 首页,中文用户搜品牌词时看到英文结果,中文页的点击率从 6% 掉到 3.5%。

一开始怀疑是「x-default 指向的地址是 302,标签直接失效」,查了一圈,方向不对。

把日志和配置对完,能解释这个现象的基本就这几处。x-default 应指向语言选择页或默认语言,不是随便挑一个版本。也可能是所有页面都指到英文首页,内页分组全部错位。

还有一种情况,没有语言选择页,硬拿英文版顶替。

动手时先查看 x-default 指向哪里

curl -s https://www.example.com/zh/post/ | grep -o 'hreflang="x-default" href="[^"]*"'

然后改成指向默认语言的内页

add_action('wp_head', function(){ echo '<link rel="alternate" hreflang="x-default" href="https://www.example.com/zh/post/">'; });

再往下确认目标地址返回 200

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

复核整组是否闭合

for l in zh en ja; do curl -s https://www.example.com/$l/post/ | grep -c x-default; done

改之前先确认了最近有没有人动过配置,避免白查一遍。

恢复的判定其实很直接。x-default 指向中文内页且返回 200,中文用户搜索结果里出现中文标题,品牌词点击率回升到 5% 以上。

这里还有个坑。x-default 是兜底不是主版本,没有语言选择页时就指向默认语言的内页,别指向首页。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。

作者 9823189