抓取日志只说明“来过”,不说明“收录了”
很多站点排查收录问题时,第一步就是打开服务器日志,看到搜索引擎的 UA 频繁出现,就默认“蜘蛛来过了,收录应该没问题”。但日志记录的是请求,索引记录的是结果,两者之间还隔着内容质量判断、重复归并、渲染执行等环节。抓取量上涨而收录量不动,这种情况并不罕见。
所以读日志的正确姿势,不是数总量,而是先给抓取分类,再看每一类的变化意味着什么。
把抓取拆成三类,再看占比
有效抓取:指向还没被抓过的 URL,或内容确实更新过的 URL
这类抓取才和收录增长直接相关。判断方法不复杂:把日志里的 URL 和已知 URL 库对比,属于首次出现的,或者上次抓取后页面主体确实变动过的,才算有效。
重复抓取:同一个 URL 被反复请求,页面却没什么变化
常见来源包括参数 URL、排序与筛选组合、分页翻页、站内搜索结果页。这类抓取会占用抓取额度,却不带来新的索引条目。如果重复抓取占比很高,优先检查 URL 生成端和链接出口。
渲染抓取:页面加载后由脚本触发的资源与接口请求
日志里经常能看到同一个 IP 在短时间内请求大量 js、css、接口路径,这通常属于渲染过程。它说明页面被抓了,但不等于页面内容被完整提取。如果渲染依赖的接口被 robots 屏蔽,或者首屏内容要等用户交互才出现,渲染抓取再多,提取到的正文也可能不完整。
按目录和模板拆,而不是看整站总量
整站抓取量是个很粗的指标,涨跌可能只由一两个栏目决定。更实用的做法是按目录、模板、页面类型分组统计:
- 哪些目录被抓得多,但索引里几乎没有对应条目;
- 哪些模板的返回码集中在 3xx、404 或 5xx;
- 哪些类型页面的重复抓取次数明显高于其他类型;
- 新发布的页面平均多久被首次抓取,之后多久被重抓一次。
分组之后,问题通常会从“收录不好”收敛到“某个目录的某类页面有问题”,处理起来才有方向。
把日志和索引结果对上,才有判断依据
- 先取一段时间窗口的日志,比如最近 7 天或 30 天,避免用单日数据下结论。
- 把日志 URL 和索引中的 URL 做交集与差集,分出“抓了也收录了”“抓了没收录”“没抓也没收录”三类。
- 对“抓了没收录”的部分,再按页面类型和内容特征抽样看,而不是逐个页面看。
- 记录改动前后的对比:同一批 URL 在调整内链、合并重复页、补充正文之后,被抓取和进入索引的比例有没有变化。
抓取是收录的前提,但不是收录的保证。把日志当成绩单,容易得出错误结论;把日志当线索,才知道下一步该改哪里。
什么时候该盯抓取,什么时候该盯内容
如果新页面长期处于“已发现但未抓取”,或者重要页面几周都没有被抓取记录,问题多半在抓取端:入口太深、内链太少、目录被大量低质 URL 稀释、服务器响应过慢。这时候优化 URL 结构、清理无效地址、改善响应速度,比改正文更有效。
反过来,如果页面被抓取多次却始终不进索引,重点就不在抓取了。需要检查的是正文是否足够、模板占比是否过高、是否与其他页面高度重复、是否有明确的规范 URL 指向。抓取日志在这类问题里只能告诉你“来过几次”,答案要到页面本身去找。
把这两个方向分开,收录排查就不会在同一堆日志里反复打转。