这类问题我又碰上了一次。WordPress 装了 IndexNow 插件,后台显示已启用,发布文章后服务器日志里看不到任何推送请求,Bing 那边也毫无反应。
把日志和配置对完,能解释这个现象的基本就这几处。插件只在文章首次发布时触发,更新不会推;服务器出站 443 被防火墙限制,请求发不出去;插件配置里的 key 为空,逻辑直接跳过。
手动触发一次推送看日志
curl -s 'https://api.indexnow.org/indexnow?url=https://www.example.com/a&key=8f3a2b'
随后检查出站请求是否被拦
curl -sI https://api.indexnow.org | head -3
剩下的就是确认插件里 key 与文件一致
wp option get indexnow_key
手上没有现成的复现脚本,就照着线上请求手工拼了一个。
报错是间歇性的,我蹲守了半小时才抓到一次完整现场。
改完先别撤,确认这几项。发布文章后日志里出现一次向 api.indexnow.org 的请求,返回 200 或 202,收录开始有变化。
提醒一点。很多站点限制出站请求,插件看起来在工作,其实请求在防火墙那层就被丢了,日志里一点痕迹都没有。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。