页面被收录这件事,最容易被误判的地方是:把“我能在搜索结果里看到”当成唯一标准。实际上,搜索引擎并没有提供一个对所有站点开放的、实时的索引查询接口。你能用的几种手段各有误差范围,交叉核对才有参考价值。
先明确:你要确认的是哪个状态
在动手核对之前,先把问题拆成三个不同的问题:
- 被抓取:爬虫来过,服务器日志里有访问记录。
- 被索引:URL 进入了索引库,具备被检索的资格。
- 能展现:在某个具体查询下出现了结果。
三者不是必然递进的关系。抓取失败当然不会收录;抓取成功也可能因为质量、重复、规范等原因没有进入索引;已经进了索引,也可能因为查询词、地域、个性化而不出现在你眼前。
方式一:site 指令与精确查询
它能回答什么
site 指令适合做数量级和目录级的判断。比如想知道某个目录下大致有多少 URL 进入了索引,用 site 加上目录路径去查,通常比逐个查单页更高效。
误差在哪
- 结果是估算值,会随查询时间、数据中心不同而波动,前后差几十条并不代表内容被删。
- 结果可能被合并或补充处理,不一定会把全部 URL 都列出来。
- 把完整 URL 加引号查询,只能说明这个地址出现在某条结果里,不能证明它是索引中的代表页。
- 该指令本身也会受站点权重、地域影响,新站或低权重站点的结果往往不全。
所以 site 适合看趋势,不适合用来给单页下结论。
方式二:站点管理后台的 URL 检查工具
这类工具通常能给出更细的状态,例如“已编入索引”“已发现但未编入索引”“已抓取但未编入索引”“被 robots.txt 屏蔽”等。它的价值在于把状态分类,而不是简单回答有或没有。
- 它针对的是当前 URL 及其规范代表页的判断结果,比 site 指令更贴近单页。
- 不同工具、不同站点属性的判定口径不完全一致,同一 URL 在两个后台里状态不同并不罕见。
- 状态是快照,不会实时刷新;刚提交的 URL 显示未收录属于正常情况,不必反复点。
方式三:服务器日志与抓取记录
日志能回答的是“爬虫来没来、来了几次、取走的是什么”。它对判断是否被索引只能做旁证:
抓取记录只能证明爬虫读过这个 URL,不能证明它被保留在索引里。反过来,某段时间日志中没有某个 URL,也不代表它已从索引中移除——爬虫可能只是还没再来。
值得关注的细节包括:返回码是否为 200、是否被重定向链中转、响应体大小是否与页面内容相符、是否有大量参数变体被反复抓取。
把三种方式放在一起看
- 单页在管理后台显示“已编入索引”,site 查询也能找到,基本可以确认。
- 后台显示“已抓取但未编入索引”,site 也查不到,问题更可能在质量或规范,而不是可访问性。
- 后台显示“已发现但未编入索引”,日志里几乎没有该 URL,更像是抓取层面的优先级问题。
- site 查不到但后台显示已收录,优先信后台,site 结果不全很常见。
- 两种方式都显示未收录,但日志中有正常 200 抓取,可以先观察一段时间,不必立刻改结构。
常见误判
- 用带 www 的地址去查一个不带 www 的 URL,于是得出未收录的结论。
- 内容被折叠在标签页或点击展开里,查询关键词匹配不到,误以为没收录。
- 把搜索结果里的站内其他页面当成目标页,只看标题没有核对 URL。
- 把第三方工具的数据当作官方口径,工具之间的差异会放大判断误差。
核对时的小习惯
记录每次核对的时间、用的哪种方式、当时的结论。收录状态本来就是动态的,能对比的往往是同一口径下的变化。如果精力有限,优先放在页面的实际价值和可访问性上,而不是反复刷新一个状态标签。