先把当时的情况摆出来。测试环境的部署脚本里留着生产的 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
末了在必应里撤回这批无效地址
恢复的判定其实很直接。无效推送归零,必应抓取错误率回落到五以下,被推错的地址两周后从索引里消失。
推送接口没有撤销能力,发出去就得等引擎自己消化,按环境隔离开关是最省事的防线。这类问题最好一次改到位,反复小改反而容易把原因搅混。
