事情本身不复杂,线索都在日志里。图片站地址是 /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 逐个确认返回码最省事。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。

作者 9823189