报错是这么冒出来的。站点接入 IndexNow 之后必应隔天就收,同一批 URL 百度一条都没进,站长把提交日志贴出来问是不是接口写错了,日志里 200 的返回确实是一排。

这类报错背后常见的原因有几处,逐个排除就行。IndexNow 是 Bing 与 Yandex 牵头的协议,百度不在参与方名单里。还有一种是把 IndexNow 当万能推送,百度侧的 sitemap 和 API 推送一项都没做。

不容易想到的是,部分插件只在发布时调用一次,历史存量文章从未被提交过。

动手时先看 IndexNow 的响应码和提交量

curl -s -o /dev/null -w '%{http_code}' -X POST https://api.indexnow.org/indexnow -H 'Content-Type: application/json' -d @payload.json

给百度单独走普通收录接口

curl -H 'Content-Type:text/plain' --data-binary @urls.txt 'http://data.zz.baidu.com/urls?site=https://www.example.com&token=xxxx'

存量文章按月份分片重新推送

grep -c '<loc>' sitemap-post-2026-10.xml

末了在搜索资源平台看抓取频次是否回升

curl -s https://www.example.com/sitemap.xml | head -5

别只看报错消失,验证要多做一步。百度侧一周内新增收录两千多条,抓取频次从一档回到三档,必应那边的收录量没有受影响。

容易忽略的是,同一套发布钩子里挂两个推送,别把 IndexNow 的返回码当成百度收录成功的凭据。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189