做站点运营的人常碰到这种情况:URL 已经通过接口提交,后台也显示成功,但服务器日志里迟迟看不到搜索蜘蛛的请求。这里要先建立一个基本认知——提交成功只代表地址被接收,进入了待抓取队列,并不等于马上抓取,更不等于收录。队列什么时候轮到这条 URL,取决于它的优先级、站点整体抓取频次,以及页面本身是否值得抓。
一、先分清三件事:提交、抓取、收录
把这三件事混在一起,判断就无从下手。
- 提交:你把 URL 告诉搜索引擎,接口返回成功。
- 抓取:搜索蜘蛛真正发起请求,日志里能看到对应 UA 和状态码。
- 收录:抓取后经过处理进入索引。抓取是收录的前提,但不是保证。
确认问题出在哪一环,最直接的办法是去服务器日志里按 UA 过滤,看这个 URL 或这个目录最近有没有被抓过。完全没有记录,问题在抓取环节;有记录但收录状态没变化,问题在后续处理环节。
二、抓取迟迟不来的常见原因
- 站点整体抓取频次偏低。新站或者长期抓取量很少的站点,蜘蛛分配过来的抓取资源有限,提交的 URL 排在后面是正常现象。
- 服务器响应慢。连接超时、首字节时间过长,会降低蜘蛛对站点的抓取意愿,甚至直接放弃这次抓取。
- robots.txt 或 UA 判断挡住了。有的站点在 WAF 或 Web 服务器层做了 UA 过滤,把搜索蜘蛛一起拦了,日志里只剩 403。
- 页面状态码异常。404、软 404、5xx、跳转到首页,都会让这条 URL 被标记为低价值或不可抓取。
- 同一批 URL 反复提交。重复提交不会加快速度,反而可能把有限的抓取配额集中消耗在同一批地址上。
三、提交渠道之间应该怎么配合
常见的几条渠道各有适用场景:接口推送适合新发布、时效性强的少量 URL;sitemap 适合成批维护、变化不频繁的地址;内链是最基础的一条,页面之间互相可达,蜘蛛顺着链接自己就能找到。
三者不是叠加越多越好。如果一批 URL 已经通过 sitemap 稳定暴露,又每天用接口重复推一遍,收益通常很小。更实际的做法是:内链保证可达,sitemap 覆盖全量,接口只推送真正新增或更新的那几条。
四、一个从日志开始的排查顺序
- 按 UA 过滤日志,确认目标 URL 或同目录 URL 有没有被抓过,以及抓取频次的变化趋势。
- 检查 robots.txt 是否误屏蔽,以及服务器层有没有对搜索蜘蛛做 UA 限流或拦截。
- 实际请求一次,看响应状态码和耗时,确认没有超时、跳转链过长或软 404。
- 核对提交记录,看是否存在同一批 URL 每日重复推送的情况。
- 从站点首页按正常链接路径点过去,确认目标 URL 不需要登录、不依赖脚本渲染也能到达。
五、几个容易被误解的点
提交成功不等于会抓取;被抓取不等于会收录;收录数量下降也不一定和最近一次提交有关。
还有一个反直觉的经验:抓取量上不去的时候,先减少低价值 URL 的暴露,往往比继续增加提交量更有效。搜索蜘蛛把时间花在大量相似页面上,新页面分到的份额自然就少了。
最后提醒一句,不同搜索引擎的队列策略并不一致,同一批 URL 在不同引擎上的表现可能差很多。排查时最好分开看,不要用一家的情况去推断另一家。