很多人用蜘蛛池推目标 URL 时,会在服务器日志里看到搜索蜘蛛确实来过、目标页也返回了 200,于是开始等收录。结果一周、两周过去,搜索结果里还是没有它。这时候容易得出一个结论:蜘蛛池没用。实际上,抓取和收录是搜索系统里两个独立的环节,入口页负责的是把蜘蛛引过来,剩下的判断在搜索引擎那边完成。
抓取和收录是两件事
抓取只说明爬虫程序请求了这个 URL,并且成功拿到了内容。收录意味着这份内容进入了索引库,可以被搜索结果调用。中间还隔着内容质量判断、重复内容比对、站点整体评价、页面价值计算等步骤。日志里有蜘蛛,只证明了第一步成立,后面的步骤和入口页的关系并不大。
目标页抓了却不收录,常见原因有哪些
内容本身的问题
- 内容与其他页面高度重复,包括同站多个 URL 输出同一套内容、拼接采集的内容;
- 正文太短或几乎只有导航、广告、联系方式,被判为没有可索引的主体内容;
- 页面是列表页、搜索结果页、标签页这类聚合型页面,且没有独特信息;
- 页面主体信息过时,或者长期停留在“建设中”的状态。
技术层面的问题
- 页面返回 200,但 body 里其实是错误提示或空白,蜘蛛拿到的是无效内容;
- robots meta 写了 noindex,或者被响应头里的 X-Robots-Tag 挡住;
- canonical 指向了别的 URL,等于主动把这一页的内容归给另一个地址;
- 整站被算法或人工处理,单页再努力也不会立刻见效。
入口页层面的问题
入口页不直接决定目标页收不收,但它会影响搜索引擎怎么理解这批链接。如果入口页本身是薄弱域名、页面除了链接几乎没有内容、锚文本批量堆同一批关键词,搜索引擎很可能把这些链接整体降权,蜘蛛来过一次之后就不再重视。
蜘蛛池能解决的是“发现”和“来过”,解决不了“这页值不值得收录”。把入口页当成收录开关,期望值一开始就设错了。
可以动手排查的几步
- 在日志里确认请求目标 URL 的 UA、时间和返回码,区分真实搜索蜘蛛与其他爬虫;
- 用搜索引擎自带的 URL 检查工具看抓取详情,能看到抓取时间、渲染结果以及是否被 noindex;
- 检查 canonical 和 hreflang,确认没有把权重指向别处;
- 对比同站已经收录的页面,看内容结构、篇幅、更新频率差在哪里;
- 用 site: 查询看整站收录量是停滞还是整体下滑,区分单页问题和全站问题。
多久没收录需要重新判断
没有统一的时限。抓取后几天收录、几周后收录、一直不收录的情况都出现过。比较稳妥的做法是给自己定一个观察窗口,比如两到四周,期间记录抓取次数和目标页的改动,窗口结束后再决定是继续观察,还是回头改内容。反复提交同一个没有变化的 URL,通常不会改变结果。
入口页该承担什么角色
务实的做法是:把入口页当作一条稳定的发现通路,保证它能被爬、链接清晰、指向的目标 URL 状态正常,然后接受“收录由目标页自己决定”这个前提。目标 URL 本身内容薄弱、结构混乱,入口页再多也只是让蜘蛛多跑几趟空路。
真想让目标 URL 更容易被收录,顺序应该是先修内容和技术问题,再考虑用入口页扩大发现面。反过来做,通常只是把日志里的抓取次数刷得好看一点,搜索结果不会有变化。