抓取预算不是玄学,而是一笔有限的额度
蜘蛛在一段时间内愿意为某个站点发起多少次请求,大致是有上限的。这个上限由几件事决定:服务器响应是否稳定、页面返回是否干脆、站点里有多少可抓的 URL、以及这些 URL 的历史表现。可以把它想成一张额度卡——花在低价值页面上的每一次请求,都是从核心内容那里挪走的。
所以讨论抓取预算,重点不是去猜具体数字,而是让每一次抓取都落在值得抓的 URL 上。
哪些 URL 正在悄悄消耗额度
- 筛选、排序、会话参数生成的无限组合,同一批商品被拼出成百上千个 URL。
- 分页翻得极深的列表页,越往后内容重复度越高,蜘蛛仍要一页页走。
- 软 404:状态码是 200,内容却是“暂无数据”“已下架”。
- 重定向链:A 跳 B,B 跳 C,每一跳都是一次额外的请求。
- 空标签页、空分类页、只由站内搜索产生的 URL。
这些页面单看都不致命,叠在一起就会把额度吃得干干净净,让新发布的内容迟迟等不到抓取。
把额度集中给三类页面
核心内容页
详情页、文章页、商品页——真正承载价值、能被搜索需求命中的页面。它们应该离首页更近,内链指向更明确。
入口与列表页
列表页是蜘蛛在站内移动的通道。通道要通,但不需要无限深;保留有内容的分页,砍掉空分页和参数组合页。
更新频繁的页面
抓取频率最好和更新频率大致匹配。每天更新的栏目,不该和半年不动一字的页面享受同样的回访节奏。
内链与 Sitemap 各管一段
内链解决的是“优先级”和“路径”:蜘蛛沿着链接走,链接的位置、层级、数量都会影响它先抓谁。Sitemap 解决的是“补全”:把散落在深处的 URL 集中交出去,但它更像清单,不等于优先级投票。
- 重要页面放在首页或一级栏目入口,别只靠 Sitemap 兜底。
- Sitemap 只放可索引、canonical 明确的 URL,把 404、重定向、参数页排除在外。
- lastmod 写真实修改时间,长期不变就别天天改。
服务器状态是预算的隐形开关
抓取中断往往不是内容问题,而是响应问题。首字节时间过长、5xx 比例偏高、偶尔超时,都会让蜘蛛降低访问频次——它回来得更谨慎,恢复也需要时间。
- 关注 TTFB 和错误率的波动,而不只是平均响应时间。
- 确认 robots.txt 与防火墙没有误拦,把蜘蛛 IP 段放行。
- 大流量活动前评估抓取压力,别让蜘蛛和用户抢同一份资源。
用数据确认额度有没有花对地方
- 从日志里抽样一周的抓取记录,按目录或模板统计抓取占比。
- 对比抓取频次与内容更新频率,看是否错配。
- 模拟一次站内爬取,观察从首页到详情页需要几跳、有没有回环。
- 观察核心 URL 的发现与抓取间隔,是否随调整而缩短。
抓取预算没有统一数值,也不该被当成一个可以一键调大的开关。能做的是减少浪费、把路径理顺,剩下的交给时间和持续观察。
调整不必一次做完,先砍掉最明显的浪费源,再逐步优化入口层级与 Sitemap,通常比大改一轮更稳。