判断采集是否遗漏,核心不是看某个总数字,而是把“应该被采集的URL清单”和“实际被采集、被抓取、被索引的URL清单”做差集,再逐条核对差异原因。只要清单来源可靠、比对口径一致,遗漏就能被定位到具体页面,而不是停留在感觉层面。
没有基准清单,就无法判断遗漏。基准清单要来自站点自身可控的入口,而不是第三方估算。常见来源包括:
把这几类合并去重后,得到一份“候选应采集清单”。如果连这份清单都不完整,后面的比对只会得出错误结论。适用条件是:站点对自身内容有管理权限,能导出已发布页面。若页面由用户生成且无统一后台,则改用站点地图加站内搜索可达链接作为基准,并接受一定误差。
接下来收集“实际被采集”的证据。这里要区分三个层次,它们的口径不同:
site:或URL检查工具查询,能看到该URL进入索引。判断采集遗漏,重点看第一层和第二层的差集。做法是:把基准清单中的每个URL,逐条与日志中的抓取记录比对,再与索引查询结果比对。得到三类结果:
如果只拿第三方估算流量来判断,会把“有采集但无排名”的页面误判成遗漏。第三方估算、搜索引擎报告与站内日志的口径不同,不能互相替代。
发现某批URL没有抓取记录后,不要直接断言是某一原因。同一现象可能有多种解释,需要逐项验证:
robots.txt是否屏蔽了对应目录,以及页面本身是否带有noindex。被屏蔽属于主动排除,不算意外遗漏。验证方法要落到可执行动作:对每个嫌疑URL,手动在浏览器中访问,确认返回状态码;用抓取工具模拟爬虫请求,看是否被拦截;再回查日志中同一路径的请求记录。只有把“可能原因”逐项排除后剩下的,才是已经定位的原因。
完成一轮排查后,用以下信号判断遗漏是否被真正定位:
需要提醒的是,从修复到重新被抓取、再到进入索引,存在时间差,不能以当天结果判定失败。判断采集是否遗漏,本质是维护一份可复核的证据链,而不是追求一次性的确定结论。
下一步:从你的站点导出已发布URL清单,与最近一段时间的服务器日志做一次差集比对,先把无抓取URL单独列出来,再按上面的检查项逐条排除原因。