在索引覆盖报告里,“已发现,尚未编入索引”和“已抓取,尚未编入索引”经常被当成同一件事,但它们卡住的位置完全不同。前者是 URL 进了待抓取队列,蜘蛛还没上门;后者是蜘蛛已经来过、把内容读走了,只是搜索引擎最终没有把它放进索引。搞混这两者,自查方向会完全跑偏:一个该去修抓取入口和内链,另一个该去看内容本身和页面的规范标记。
三个状态分别意味着什么
- 已发现,尚未编入索引:搜索引擎知道这个 URL 存在,但还没抓。多见于内链稀少的页面、刚提交的站点地图,或站点抓取配额有限的时候。
- 已抓取,尚未编入索引:内容已经拿到,问题出在抓取之后的判断环节,和蜘蛛来没来无关。
- 曾经在索引里,后来消失:页面本身没改,也可能是站点整体质量、规范标记或内容重复度变化引发的重新评估。
抓取之后还会发生什么
抓取只是把 HTML 拉回来,后面的流程大致包括:解析正文、判断页面类型是正文页还是列表页或功能页、与已有内容做去重比对、评估内容深度与时效性,最后决定是否单独入库。
其中任何一步得出“这个 URL 不值得单独占一个索引位置”的结论,页面就会停在“已抓取”状态。也就是说,抓到不等于收录,收录是抓取之后的又一次筛选。
渲染与内容可读性
如果正文依赖 JavaScript 渲染,蜘蛛抓到的可能只是空壳 HTML。此时报告里的“已抓取”是真的,但抓到的内容不足以让页面通过后续判断。检查方法很直接:看抓取时返回的 HTML 源码里有没有正文,而不是只看浏览器里显示成什么样。
重复与规范标记
页面上有 canonical 指向另一个 URL,或者与站内其它页面高度相似,都可能让搜索引擎只保留一份索引。带参数的分页、排序、筛选地址尤其容易出现这种情况,同一批页面中往往只有参数变体停在“已抓取”。
按这个顺序自查
- 确认页面没有被 noindex 标记,也没有被 robots.txt 拦住 JS、CSS、图片等关键资源。
- 看 HTML 源码里是否有可读正文,而不是只有框架和占位符。
- 检查 canonical、hreflang 等规范标记,确认它们指向的确实是你想收录的那个地址。
- 对比站内相似页面,判断这份内容是否真有独立存在的价值。
- 确认服务器返回稳定,没有把蜘蛛的请求导向验证码、地区封锁或登录页。
- 翻一段时间内的抓取日志,看蜘蛛是否反复抓取却不收录,这通常指向内容评估而非技术故障。
几个容易误判的地方
- 报告有滞后,改完立刻查看往往看不到变化。
- 数字是按抽样估算的,小幅波动不代表整体收录情况变了。
- 用 site: 查询来判断收录并不可靠,结果只是近似。
- 同一批页面里只有少数停在“已抓取”,多半是个体差异,不必全站推倒重来。
抓取是搜索引擎愿意花成本来读,收录是它认为这份内容值得放进结果。前者靠入口和可达性,后者靠内容本身。把两件事分开看,自查才不会白费力气。