在服务器日志里看到搜索引擎蜘蛛,很多人的第一反应是“这个页面收录了”。但抓取和收录是两个独立的阶段:蜘蛛把页面下载回去,只完成了第一步;能不能进索引,还要看后面的解析、渲染、去重和质量判断。
抓取:把内容拿回去
抓取的目标只有一个——拿到页面的内容。决定能不能被抓的主要是这几件事:
- 是否被发现:入口来自内链、站点地图、外部链接或提交接口。没有入口的 URL,蜘蛛很难主动知道。
- 是否允许抓取:robots.txt、状态码、登录墙、地区限制都会影响。
- 抓取资源是否够用:站点响应慢、错误页多,会让抓取频次被压缩,新页面排队更久。
抓取成功只代表蜘蛛拿到了 HTML,甚至可能只拿到了一个空壳。
收录:把内容处理成可检索的索引项
抓回来的内容要经过解析、渲染、提取正文、判断重复、评估质量,再决定是否写入索引。这一层的判断结果不在服务器日志里,而在索引报告和 URL 检查工具里。
常见的卡点有两类:一类是页面自身的问题,比如正文太薄、与站内其他页面高度重复、主要内容依赖脚本渲染而渲染失败;另一类是站点整体的问题,比如同一套模板批量生成大量近似页面,触发了对低价值内容的整体过滤。
判断口诀:日志里有没有蜘蛛,看的是抓取;索引报告里有没有这个 URL,看的是收录。两者不能互相替代。
几个容易混淆的现象
抓取次数很多,仍然没收录
抓取频次反映的是蜘蛛对站点的兴趣和抓取预算的分配,和页面是否值得入库没有必然关系。反复抓取同一个 URL,有时恰恰说明它还在被重新评估,而不是已经通过。
“已抓取,尚未编入索引”
这是最直接的信号:内容已经拿到,但没有通过后面的环节。这时优先检查正文是否完整可读、是否存在更合适的规范版本、页面和站内其他页面是否构成实质重复。
site 指令查不到
site 的结果并不精确,只能作为粗略参考,不能当作收录与否的证据。判断单个 URL 的状态,用官方的 URL 检查工具更可靠。
按顺序排查
- 确认这个 URL 有真实入口:至少在站点地图或站内导航里能点到。
- 确认返回 200,页面本身没有 noindex,robots.txt 没有误拦截。
- 确认禁用脚本后仍能看到主体内容。
- 确认 canonical 指向自己,参数、大小写等变体没有互相打架。
- 确认页面与站内同类页面不是同一套模板的简单复制,有独立信息。
- 前面都正常,再提交并观察,给索引更新留出时间。
把抓取和收录分开看,排查会清晰很多:日志回答“蜘蛛来没来”,索引报告回答“内容进没进”。前者是过程指标,后者才是结果。持续维护清晰的入口结构和扎实的内容质量,比盯着一时的抓取频次更有意义。