先想清楚:日志能回答什么问题
入口页有没有被抓、蜘蛛什么时候来的、来了几次、请求返回了什么状态码、有没有顺着入口页去请求后面的目标 URL——这些问题,服务器日志基本都能回答。但“目标页有没有被收录”“排名有没有变化”这类问题,日志回答不了。
先把边界划清楚,再看数据,能省掉很多误判。
第一步:在日志里把搜索蜘蛛认出来
看 User-Agent
常见蜘蛛的 UA 里会带 Googlebot、bingbot、Baiduspider 这类字样,直接按关键字过滤就能得到一批候选请求。但 UA 是可以随意伪造的,只看 UA,很容易把采集脚本、监控探测、第三方检测服务当成蜘蛛。
用 IP 和反向解析交叉验证
主流搜索引擎一般会公布自己的 IP 段,反向 DNS 解析通常也能解析回官方域名。比较稳的做法是:先按 UA 筛出候选,再把 IP 和官方 IP 段、反解结果对一遍,两边都对得上的才当成真蜘蛛;对不上的,基本可以按伪装爬虫处理。
要注意,不是所有搜索引擎都提供完整的反解信息,小引擎的数据可能对不齐。判不准的那部分先单独放一栏,别急着当成假的清掉。
日志里值得关注的几个点
- 入口页被请求的次数和频率:一天里是偶尔来一次,还是按比较固定的间隔回访。
- 入口页请求返回的状态码:200、304、301、403、404 各占多少。
- 同一个蜘蛛 IP 有没有请求过入口页里列出的目标 URL,这是判断链接是否被跟进的直接线索。
- 首次出现的时间:新加的链接大致隔多久被请求第一次。
- 抓取分布:是集中在少数几个入口页,还是比较均匀地铺开。
- 5xx 和超时的比例:服务端如果经常出错,抓取节奏会被拖慢。
容易读错的地方
- 日志里有记录,不等于页面已经进索引,抓取和收录是两件事。
- 入口页前面挂了 CDN 时,源站日志可能只看到回源请求,命中缓存的抓取压根不会出现在源站日志里,这种情况要去看 CDN 侧的日志。
- 日志做了采样,或者只保留了几天,样本不全,算出来的比例很容易偏。
- 一次 200 不代表蜘蛛下次还来,一次 304 也不代表它没看到内容。
- 一些工具站和 SEO 检测服务也会大量抓取,混在日志里很像蜘蛛,需要单独区分。
一个够用的分析流程
- 导出近 7 到 30 天的访问日志,字段至少保留时间、IP、UA、请求 URL、状态码、响应大小、referer。
- 按 UA 做粗筛,得到“疑似蜘蛛”的集合。
- 用 IP 段和反向解析把伪装的部分剔掉。
- 按天统计入口页请求量、目标 URL 请求量、状态码分布。
- 把新加的链接按上线时间排开,看蜘蛛第一次请求它们的时间差。
- 固定周期看趋势,比盯着某一天的数字更有参考价值。
日志之外还要配合什么
日志记录的是“来过”,站长后台的数据记录的是“处理结果”。两类数据放在一起看,才能区分是蜘蛛没来、来了没抓、抓了没收录,还是收录了没有表现。入口页链接的增删、robots 的调整、服务器故障这些动作,最好也在日志旁边记一笔时间点,方便回头对照。
提醒:日志分析只能说明抓取行为,不能保证收录或排名。把它当排查工具用,别当效果承诺。