网站收录

抓取不等于收录:蜘蛛来过之后,页面还要过哪几关

蜘蛛来过不等于页面被收录。抓取只是把内容取回,收录还要经过内容解析、重复判断、规范地址选择和质量评估。本文按顺序拆开这几道关,并给出从日志、抓取结果到索引状态的自查方法,帮助区分“抓到了”和“收进去了”。

网站收录

抓取不等于收录:蜘蛛来过之后,页面还要过哪几关

服务器日志里每天都有 200 的抓取记录,索引查询里却找不到这些地址,这是很常见的一幕。抓取和收录是两件事:抓取只说明蜘蛛把页面取回了一次,收录则是搜索引擎判断这个地址值得放进索引、并在需要时拿出来展示。中间隔着若干道判断,任何一道没过,页面都可能停在“被抓过但没被收录”的状态。

抓取解决的是“拿到”,收录解决的是“要不要留”

抓取这个动作很机械:给一个 URL,取回响应。收录要复杂得多,需要处理内容、判断重复、评估质量、决定代表地址,最后才写进索引。所以日志里的抓取次数只能说明蜘蛛愿意来,不能说明页面会被收。把这两件事混在一起,排查时就容易在错误的方向上反复。

从抓取到收录,页面要过这几关

  1. 能不能抓:robots.txt 是否放行,服务器是否稳定返回 200,有没有 403、429、503 之类的阻挡,抓取是否在限流中被放弃。
  2. 抓到的是不是正文:返回的 HTML 里有没有标题和主体内容。内容靠 JavaScript 渲染、而蜘蛛没有执行或执行失败时,拿到的可能只是一个空壳。
  3. 允不允许索引:页面是否带 noindex,canonical 是否指向了别的地址,meta 标签与响应头是否互相打架。
  4. 是不是重复内容:同一内容存在多个地址(参数、大小写、分页、打印页)时,搜索引擎通常只保留一个代表地址,其余可能不收录。
  5. 值不值得留:正文很少、主要是模板与广告、内容由别的页面拼接而来的页面,即使被抓也可能不进索引。

判断卡在哪一步,先看三个地方

  • 服务器日志:看返回码与抓取次数。只有返回 200 才有内容可判断;长期 5xx 或 429,说明还没进到内容评估阶段。
  • 抓取结果:用站长工具或 URL 检查类功能,看蜘蛛实际拿到的 HTML 与页面声明的规范地址,而不是看浏览器里渲染之后的画面。
  • 索引状态:索引查询只能当参考,数量本身有误差;关键是看具体的目标地址在不在,以及搜索结果里出现的是哪个地址。

几个容易误判的结论

  • 日志里出现抓取记录,就以为页面已经收录。
  • sitemap 里提交了地址,就以为一定会被收录,其实 sitemap 只提供发现入口。
  • 抓取频繁就等于收录好,抓取频率高也可能只是蜘蛛在反复确认一个不会被收录的地址。
抓取是入口,收录是结果,中间还要经过内容、重复与质量的判断。

一份最小自查顺序

  1. 确认目标地址返回 200,且没有跳转到别的地址。
  2. 查看返回的 HTML 源码,确认标题与正文都在里面,而不是靠前端补上。
  3. 检查 noindex、canonical、robots meta 与响应头是否一致。
  4. 确认这个地址有独立价值,不是筛选、排序或同一内容的另一种写法。
  5. 确认它有入口:内链、sitemap 或外链至少有一处。
  6. 记录时间,隔一段时间再查一次,不要用一次查询下结论。

把顺序理清,排查会快很多

分开看抓取和收录之后,排查就有了一条固定路线:先确认蜘蛛能拿到正确内容,再确认页面本身的规范与质量,最后才是等索引更新。多数“抓取了却不收录”的问题,答案都能在前两步里找到,而不需要反复猜测搜索引擎的偏好。