做站点运营的人常遇到一个困惑:同一批页面,用 site 查询看到的数量、搜索资源平台索引报告里的“已编入索引”数、以及服务器日志中的抓取条数,三者经常差出好几倍。遇到这种差距,先别急着判断“收录出问题了”,多数情况下是统计口径不同造成的错觉。
第一步:先明确你要回答哪个问题
不同的问题对应不同的数据来源,混用就会得出错误结论:
- 页面进了索引没有?看单个 URL 的索引状态,或索引报告里的状态分类。
- 整站收录比例高不高?需要把已编入索引数除以可收录的规范 URL 总数,而不是除以站点全部 URL。
- 抓取是否正常?看日志里的抓取频次与状态码分布,这和收录是两件事。
第二步:三份数据各自在说什么
site 查询:估算值,不是数据库导出
它返回的是估算结果,通常会截断展示,并且随查询地区、语言、设备不同而变化。适合做粗判断,不适合当作收录量的精确统计。
索引覆盖率报告:按状态分类的页面集合
这份报告统计的是搜索引擎自己判定的页面状态,包含“已编入索引”和各类“未编入索引”的原因。它有数据延迟,且只覆盖它认为属于该站点的规范 URL。
服务器日志:抓取行为,不等于收录
日志记录的是“谁在什么时候来抓过哪个地址”,抓取成功只说明页面被访问过,不说明被收录。反过来,一个页面没有被抓取,也未必是异常,可能只是还没轮到。
第三步:统一口径的四个动作
- 固定时间窗口。三份数据取同一周或同一天,避免拿上个月的报告对比这个月的日志。
- 规范化 URL。把协议、主机名大小写、末尾斜杠、默认端口、跟踪参数统一成一种写法后再去重,否则同一页面会被算成多个。
- 明确统计对象。决定这次只看 HTML 正文页,还是把列表页、分页、附件一起算进去。对象不同,分母就不同。
- 固定查询入口。site 查询尽量在同一地区、同一设备条件下进行,减少展示层面的干扰。
第四步:抽样交叉验证
数字对齐之后,从三个来源各抽几十个 URL,逐个确认它在索引报告里的状态、在日志里的抓取记录、以及用精确查询能否找到。抽样比看总数更能说明问题:如果抽到的页面大多状态正常,那总数上的差距多半来自口径而不是故障。
几种常见的“对不上”及解释
- site 数远小于索引报告数:通常是展示层截断或估算误差,不代表页面没被收录。
- 日志抓取很多,索引数不涨:抓取不等于收录;也可能是抓取被参数页、重复地址消耗掉了,值得检查 URL 生成方式。
- 报告里“已编入索引”不少,但几乎搜不到:这些页面可能确实在索引里,只是没有匹配到你的查询词,属于展示与排序层面的事。
- 索引数在一段时间内持续下滑:优先看是不是有大批页面被判为重复或低质,再回头看内容与 URL 结构。
把 site 查询的数字当作收录 KPI,是很多误判的起点。它给的是印象,不是账本。
什么时候才值得动手排查
只有在口径统一、时间窗口一致、抽样验证之后依然存在的差距,才值得当成问题来处理。这时可以把范围收窄到具体的 URL 分组,逐个核对状态码、robots 规则、canonical 指向和内容质量,而不是一上来就改全站。
总结成一句话:先让三份数据说同一种语言,再判断收录好不好。数字对不上是常态,口径对不上才是问题。