抓取预算常被说成一个固定额度,但更准确的理解是:它由站点自身的条件推导出来。可抓 URL 的数量、服务器响应速度、内容更新频率,这三项不同,蜘蛛愿意投入的抓取次数就完全不同。大站不一定预算高,小站也不一定被冷落,关键看抓取效率。
预算大致由三个变量决定
- 可抓 URL 总量。URL 越多,蜘蛛铺开抓一遍需要的次数越多,单个页面能分到的次数就越少。
- 抓取容量。服务器响应稳定、延迟低,蜘蛛可以在同样时间里请求更多 URL;响应慢或经常超时,抓取速度会自动降下来。
- 更新频率。内容更新频繁的站点,重抓意愿更高;长期不更新的页面,即使被抓也难以带来收益。
这三者里,站长能主动改善的是中间环节:减少无价值 URL,同时让重要页面更容易被抓到。
预算通常被消耗在哪里
大多数站点的抓取浪费不是“被抓太多”,而是“被抓的东西不对”。常见的消耗点包括:
- 筛选、排序、追踪参数生成的 URL 组合,内容与主列表基本相同;
- 标签页、归档页、日历页层层嵌套,彼此高度重复;
- 软 404 和空壳页,蜘蛛抓到了却没有可用内容,也不会继续深入;
- 翻得极深的列表分页,后面的页面几乎没有被访问的可能;
- 站内搜索结果页,数量可以无限生成。
把抓取次数留给重要页面
内链决定发现顺序
蜘蛛进入站点后主要靠链接扩展。重要页面距离首页的点击次数越少,被抓到的机会越大。把核心栏目放进导航和正文内链,比埋在页脚或只写在 Sitemap 里更有效。
Sitemap 只放需要抓的 URL
Sitemap 不是全站备份。把参数页、重复列表、已下线的地址塞进去,只会让蜘蛛把时间花在不该抓的地方。保持文件与实际有效页面对应即可。
该拦的拦住,该处理的处理干净
不需要被发现和抓取的目录,可以用 robots.txt 挡住;但要注意,被 robots.txt 屏蔽的 URL 不会再被下载,也就读不到 noindex 指令。如果页面已经收录且希望移除,通常需要先允许抓取,再通过 noindex 或状态码来处理,顺序不要弄反。
服务器表现会直接影响抓取节奏
抓取量并不只跟 URL 数量有关。当平均响应时间明显上升,蜘蛛会降低并发、放慢节奏;如果持续出现 5xx 或连接超时,抓取量可能进一步收缩。也就是说,页面数量没变,但因为服务器变慢,实际能抓完的 URL 反而更少。这一点在排查“抓取量莫名下降”时经常被忽略。
怎么判断预算用在了对的地方
- 看日志里被抓次数最多的 URL 类型,是详情页还是参数页;
- 看状态码分布,5xx、超时、404 的占比是否偏高;
- 看重要页面的抓取间隔是否长期没有变化;
- 看新发布的 URL 多久第一次被抓到,判断发现路径是否通畅。
抓取预算优化的目标不是让蜘蛛抓得更多,而是让抓取的内容更接近你希望被收录的那部分页面。
几个常见误区
- 提交 Sitemap 就等于提升预算——Sitemap 主要影响发现,不直接改变抓取容量;
- 给页面加 noindex 就能省预算——noindex 页面仍然需要被下载才能读到该指令;
- 抓取量下降一定是被降权——更常见的原因是响应变慢、URL 数量激增或内容长期未更新。
把这几件事分开看,通常比盯着“抓取总量”这一个数字更容易找到问题所在。