抓取预算是什么
搜索引擎分配给每个站点的抓取资源是有限的,业内通常把它叫作抓取预算(crawl budget)。它大致由两端决定:抓取需求和抓取容量。抓取需求来自站点规模、内容更新频率、外链带来的重要性信号;抓取容量则受服务器响应速度、错误率、站点整体权重等影响。
做蜘蛛池的人经常会遇到一种情况:日志里搜索蜘蛛的访问记录密密麻麻,看上去很热闹,可真正想被处理的目标页始终没有动静。问题往往不在“蜘蛛来不来”,而在“预算花在了哪里”。
蜘蛛来了却抓不到目标页的几个原因
入口页数量膨胀,把配额吃光了
入口页本身也是一种页面,蜘蛛每抓一个入口页,就要占用一份配额。当入口页从几百涨到几万,而其中大部分内容高度相似、价值有限时,抓取容量会被大量低价值 URL 消耗掉,留给目标页的部分自然变少。
URL 形态带来的重复抓取
同一份内容如果存在参数变体、大小写差异、带与不带末尾斜杠、分页与排序参数等多种 URL,蜘蛛会分别当作不同地址去抓。这类重复抓取在蜘蛛池里尤其常见,因为入口页往往是批量生成的,容易带上没必要的查询参数。
响应慢与错误率高
服务器响应时间偏长、5xx 比例偏高、软 404 大量存在,都会让搜索引擎主动收缩抓取容量。触发限速之后,访问频率下降,看上去蜘蛛“变懒了”,实际是站点自己把额度弄丢了。
把预算导向目标页的几种做法
- 控制入口页总量。入口页不是越多越好,优先保留有真实内容差异、能被索引的部分,其余做合并或下线。
- 统一 URL 规范。固定末尾斜杠写法、统一大小写、给跟踪参数做规范化处理,减少同一页面的多个地址。
- 压缩链接深度。让目标页尽量在较少的跳数内可达,入口页上的链接不要层层嵌套。
- 降低响应时间。页面尽量轻量,减少同步请求,静态资源交给缓存处理。
- 用站点地图做补充。把真正重要的目标页放进站点地图,入口页与它各司其职。
用日志判断预算花在哪
日志是唯一能直接看到预算流向的地方。建议按周统计三组数据:蜘蛛对入口页的抓取次数、对目标页的抓取次数、以及返回状态码的分布。如果入口页抓取占比长期高于八成,而目标页几乎为零,说明预算分配出了问题,而不是蜘蛛不认路。
抓取预算更像是一个额度,而不是一个开关。与其反复追问蜘蛛为什么不来,不如先看清楚它来了之后,把时间花在了哪些页面上。
几个常见误区
- 蜘蛛来得勤就说明预算充足。来访次数和有效抓取是两回事,高频访问低价值页面同样是在浪费额度。
- 入口页越多,目标页曝光机会越大。入口页过密反而会稀释单页可获得的抓取机会。
- 新页面一上线就该马上被抓。新 URL 需要被发现、排队、再抓取,这个过程本身就有延迟,属于正常现象。
一点务实的建议
与其不断往池子里加页面,不如先做减法:清理无差异的入口页,把 URL 收敛到规范形态,保证服务器响应稳定。这些动作不承诺任何收录结果,但会让抓取资源更集中地落在你真正在意的页面上。观察两到四周的日志变化,再决定要不要继续调整结构。