收录量是结果,蜘蛛的抓取行为是过程。结果通常滞后一两周甚至更久,而过程当天就能从日志里看到。与其每天刷收录数字,不如隔几天拉一次日志,看看蜘蛛这几天到底访问了什么、跳过了什么、在哪些地址上反复消耗时间。
日志里先看这几列
日志字段很多,初期不必全看,先盯住能直接说明问题的几列:
- 访问的 URL 路径:能看出蜘蛛是在逛栏目、翻分页,还是被一堆参数地址牵着走。
- 状态码:200、301、302、404、410、5xx 各自的占比。大量 3xx 说明地址变体太多,大量 4xx 说明站内还在引用死链。
- 蜘蛛标识(User-Agent):区分不同搜索引擎,也顺便看看有没有伪装成蜘蛛的采集器。
- 响应时间:单个请求拖到几秒以上,蜘蛛通常会主动降低访问频率。
- 同一 URL 的访问频次:一个更新很少的页面被天天抓,通常说明它占据了不该占的配额。
三种常见的抓取模式
只围着入口页打转
日志里翻来覆去就是首页、几个栏目页和热门文章页,深处的页面几乎没出现过。这多半不是蜘蛛懒,而是站内链接没有给它一条能走进去的路:深页只靠搜索框、筛选器或者 JavaScript 触发的跳转才能到达,链接本身没有出现在 HTML 里。此时该做的是补内链、做几个聚合入口,而不是继续提交 sitemap。
反复回访同一批老页面
一批数月没动过的页面每天都被抓,而新上线的页面迟迟不见影子。老页面权重高、链接多,蜘蛛自然会优先回访。可以观察这些页面是不是真的需要那么高频回访,同时给新页面更强的入口位置,让新地址出现在蜘蛛已经熟悉的那几条路径上。
掉进参数页和无意义地址
筛选、排序、会话 ID、跟踪参数,凡是由用户操作生成的地址,都容易被蜘蛛一路点下去。日志里如果同一个内容以几十种参数形式被反复请求,说明抓取预算正在被稀释。常见的处理方式是用 robots.txt 屏蔽无意义的参数组合,或者让这些地址默认返回 noindex,只保留规范版本可被抓取。
从日志到改动,可以按这个顺序做
- 先统计一周内被抓取的 URL 总量,以及其中 200 状态码的比例。
- 把被抓取最多的前二十个地址列出来,逐个判断:它值得被这么频繁地抓吗?
- 把新上线页面列出来,看它们在被抓取的列表里排在第几梯队。
- 对比 sitemap 里的地址和实际被抓的地址,差额往往就是发现链路的问题所在。
- 改动只做一两类,隔一周再看日志,确认行为有没有变化。
日志给的是线索,不是结论。一次抓取异常可能只是临时波动,只有连续几次观察都指向同一个模式,才值得动手改结构。
日志之外还要对照的两样东西
一是搜索控制台里的抓取统计和索引状态,日志看到的是请求,控制台看到的是搜索引擎自己认定的结果,两者对不上时通常更有价值。二是站内自身的更新记录:哪些页面是这周新写的、哪些是改过标题和正文的。把更新时间和抓取时间叠在一起看,就能大致判断一次改动大概多久能被重新访问。
收录快慢很大程度上取决于蜘蛛愿不愿意把时间花在你真正在意的页面上。日志是少数能直接观察这件事的工具,成本不高,只是需要养成隔段时间翻一翻的习惯。