很多人把抓取和收录当成同一件事:日志里看到蜘蛛来过,就以为页面已经进入索引。实际上,抓取只是把页面内容取回本地,离“可被搜索到”还隔着若干检查点。了解这条流水线,排查收录问题时就不会只盯着提交入口。
抓取成功只是拿到了原材料
爬虫下载一个 URL 的 HTML 或资源,只说明它完成了访问。这个动作可能只是为了发现新链接,也可能只是例行复查。抓取回来的内容会先进入待处理队列,是否继续走向索引,要由后面的环节决定。
因此,日志里出现 200 状态码,并不等于页面一定被收录。反过来,某个页面没被抓取,也不代表它永远不会出现在索引里,索引系统可能通过其他来源获得了它的信息。
解析与提取:索引条目的零件从哪里来
页面进入处理流程后,系统会解析 HTML,提取标题、主正文、发布时间、作者、语言、链接和结构化数据等。对于依赖 JavaScript 渲染的内容,还可能需要二次渲染或从数据接口获取。
常见提取项
- 标题与描述:用于生成索引条目的展示信息。
- 主内容:判断页面主题和内容厚度的主要依据。
- 链接:继续发现站内其他 URL。
- 规范化信号:canonical、hreflang、重定向目标等。
如果这些信息提取失败或互相矛盾,页面即使被抓取,也可能被判定为“不值得单独保留”。
规范化与去重:多个 URL 可能指向同一内容
同一个页面常常有多个访问地址:带参数、带大小写差异、带尾斜杠、经过跳转链等。索引系统会尝试把它们归并到代表 URL 上,避免同一内容占用多个索引条目。
去重不只看 URL,还会比较正文、标题、模板和链接结构。相似度高的页面可能被聚类,只有其中一个版本被保留,其余版本进入“已排除”或“重复”状态。
质量与价值判断:不是所有页面都值得长期保留
索引资源有限,系统会评估页面是否值得保留一份可检索副本。内容厚度、原创程度、时效性、站点整体质量、用户互动信号等都会影响判断。薄内容页、采集拼凑页、无独立价值的聚合页,容易被过滤或降权。
收录是索引系统对页面“是否值得保留一份可检索副本”的判断结果,而不是对抓取行为的奖励。
索引写入与可检索:收录后的状态也会变化
通过前面检查的页面会被写入索引,进入倒排索引和分片存储,之后才能响应搜索查询。写入不是终点:重新抓取、内容更新、质量下降、站点结构调整,都可能让索引条目被替换或移除。
这也是为什么“曾经收录过”不能作为长期保证。页面在索引里的版本,可能落后于线上最新版本,直到下一次抓取和处理完成。
常见卡点自查
- 抓取正常但未收录:检查内容是否与其他页面高度重复,或页面是否缺少独立价值。
- 收录后搜不到:确认标题和摘要是否被正确提取,查询词是否与页面主题匹配。
- 改版后旧内容仍在:核对重定向链和 canonical 是否一致,旧 URL 是否仍可访问。
- 索引数量波动:区分是新增页面被收录,还是重复页面被清理。
运营侧可以做什么
- 保持 URL 稳定,减少无意义的参数和大小写变体。
- 为重要页面提供清晰的站内入口和内链,帮助发现。
- 用 sitemap 和日志观察抓取与索引状态,但不要把提交当成收录开关。
- 定期清理空列表页、搜索结果页和低价值聚合页。
排查收录问题时,可以按“抓取—解析—去重—质量—索引”的顺序逐段检查。每一段都有独立的通过条件,任何一段卡住,页面都可能停留在“已发现”或“已抓取”状态,而不会进入可搜索索引。