常见问题

搜索蜘蛛已经抓取了目标 URL,为什么还是不进索引?

日志里明明看到搜索蜘蛛来过、目标页也返回 200,搜索结果里却始终找不到它,这种落差很常见。本文把抓取与收录拆成两个环节来看,列举入口页层面、目标页内容层面和站内技术层面的常见原因,并给出一套可以照着做的排查顺序,帮助判断问题到底出在哪一步。

常见问题

搜索蜘蛛已经抓取了目标 URL,为什么还是不进索引?

很多人用蜘蛛池推目标 URL 时,会在服务器日志里看到搜索蜘蛛确实来过、目标页也返回了 200,于是开始等收录。结果一周、两周过去,搜索结果里还是没有它。这时候容易得出一个结论:蜘蛛池没用。实际上,抓取和收录是搜索系统里两个独立的环节,入口页负责的是把蜘蛛引过来,剩下的判断在搜索引擎那边完成。

抓取和收录是两件事

抓取只说明爬虫程序请求了这个 URL,并且成功拿到了内容。收录意味着这份内容进入了索引库,可以被搜索结果调用。中间还隔着内容质量判断、重复内容比对、站点整体评价、页面价值计算等步骤。日志里有蜘蛛,只证明了第一步成立,后面的步骤和入口页的关系并不大。

目标页抓了却不收录,常见原因有哪些

内容本身的问题

  • 内容与其他页面高度重复,包括同站多个 URL 输出同一套内容、拼接采集的内容;
  • 正文太短或几乎只有导航、广告、联系方式,被判为没有可索引的主体内容;
  • 页面是列表页、搜索结果页、标签页这类聚合型页面,且没有独特信息;
  • 页面主体信息过时,或者长期停留在“建设中”的状态。

技术层面的问题

  • 页面返回 200,但 body 里其实是错误提示或空白,蜘蛛拿到的是无效内容;
  • robots meta 写了 noindex,或者被响应头里的 X-Robots-Tag 挡住;
  • canonical 指向了别的 URL,等于主动把这一页的内容归给另一个地址;
  • 整站被算法或人工处理,单页再努力也不会立刻见效。

入口页层面的问题

入口页不直接决定目标页收不收,但它会影响搜索引擎怎么理解这批链接。如果入口页本身是薄弱域名、页面除了链接几乎没有内容、锚文本批量堆同一批关键词,搜索引擎很可能把这些链接整体降权,蜘蛛来过一次之后就不再重视。

蜘蛛池能解决的是“发现”和“来过”,解决不了“这页值不值得收录”。把入口页当成收录开关,期望值一开始就设错了。

可以动手排查的几步

  1. 在日志里确认请求目标 URL 的 UA、时间和返回码,区分真实搜索蜘蛛与其他爬虫;
  2. 用搜索引擎自带的 URL 检查工具看抓取详情,能看到抓取时间、渲染结果以及是否被 noindex;
  3. 检查 canonical 和 hreflang,确认没有把权重指向别处;
  4. 对比同站已经收录的页面,看内容结构、篇幅、更新频率差在哪里;
  5. 用 site: 查询看整站收录量是停滞还是整体下滑,区分单页问题和全站问题。

多久没收录需要重新判断

没有统一的时限。抓取后几天收录、几周后收录、一直不收录的情况都出现过。比较稳妥的做法是给自己定一个观察窗口,比如两到四周,期间记录抓取次数和目标页的改动,窗口结束后再决定是继续观察,还是回头改内容。反复提交同一个没有变化的 URL,通常不会改变结果。

入口页该承担什么角色

务实的做法是:把入口页当作一条稳定的发现通路,保证它能被爬、链接清晰、指向的目标 URL 状态正常,然后接受“收录由目标页自己决定”这个前提。目标 URL 本身内容薄弱、结构混乱,入口页再多也只是让蜘蛛多跑几趟空路。

真想让目标 URL 更容易被收录,顺序应该是先修内容和技术问题,再考虑用入口页扩大发现面。反过来做,通常只是把日志里的抓取次数刷得好看一点,搜索结果不会有变化。