很多人把“蜘蛛来过”和“页面被收录”当成同一件事。日志里出现抓取记录,就觉得这条 URL 已经进了索引;过一段时间搜不到,又反过来怀疑是被降权。其实抓取和收录是搜索流程里两个独立环节,中间还隔着若干道处理,任何一道没过,页面都不会出现在索引里。
抓取只是把内容取回来
抓取解决的是“能不能拿到这份文件”。蜘蛛按 URL 发起请求,服务器返回 200 和 HTML,这一步就算完成。它只说明地址可访问、服务器有响应,并不评价内容好坏,也不决定要不要收录。
所以下面这些情况,日志会很好看,但不代表收录:
- 页面返回 200,但正文靠脚本渲染,抓取时拿到的 HTML 里没有主体内容;
- URL 进了待抓取队列,蜘蛛只取了一小段就离开;
- 同一内容有多个地址,蜘蛛每个都抓了一遍。
收录要过的几道关
抓到之后,搜索引擎要做解析、正文抽取、去重和质量判断,再决定是否写入索引。大致有这几道:
- 可索引性:robots.txt 是否放行、页面是否带 noindex、canonical 是否指向别处。
- 内容可读:正文能否在不执行脚本的情况下拿到,还是只剩一个空壳。
- 重复判断:与站内或站外已有页面是否高度相似,谁作为代表版本。
- 质量门槛:内容量是否够、信息是否自足、是不是只靠列表或模板拼接。
这几步里,第一步是硬性开关,后面三步更偏向权衡。所以会出现“能抓但不收录”,也会出现“收录了但排在很后面”。
几个常见误判
日志有记录就等于收录
日志只能证明来过。建议把日志里的 URL 和索引报告、site 查询结果对照着看,两边对不上的那批,才是要重点排查的对象。
返回 200 就等于收录
200 只表示请求成功。空壳页、内容稀薄的页面、被 canonical 指向别处的页面,都可能是 200。
收录了就一定能被搜到
收录是进索引,能不能展现还要看查询词与页面的匹配度。收录正常但搜不到,属于另一个问题,不要混在一起调。
一条可执行的排查顺序
- 先确认抓取是否正常:日志里有没有这条 URL,返回码是什么,抓的是不是同一个版本。
- 再用 URL 检查工具看当前是否在索引里,以及抓取到的 HTML 与用户看到的是否一致。
- 若已抓未收录,检查 noindex、canonical、robots.txt 和正文是否可读。
- 若内容可读也没被屏蔽,就看是否与站内其他页面重复,确定哪条该作为主版本。
- 最后再看内容本身是否够用,是补充、合并,还是调整保留方式。
抓取是入口,收录是判断。把两者分开看,排查时就不容易在服务器响应和抓取频率上反复做无用功。