很多运营同学会问:站点几千个页面,蜘蛛每天只来几百次,为什么抓的不是我最想要的那批?这就是通常说的抓取预算问题。它不是搜索引擎公开的参数,而是对“单位时间内蜘蛛愿意在你站上花多少请求”的经验描述。预算大小、分配顺序都会变,能做的只是别把预算浪费掉,并让有价值的 URL 更容易被发现。
预算大致被哪些因素影响
- 站点的整体信任度与历史抓取表现,长期稳定的站点通常拿到更宽松的节奏;
- 服务器响应速度与错误率,慢和 5xx 会明显压缩每次访问能走完的页数;
- URL 总量与更新频率,如果每天新增大量低差异页面,抓取会被摊薄;
- 内容本身是否需要重新抓取,长期不变的页面对蜘蛛的吸引力自然下降。
这几项里,服务器相关的部分最容易在短期内改善,也最容易被忽略。
哪些 URL 在悄悄消耗预算
预算被浪费,往往不是蜘蛛抓错了,而是我们给了太多“看起来是新 URL、其实是同一批内容”的地址。
- 排序、筛选、跟踪参数生成的组合地址,同一个列表页能派生出几十个 URL;
- 分页没有上限,翻到第 50 页仍是空列表;
- 软 404 与空结果页返回 200,蜘蛛会反复来确认;
- 多级重定向链,一次跳转消耗多次请求;
- 站内搜索、打印页、会话 ID 之类的地址被内链带出去。
处理思路是先收口再谈放行:能给 canonical 的给 canonical,能屏蔽的屏蔽,确实没有检索价值的直接返回 404 或 410。
让内链和 Sitemap 承担发现任务
蜘蛛发现 URL 主要靠三条渠道:外部链接、站内链接、Sitemap 提交。预算有限时,最重要的是保证这三条渠道指向同一批规范 URL。
- 核心详情页要在离首页较近的位置有稳定入口,不要只靠 Sitemap 兜底;
- 列表页翻页用可抓取的链接,别用纯 JS 按钮;
- Sitemap 只放规范 URL,不要把参数页、重定向地址、已 noindex 的页面写进去;
- 重要页面之间保持双向可达,避免出现只有 Sitemap 才知道的孤岛页。
服务器表现决定预算能走多远
同一批 URL,服务器响应 200ms 和 2s,蜘蛛能走完的数量差距很大。想稳住抓取节奏,先看这几件事:
- 响应时间:动态页的 TTFB 尽量控制住,给蜘蛛的缓存或静态化方案要保持一致;
- 错误率:5xx 比例升高时蜘蛛会主动降速,恢复需要时间;
- 限速:429 本身不是坏事,但要配合合理的抓取速率,而不是把蜘蛛长期挡在门外;
- 可用性:别在蜘蛛活跃时段做长时间维护,或至少保留一个可用的静态版本。
用日志验证预算花在哪了
不看日志,抓取预算就只能靠猜。比较实用的核查顺序是:
- 按蜘蛛来源统计每日请求数,看总量是涨是跌;
- 按状态码分组,确认 2xx、3xx、4xx、5xx 的占比变化;
- 把 URL 归类,比如详情页、列表页、参数页、搜索页,看各类占比是否合理;
- 对比 Sitemap 中的 URL 与实际被抓 URL 的交集,判断发现渠道是否有效;
- 找出被反复抓取但内容不变的页面,这些通常是最该收口的对象。
抓取预算不是可以“开通”的权限,能做的只是减少浪费、提高可发现性、让服务器别拖后腿。任何声称能保证抓取量或收录结果的说法,都不必当真。
调整之后不要期待立刻见效,蜘蛛的行为变化通常有一到几周的观察期。建议把上面几步固定成月度检查:先看服务器指标,再看 URL 质量,最后看内链和 Sitemap 的一致性。三者稳定之后,抓取自然会更多流向真正有检索价值的那批页面。