蜘蛛发现 URL 的过程,更像从几个入口出发,沿着站内链接一点点扩散,而不是一次性把全站地址都读一遍。所以新页面没有被很快抓到,通常不是单一原因,可能是入口太深、内链位置不显眼,也可能是抓取队列里还排着别的任务。
蜘蛛的入口不止首页
很多站点默认蜘蛛从首页开始,但实际情况更复杂。Sitemap、外链、RSS、以及已经收录的旧页面,都可能成为蜘蛛进入站点的入口。不同入口能到达的 URL 范围不一样:Sitemap 适合提交一批地址,内链适合让蜘蛛顺着结构继续走,外链则常常把蜘蛛直接带到某个深层页。
如果只依赖 Sitemap,而站内没有像样的内链路径,蜘蛛即使发现了 URL,也可能缺少再次来访的路径。反过来,内链结构清晰,但 Sitemap 长期不更新,新 URL 的发现速度也会受影响。两者配合,比单独依赖一个更稳。
链接位置影响发现次序
蜘蛛解析 HTML 时,会按一定的顺序遇到链接。正文里的链接、导航里的链接、面包屑、侧栏、页脚,虽然都是链接,但被看到和被继续抓取的概率并不相同。
- 正文链接:上下文相关,通常更容易被蜘蛛当作有价值路径。
- 导航与面包屑:位置固定,能帮助蜘蛛理解层级,但数量有限。
- 侧栏与页脚:全站重复出现,蜘蛛会抓,但新 URL 如果只出现在这里,发现次序往往靠后。
- 列表页与聚合页:能集中暴露 URL,但需要控制总量,避免页面过重。
一个新 URL 如果只放在页脚或某个冷门标签页,蜘蛛可能要等很久才会走到。更稳妥的做法是,让它在正文、相关推荐或面包屑中至少有一个稳定入口。
抓取队列与两类任务
蜘蛛的抓取能力有限,站点越大,越需要排队。队列里通常有两类任务:发现新 URL,以及重访已收录页面。重访旧页面会占用不少资源,特别是内容更新频繁的站点。
新 URL 进入队列后,还要看服务器响应、页面质量、链接来源等信号。如果同一时间上线大量新页面,蜘蛛可能只先抓一部分,剩下的往后排。与其一次放出几千个 URL,不如分批开放,并确保每批都有内链承接。
服务器稳定性也会打断发现
蜘蛛来抓取时,如果频繁遇到超时、5xx 或连接重置,通常会降低对该站点的抓取频率。这不是惩罚,而是资源保护。服务器长期不稳定,新 URL 的发现和旧 URL 的更新都会变慢。
稳定比极致的速度更重要。蜘蛛能顺利拿到页面,才有后续的发现和更新。
可以检查的几个点
- 看服务器日志里,蜘蛛对入口页和列表页的抓取频次是否正常。
- 检查新 URL 是否至少有一个来自正文或导航的内链。
- Sitemap 保持可访问,但不要把它当作唯一的发现渠道。
- 避免短时间内集中上线大量新 URL,给抓取队列留出消化时间。
- 关注服务器错误率和响应时间,先解决稳定性问题。
蜘蛛发现 URL 是次序和概率问题,不是开关。把入口、内链和服务器稳定性处理好,剩下的交给蜘蛛按自己的节奏来。