网站收录

用服务器日志看蜘蛛:抓了什么、漏了什么、下一步查哪里

站点后台的抓取统计往往滞后、粒度粗,服务器日志才是原始记录。它主要用来回答三件事:蜘蛛来没来、抓了哪些地址、抓得顺不顺利。本文整理从日志里读取抓取信息的思路,以及抓取和收录之间该怎么分开判断,避免用一个指标下结论。

网站收录

用服务器日志看蜘蛛:抓了什么、漏了什么、下一步查哪里

日志能回答的问题

站点后台的抓取统计通常有延迟,粒度也粗,只能看到某个目录大概被访问了多少次。服务器日志是原始记录,能看清每一次请求的时间、来源、URL、状态码和响应耗时。对做站运营的人来说,它主要用来回答三件事:蜘蛛来没来、抓了哪些地址、抓的时候顺不顺利。

先确认访问者是不是真蜘蛛

日志里的 User-Agent 可以伪造,只凭 UA 判断容易出错。

  • 核对 IP 归属:主流搜索引擎会公布蜘蛛 IP 段,用官方渠道反查,别只看 UA 字符串。
  • 看行为轨迹:真蜘蛛一般按链接顺序走,命中的多为页面和静态资源;伪造者常集中请求后台、接口或某个特定路径。
  • 看频率分布:真蜘蛛有相对稳定的抓取节奏,不会只盯着一个目录猛刷。

把扫描器误当成蜘蛛,会把抓取量算高,后面所有判断都会跟着跑偏。

抓取量只是入口,重点看分布

总请求数本身意义有限,更值得看的是抓取资源分给了谁。

  • 首页、频道页是否被反复抓取,是否占用了大量请求。
  • 详情页的抓取是否集中在最新发布的一批,老页面长期没有访问记录。
  • 是否大量抓取参数页、筛选页、站内搜索结果页,这类页面数量巨大但价值通常不高。
  • CSS、JS 等静态资源的抓取比例是否异常,蜘蛛需要它们来理解页面,但占比过高会挤压页面抓取。

状态码和响应时间要放在一起看

同一批 URL 反复返回 5xx,或者长时间超时,蜘蛛会主动降低抓取频率。这不是惩罚,是它在规避风险。如果日志里某段时间 200 状态明显减少、超时增多,先查服务器、CDN 和解析,再谈收录的问题。

哪些地址从来没被抓过

日志里完全没有记录的 URL,才是真正意义上的没被发现。

  1. 从站点地图抽一批 URL,和日志逐条比对,找出零访问的地址。
  2. 检查这些页面是否只通过需要交互才能到达的入口暴露,比如点击展开、滚动加载、下拉筛选。
  3. 检查是否有内链指向它们,缺少内链的孤岛页面往往只能靠站点地图,被发现的速度慢很多。
  4. 检查 robots.txt 是否挡住了其中一部分,被屏蔽的地址不会被抓取,但仍有可能出现在搜索结果里,这两件事要分开看。

抓取不等于收录

日志只能证明蜘蛛来过,不能证明页面进了索引,也不能证明它能在搜索里被找到。

抓取之后还要经过内容理解、去重、质量判断等环节。日志里抓取量很大但收录没有变化,说明瓶颈可能不在发现和抓取,而在页面本身:模板重复、正文太薄、和站内其他页面高度相似,都会让页面停在这一步之前。

建议的观察方式

不要只看某一天的日志。按周对比同一目录的抓取量,按页面类型分组统计,才容易看出趋势。遇到波动时,先排除服务器和解析层面的问题,再往内容质量和链接结构上找原因。日志是排查工具,不是结论本身。