在蜘蛛池和入口页的日常运营里,最容易混淆的一件事就是:被抓取不等于会被收录。日志里看到搜索蜘蛛频繁来访,目标 URL 也返回 200,但索引里始终查不到,这种情况下先别急着继续加入口页,应该先分清抓取和索引是两套流程。
抓取和收录分别发生了什么
抓取是爬虫把页面下载回去,收录是搜索引擎在下载之后做的一系列处理:解析正文、判断重复、评估质量、决定是否放进索引、放进哪个索引。抓取只说明一件事——这个 URL 被发现了,而且服务器愿意把内容交出来,它不是收录的承诺。
所以会出现两种常见现象:入口页加了很多,抓取量上去了,收录却没有变化;或者某个 URL 反复被抓,过一段时间仍然不在索引里。这两种情况的原因通常不在“发现”环节。
抓取正常却不收录的常见原因
- 内容与站内其他页面、或与互联网上已有页面高度重复,搜索引擎认为没有新增价值。
- 页面主体内容太少,HTML 里只有导航、模板、广告位,真正的内容需要交互或登录才能看到。
- 页面本身是跳转页、中间页,没有独立内容,只承担转发的角色。
- HTML 头部或响应头里写了 noindex,或者 X-Robots-Tag 限制了索引。
- canonical 指向了另一个 URL,搜索引擎把索引和信号都归到了那个地址上。
- 状态码不稳定,间歇性返回 5xx、软 404,或者对爬虫返回了与用户不同的内容。
- 站点整体被信任的程度不够,新域名、新目录通常需要更长的观察期。
建议的排查顺序
- 先从抓取日志确认:返回码是不是稳定 200,返回字节数是否和真实页面一致,有没有被 WAF 或 CDN 拦成验证页。
- 查看 HTML 源码里的 meta robots、canonical,以及 HTTP 响应头中的 X-Robots-Tag。
- 关闭 JavaScript 或使用纯文本抓取工具,看主体内容是否存在于初始 HTML 中。
- 把目标 URL 与站内相似页面做对比,检查标题、正文、结构是否几乎一样。
- 换一个 UA 访问同一地址,确认服务端没有对爬虫做差异化返回。
- 确认以上检查都通过后,再观察一段时间,而不是几小时就下结论。
入口页在这件事里能做什么、不能做什么
入口页解决的是发现问题:让搜索蜘蛛知道有这么一批 URL 存在。它不解决收录问题。入口页数量翻倍,通常只是让同一批 URL 被更频繁地下载,并不会提高索引意愿。
如果目标 URL 长期不被收录,继续堆入口页往往是无效劳动,甚至可能因为大量低质量中转页面,让整站的抓取预算被消耗在无价值的地址上。
抓取是通道,收录是评估。用抓取量去判断收录效果,方向一开始就错了。
更实际的做法
- 保证目标 URL 返回稳定的 200,正文在初始 HTML 里就能读到。
- 一个内容只保留一个可访问地址,其余版本用 301 归并,避免自我重复。
- 用 sitemap 提交,并保持 lastmod 的真实性,不要每次全量刷新时间。
- 关注日志里的状态码分布,而不是只数搜索蜘蛛的来访次数。
- 给新页面留出足够的观察周期,再判断是否需要调整策略。
把抓取和收录分开看,排查会清晰很多:抓取异常先查入口页、robots 和服务器;抓取正常但没收录,则要把注意力放回页面内容、重复度和站点本身的信任度上。