事情本身不复杂,线索都在日志里。图片站地址是 /Photo/2026/Abc.JPG 这种大小写混排,提交后接口返回 202,Bing 后台的提交记录也显示成功,日志里对应路径一条请求都没有。把同一张图改成全小写地址再提交,两小时内就被抓了。
第一反应是「URL 里带未编码的空格和中文 提交体不是合法地址」,验证下来不成立。
原因不止一个,得分开看。IndexNow 按字符串比对 URL 大小写 与服务器实际路径不一致就视为无效。另一种情况是站点在 CDN 上做了小写归一 提交的地址与回源地址不是同一个。
另外,提交的是跳转前的地址 202 只代表接口收到。
手工请求一条被提交的地址
curl -s -o /dev/null -w '%{http_code}\n' 'https://www.example.com/Photo/2026/Abc.JPG'
再往下看这条地址是否发生跳转
curl -sI 'https://www.example.com/Photo/2026/Abc.JPG' | grep -i location
随后改成线上最终地址后重新提交
curl -s -X POST https://api.indexnow.org/indexnow -H 'Content-Type: application/json' -d @final.json
等前面都确认过,再按路径统计日志里的抓取
grep -c 'abc.jpg' access.log
怎么算真的好了,看的是同一批现象。Bing 后台的已提交列表与日志里的抓取路径完全一致,且不再出现 301 记录。
容易忽略的是,IndexNow 只做通知,地址写错不会报错,提交前用 curl 逐个确认返回码最省事。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。
