站点运营里,服务器日志是最早、也最不经加工的一份抓取记录。Search Console 的报告有延迟、有抽样,而日志里的每一行请求,都对应一次真实发生的访问。把日志用起来,能回答几个很具体的问题:来的到底是不是搜索蜘蛛、它抓了哪些 URL、抓到的是 200 还是 5xx、这一周比上一周多来还是少来。
第一步:确认是不是真的蜘蛛
UA 字符串谁都能写,日志里出现 Googlebot 并不代表就是 Google。判断顺序一般是:
- 对来源 IP 做反向 DNS 查询,把 IP 反解成域名,看是否落在官方网段;
- 再对照官方公布的 IP 段列表做一次核对;
- 结合行为看:真蜘蛛通常不会只抓一个页面就走,也不会在几秒内密集请求一堆不存在的路径。
如果需要更严格,再做一次正向解析确认,避免有人伪造 PTR 记录。这一步做完了,后面所有统计才有意义。
第二步:把抓取分布拆开看
只看总请求数意义不大,数量涨跌都可能由无关因素造成。建议按几个维度拆:
- 状态码:200、301、404、5xx 各占多少。404 占比高,说明站内存在大量失效链接;5xx 出现,说明蜘蛛来的时候服务器并不稳定。
- URL 类型:文章页、列表页、标签页、带参数的筛选页、站内搜索结果页,各自被抓了多少。如果大量抓取落在无价值的参数页上,抓取预算就被消耗在回报很低的地方。
- 目录分布:哪些栏目被抓得多,哪些栏目长期没有蜘蛛进入。
- 时间分布:抓取是否集中在某个时段,是否和你的业务高峰或备份任务撞在一起。
第三步:抓取频率的变化比绝对值更有信息
一周内蜘蛛访问量翻倍,不一定是好事;腰斩,也不一定就是坏事。
更值得盯的是这几个信号:
- 老页面的回访间隔是不是在变长,可能意味着站点更新节奏放慢,或者响应时间变差;
- 新发布的 URL 从上线到第一次被抓,中间隔了多久;
- 同一个 URL 在短时间内被反复抓取,通常指向内链到处指向同一地址,或多个地址没有做归一化。
第四步:和 Search Console 互相校验
日志说抓了、GSC 说没抓,或者反过来,都是常见现象。原因通常有几个:GSC 数据有延迟、只覆盖一部分;日志里混进了非搜索方的爬虫;带参数的 URL 在报表里被折叠统计。一个实用的分工是:用日志判断“到底来没来”,用 GSC 判断“抓取之后被怎么处理”。
第五步:把检查变成例行动作
不需要每天盯总量,每周固定看几件事就够了:5xx 的数量、404 的增量、新 URL 首次被抓的时长、抓取量排名前 20 的 URL 是不是你希望优先抓的那批。有异常再往下追,没异常就记录基线。
日志不解决所有问题,但它是唯一一份不带解读的原始记录。把它和 Sitemap、内链结构、服务器监控放在一起看,抓取这件事才有一个可以对照的参照物。