网站收录

抓取预算被谁吃掉了:从日志看蜘蛛的时间怎么分配

站点的抓取能力是有限的,蜘蛛每次来访的时间常常被参数页、站内搜索页、失效链接和大体积资源消耗掉,重要页面反而抓得少。本文讲怎么从日志判断抓取分配是否合理,以及按什么顺序收敛这些入口,把机会留给真正需要更新的地址。

网站收录

抓取预算被谁吃掉了:从日志看蜘蛛的时间怎么分配

谈收录时,很多人先问「为什么这个页面没被收录」,很少先问「蜘蛛来的时候在做什么」。蜘蛛在你站点上的抓取能力是有限的:单次来访能抓多少 URL、多久来一次,都会受服务器响应速度、站点规模和自身调度影响。如果大量抓取被消耗在没什么价值、甚至不该进索引的地址上,重要页面被发现和重新抓取的机会就会变少。这里说的「抓取预算」不是官方指标,但用它来观察问题很实用。

哪些 URL 最容易吃掉抓取

参数、筛选与排序的组合

列表页上的排序、筛选、价格区间、视图切换,很容易组合出成千上万个 URL。这些地址通常指向同一批内容,蜘蛛一个个抓过去,拿到的有效信息却是重复的。抓得越多,真正需要更新的详情页反而被挤到后面。

站内搜索结果页

带关键词参数的搜索页数量近似无限,而且内容会随查询变化。它们对用户有价值,但作为收录对象意义不大,却往往消耗了不少抓取次数。

已经失效、站内还有入口的地址

改版后残留的旧链接、下线活动的地址,如果页面上还有链接指向,蜘蛛每次顺着走一趟都是消耗。比这更麻烦的是这类页面还返回 200 并展示一段空内容,会被反复重抓。失效地址建议明确返回 404 或 410,让它尽快退出抓取循环。

体积大或响应慢的资源

一次抓取里下载几十 MB 的 PDF,或者某个页面响应要十几秒,都会拖慢整体节奏。蜘蛛在等待期间,本来可以抓的其他页面就被耽误了。

从日志里看抓取分配

判断预算是否被浪费,最直接的办法是看服务器日志,按下面几个维度切一遍:

  • 按响应码统计:返回 200 的抓取里,有多少落在参数页、搜索页和重复内容页上;
  • 按目录统计抓取次数:哪些目录被反复抓,哪些目录几乎没有被抓过;
  • 看时间变化:上新栏目或改版之后,老 URL 是否还占着大头;
  • 看响应时间分布:慢 URL 的比例有多高,是否集中在某几类页面上。

这几项交叉看,通常就能判断是「抓得不够」还是「抓得不对」。如果是前者,问题更多在页面质量和收录策略;如果是后者,先把入口收敛掉更划算。

处理顺序:先改链接,再谈屏蔽

  1. 先用日志确认低价值 URL 确实占用了可观的抓取量,而不是凭感觉下手;
  2. 能从站内链接、sitemap 里拿掉的先拿掉,这比屏蔽更彻底;
  3. 确实不该被抓的地址,可以写进 robots.txt,但要清楚:被屏蔽不等于不会出现在索引里,它只是减少了抓取;
  4. 失效页面明确返回 404 或 410,不要用 200 空页或长时间跳转糊过去;
  5. 保留必要的参数页时,用 canonical 把重复版本指到规范地址,减少蜘蛛在相似内容间的来回。
抓取和收录是两件事。把抓取机会腾给重要页面,只是让它们有更多被重新抓取、重新评估的可能,并不等于一定收录,更不等于有排名。

还有一个常被忽略的变量:入口深度

蜘蛛的时间也花在「找路」上。如果重要页面只能通过多级分页或很深的栏目层级到达,抓取过程中会顺路消耗掉大量中间页面。站内链接尽量扁平、导航和聚合入口保持稳定,能让蜘蛛更快走到真正需要更新的地址。反过来,如果一个页面在站内没有任何入口,只靠 sitemap 提示,它的重抓频率通常也不会高。

把这件事做成定期动作

抓取分配会随站点变化:改版、上新栏目、调整参数规则,都会让分布重新洗牌。与其一次性优化完就不管,不如每隔一段时间回看一次日志分布,重点确认三件事:重要页面的重抓频率有没有下降,低价值 URL 的占比有没有回升,以及新上线的页面有没有在合理时间内被爬到。这三点稳定了,收录的底子通常就比较扎实。