先把当时的情况摆出来。测试环境的部署脚本里留着生产的 IndexNow key,一键发布时把 staging 的地址推了上去。必应抓这些地址全 404,站点错误率飙到四成。

这类报错背后常见的原因有几处,逐个排除就行。测试环境复用了生产的 key 与配置文件。也可能是部署脚本没有按环境切换推送开关。

还有一种情况,推送地址拼的是写死的生产域名,路径却是测试的。另外,推送前没有做一次可访问性预检。

第一件事是看推送日志里被提交的地址

grep -i indexnow /var/log/app/push.log | tail -20

测试环境禁用推送并换独立 key

INDEXNOW_ENABLED=false

推送前加一次 200 预检

curl -s -o /dev/null -w '%{http_code}' https://www.lu0.cn/1.html

末了在必应里撤回这批无效地址

恢复的判定其实很直接。无效推送归零,必应抓取错误率回落到五以下,被推错的地址两周后从索引里消失。

推送接口没有撤销能力,发出去就得等引擎自己消化,按环境隔离开关是最省事的防线。这类问题最好一次改到位,反复小改反而容易把原因搅混。

作者 9823189