判断抓取情况时,很多运营者习惯先盯着后台的收录数字。但收录是结果,而且通常有延迟;服务器日志才是过程,能看到具体某一天、某个爬虫、对哪条 URL 发生了什么。当收录停滞时,日志往往已经提前给出了原因。
为什么日志比收录数字更早给信号
收录数字是被聚合过的统计,看不到单条 URL 的经历;日志则是原始流水,包含时间、URL、状态码、响应时间。两者的差别在于:数字告诉你“有没有”,日志告诉你“为什么没有”。抓取被 5xx 挡掉、被 403 拒绝、被跳到无关页面,这些在收录数字上只表现为“没收录”,在日志里却一目了然。
第一步:把真实爬虫筛出来
日志里的访问者大致分三类,混在一起看容易得出错误结论。
- 真实搜索引擎爬虫:UA 与 IP 段都能对应上,请求有一定节奏,会重复回访。
- 伪装的爬虫:UA 写得像,但 IP 段对不上,请求频率过于均匀,或长期集中在少数页面。
- 其他流量:监控、SEO 工具、聚合抓取、普通用户,都会混进同一份日志。
建议先按 UA 过滤,再对可疑 IP 做反查,把真实爬虫单独提取出来,后面的分析才有意义。
第二步:重点看四个字段
- 时间与频率:看单日抓取总量是否稳定,有没有长时间断档,或某天突然暴增。
- 请求的 URL:是集中在首页和栏目页,还是能进到内容页;新页面有没有被碰到。
- 状态码:200、301、404、403、429、5xx 各占多少,决定了爬虫实际能拿到什么。
- 响应时间与返回体积:响应过慢、页面体积异常,都会影响抓取预算的分配。
状态码该怎么读
- 大量 5xx:服务器不稳定,爬虫会主动降低访问频率,抓取量随之下降。
- 大量 403 / 429:多为风控、限流或防火墙误拦,真实爬虫也会被一起挡住。
- 大量 301 链:跳转层数过多会消耗抓取配额,最好收敛到一跳。
- 大量 404:说明站内仍有指向失效 URL 的入口,需要清理内链。
第三步:识别四种异常信号
- 只抓首页和少数栏目页:通常意味着内链入口不足,或重要页面点击深度太深。
- 反复抓同一批旧 URL,新页面不碰:可能是 sitemap 没更新、内链没有指向新页,或旧页面内容仍在频繁变动。
- 抓取量突然归零:优先检查 robots.txt、防火墙规则、CDN 回源设置是否被改动过。
- 抓取量很大但没有新增 URL:多为参数页、筛选页被大量抓取,占用了本就不多的抓取预算。
第四步:和后台数据交叉验证
日志只是其中一环。把日志里的抓取次数、被抓到的 URL 数量,与后台的抓取统计、索引覆盖、sitemap 状态对照着看,能较快判断问题出在“没抓”还是“抓了没收”。如果日志显示抓取正常、状态码正常,索引却迟迟没变化,那问题多半在页面质量或内容重复,而不在抓取环节。
一次可操作的抽样方法
- 固定一个时间窗口,比如最近 7 天。
- 从日志中筛出主要搜索引擎爬虫的记录。
- 统计每日抓取量、状态码分布以及被访问 URL 的类型分布。
- 挑 20 到 50 条你关心的新 URL,逐条确认是否被抓过。
- 把结论与后台数据对照,只记录差异最大的两三处。
日志分析的价值不在于把每个请求都看完,而在于用一小段样本判断抓取链路是否通畅。抓取正常却收录不动,和抓取本身就被挡住,是两类完全不同的问题,处理方向也相反。