搜索抓取

抓取预算有限时,蜘蛛的每次访问该落在哪里

站点页面很多,蜘蛛每天却只来有限次数,抓取预算就这样被摊薄。本文从 URL 消耗、内链与 Sitemap 的发现效率、服务器响应与错误率几个角度,说明怎么减少浪费,并给出用日志核对抓取去向的步骤,让有限的抓取更多落在有检索价值的页面上。

搜索抓取

抓取预算有限时,蜘蛛的每次访问该落在哪里

很多运营同学会问:站点几千个页面,蜘蛛每天只来几百次,为什么抓的不是我最想要的那批?这就是通常说的抓取预算问题。它不是搜索引擎公开的参数,而是对“单位时间内蜘蛛愿意在你站上花多少请求”的经验描述。预算大小、分配顺序都会变,能做的只是别把预算浪费掉,并让有价值的 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,蜘蛛能走完的数量差距很大。想稳住抓取节奏,先看这几件事:

  1. 响应时间:动态页的 TTFB 尽量控制住,给蜘蛛的缓存或静态化方案要保持一致;
  2. 错误率:5xx 比例升高时蜘蛛会主动降速,恢复需要时间;
  3. 限速:429 本身不是坏事,但要配合合理的抓取速率,而不是把蜘蛛长期挡在门外;
  4. 可用性:别在蜘蛛活跃时段做长时间维护,或至少保留一个可用的静态版本。

用日志验证预算花在哪了

不看日志,抓取预算就只能靠猜。比较实用的核查顺序是:

  1. 按蜘蛛来源统计每日请求数,看总量是涨是跌;
  2. 按状态码分组,确认 2xx、3xx、4xx、5xx 的占比变化;
  3. 把 URL 归类,比如详情页、列表页、参数页、搜索页,看各类占比是否合理;
  4. 对比 Sitemap 中的 URL 与实际被抓 URL 的交集,判断发现渠道是否有效;
  5. 找出被反复抓取但内容不变的页面,这些通常是最该收口的对象。
抓取预算不是可以“开通”的权限,能做的只是减少浪费、提高可发现性、让服务器别拖后腿。任何声称能保证抓取量或收录结果的说法,都不必当真。

调整之后不要期待立刻见效,蜘蛛的行为变化通常有一到几周的观察期。建议把上面几步固定成月度检查:先看服务器指标,再看 URL 质量,最后看内链和 Sitemap 的一致性。三者稳定之后,抓取自然会更多流向真正有检索价值的那批页面。