入口页铺好之后,很多人只盯着第三方工具里的抓取统计,却忽略了自家服务器上的访问日志。判断一个入口页有没有被真正抓取、蜘蛛拿到的是什么、抓取有没有被浪费,日志是最直接的证据来源。它不依赖外部采样,也不用等到收录变化才有反馈。
先分清日志里哪些请求是蜘蛛
访问日志里混杂着真实用户、扫描器、监控探针和各类爬虫。只凭 UA 字符串判断并不稳妥,因为 UA 可以伪造。比较可靠的做法是把 UA、来访 IP 段和反向 DNS 交叉核对,几项基本吻合再计入统计。这一层过滤没做好,后面算出来的所有比例都是错的。
值得逐条看的几个字段
- 请求时间:看抓取是否集中在某个时段,两次抓取之间的间隔是否稳定。
- 请求 URL:确认被抓的是入口页本身,还是附带的静态资源、参数变体。
- 状态码:200 不一定代表有效,4xx 和 5xx 会让抓取次数白白消耗。
- 响应体字节数:几百字节的 200 通常意味着空壳页或错误页。
- 响应时间:持续偏慢,会影响蜘蛛后续是否愿意继续爬。
几个容易看漏的判断点
200 不等于抓取成功
页面返回 200,但正文为空、内容全是模板、标题高度重复,蜘蛛拿到的信息量同样很低。把状态码和响应体大小、页面标题放在一起看,才接近真实情况。
静态资源请求会稀释比例
一次页面抓取往往会带上图片、CSS、JS 的请求。统计时如果把这些都算成“抓取量”,数字会明显虚高。评估抓取预算时,通常只统计 HTML 类请求。
抓取频次突然归零或暴涨都要查
归零可能是入口页被屏蔽、证书异常、服务器大面积 5xx,或者被 WAF 拦下;暴涨则要留意是否出现了蜘蛛陷阱,比如无限分页、参数组合被反复遍历。
三种常见的错误结论
- 只看 UA 计数就下结论,把伪造 UA 的扫描流量算成了蜘蛛。
- 把 CDN 边缘节点日志和源站日志混在一起看,导致重复计数。
- 只看抓取总量,不看单页分布,掩盖了部分入口页完全没被抓的事实。
日志保留与分析节奏
- 至少覆盖一个完整的抓取周期,一般建议保留 30 天以上。
- 按天切割,方便对照某一天的具体改动,比如换了链接或改了 robots。
- 每周做一次汇总:被抓入口页数量、平均响应时间、异常状态码占比。
- 改动上线后,用前后两段日志做对比,而不是凭感觉判断有没有效果。
日志不能直接说明收录结果,但能说明蜘蛛有没有来过、来的时候拿到了什么。把这一步做扎实,后面的调整才有依据。