蜘蛛来得挺勤,状态码也大多正常,但索引量几周不动,这是运营中很常见的一种情况。先把两件事分开:抓取是蜘蛛把页面取回,收录是搜索引擎判断这个 URL 值不值得放进索引。日志只能证明前者发生过,不能证明后者一定会来。所以看日志的目的不是“证明蜘蛛来过”,而是找出蜘蛛把时间花在哪里、哪些页面临近收录门槛。
第一步:确认日志本身是可用的样本
样本不可靠,后面所有结论都会偏。至少要做三件事:限定时间范围、过滤 UA、剔除自己产生的请求。
- 时间范围:太短会被偶发抓取误导,一般看两周以上再下结论。
- UA 与 IP 双向核对:只看 UA 字符串容易被伪造或被第三方工具污染。
- 去掉监控探针、预渲染服务、CDN 健康检查和自己的测试访问,否则统计失真。
第二步:按状态码分布看蜘蛛的“体力”花在哪
把可信请求按状态码分组,通常一眼就能看出问题集中在哪里。
- 200:正常取回。重点不是数量多少,而是这些 URL 是不是你想收录的那批。
- 301 / 302:留意跳转链长度,以及最终落地的 URL 是不是规范版本。
- 304:说明内容相对上次没有变化,或改动信号没传出去。
- 404 / 410:下架页面还在被反复请求,多半是外链或站内链接没清理。
- 403 / 429 / 5xx:服务器或防护层在拦蜘蛛,抓不到自然谈不上收录。
第三步:按页面类型聚合,看重复抓取
把日志按路径前缀聚合,常能看到某一类 URL 吃掉了多数请求,比如各种筛选参数页、排序页、翻页。这类页面被反复抓取,会挤占真正需要收录的详情页的抓取机会。此时先判断这些页面该不该被大量抓取,再决定是收敛入口、加参数规范,还是保留观察。
第四步:看响应体大小与渲染结果
日志里的响应体大小只能作粗略参考,不能直接当成“内容够不够”。如果详情页返回的 HTML 只有模板骨架、正文靠脚本注入,要单独用渲染工具确认渲染后的正文、内链和标题是否完整。骨架页被反复抓取却始终不进索引,是很典型的信号。
抓取层没问题,再回到收录层核对
日志解释不了收录,接下来要回到页面本身逐项确认:canonical 是否指向自身或正确的规范 URL;是否存在 noindex 或 X-Robots-Tag;与站内其他页面是否高度相似;是否有清晰的主体内容;是否能从内链或列表入口走到。这几项里任何一项出问题,都可能让页面停在“已抓取,未编入”的状态。
一份可以直接照着做的核对顺序
- 取最近 14 至 28 天日志,过滤到搜索引擎 UA,去重成 URL 列表。
- 按状态码分组,先处理 403、429、5xx 这类“抓不到”的问题。
- 按路径前缀聚合,找出被高频抓取但价值偏低的页面类型。
- 挑 10 至 20 个本该收录的详情页,逐个看渲染结果、canonical 与 robots 指令。
- 对照索引状态(已收录 / 已发现未编入 / 已抓取未编入),按状态分别处理。
- 记录改动日期,隔两三周再比对日志与索引量,验证改动是否真的起作用。
日志是诊断工具,不是收录开关。抓取频率提高不等于一定会被收录,任何“多久见效”的说法都只能当作参考区间。
实际排查时,日志和索引状态要对着看:日志说明蜘蛛在做什么,索引状态说明搜索引擎怎么看这些页面。两边对不上的地方,往往就是需要动手改的地方。