后台报表只能告诉你页面被展示、被点击,但很难告诉你蜘蛛来过几次、抓了哪些地址、拿到的是什么状态码。这些信息只在服务器访问日志里。做站点运营,与其凭感觉猜“是不是没被抓”,不如每周花二十分钟看一遍日志。
第一步:先确认来的是谁
日志里的 User-Agent 是可以随便写的,所以不要只看 UA 就下结论。比较稳妥的做法是:
- 把常见蜘蛛的 UA 关键词筛出来,比如 Googlebot、Bingbot、百度蜘蛛等;
- 对可疑 IP 做反向解析,确认域名归属,而不是只看 UA 字符串;
- 记录真实蜘蛛使用的 IP 段做长期对照,避免把伪装抓取当成搜索引擎。
如果某个 IP 顶着搜索引擎的 UA,却在大范围抓取参数页和后台路径,那大概率不是正常抓取,按普通访客或异常流量处理即可。
第二步:看三个基础指标
- 抓取总量趋势:按天统计蜘蛛请求数,是平稳、上升还是骤降。骤降往往和服务器异常、robots 改动、站点结构大改同时发生。
- 状态码分布:200、301、404、5xx 各占多少。正常站点有 404 很正常,但比例长期偏高,说明有大量失效入口还在被引用。
- 抓取集中度:抓取量是集中在少数模板页,还是能覆盖到内容页。如果蜘蛛一直在列表页和标签页打转,内容页很少被碰,说明入口和链接结构有问题。
第三步:找出被浪费的抓取
抓取预算是有限的,常见浪费来源包括:
- 带筛选参数、排序参数的组合链接;
- 站内搜索结果页;
- 已经下线但内链没清理的旧栏目;
- 层级过深的重定向链;
- 同一张图片被多个尺寸地址重复抓取。
发现这些地址后,处理方式通常是:能合并的做规范化,已经没用的返回 410 或 404 并清掉内链,需要保留但不希望被抓的用 robots 或 meta 指令处理。改完后再看日志,验证请求量是否真的下降。
第四步:把响应时间和抓取频次放在一起看
单独看抓取量意义不大,还要看每次请求的耗时。如果平均响应时间从几百毫秒涨到几秒,蜘蛛往往会主动降低抓取频率。这时候抓取量下降不是“被惩罚”,而是服务器太慢导致的自然结果。可以先查慢查询、数据库连接、缓存命中率,再判断是否需要扩容。
一份可以落地的周检查清单
- 本周蜘蛛请求总量与上周对比,波动是否超过三成;
- 5xx 数量是否超过总请求的千分之一;
- 新发布的页面在几天内是否出现抓取记录;
- 是否存在单 IP 高频抓取非公开路径;
- 404 列表里有没有本应正常存在的页面。
日志分析的价值不在于看到数字,而在于把数字变成一个可以执行的小改动。一次只改一件事,下周再回来看趋势,比一次大改然后无从归因要可靠得多。
最后提醒一点:日志轮转要保留足够的天数,至少能覆盖两个完整的抓取周期。如果日志只留三天,很多趋势根本看不出来。