新页面发布后,站长最常问的一句话是:为什么还没被看到。抛开“一定多久收录”这类无法承诺的说法,能客观拆解的只有一件事——从内容上线到蜘蛛首次来访,中间到底经过了哪些环节,每个环节各自消耗了多少时间。把这几个环节分开看,才知道该改哪里。
等待时间大致由四段组成
把“发布到被发现”当作一条链路,可以粗略拆成四段,每段的时间成本来源完全不同:
- 第一段:进入可抓取的入口列表。页面被写进内链、列表页、Sitemap 或站外链接中的任意一处,蜘蛛才有机会知道它存在。
- 第二段:入口页被回访。入口页本身要被重新抓取,新链接才会暴露出来。这段取决于入口页自身的历史回访节奏。
- 第三段:解析并排队。蜘蛛抓到入口页后解析出链接,链接进入待抓队列,等待调度。
- 第四段:实际请求新页面。请求发出后,受服务器响应速度、状态码、重定向等因素影响,是否一次成功。
很多“迟迟不来”的情况,问题出在第一段和第二段,而不是蜘蛛本身。
入口位置直接决定第一段的长度
同样是新链接,放在首页、放在栏目列表页、放在某篇老文章的正文里,暴露速度差别很大。判断依据不是“首页权重高”这类笼统说法,而是入口页自己的回访节奏。一个每天都被抓取的列表页,新链接通常很快进入队列;一个几个月没被访问过的深层页面,即使挂了链接,也可能长期无人经过。
因此,把新页面优先挂到回访最勤的入口上,比同时在十个地方堆链接更实际。
路径越深,第二段的损耗越明显
从首页到目标页需要经过几次跳转,会影响蜘蛛能否顺利走到。可以做一个简单核对:从首页出发,沿正常的导航和列表链接点击,第几次点击能到达目标页。如果超过四五次,或者中间必须经过筛选参数、反复翻页才能到达,实际被发现的概率就会下降。
改善方式是把路径缩短:把目标页挂到更靠前的栏目,或者在同层页面之间增加横向链接。
Sitemap 是补充入口,不是加速开关
Sitemap 的作用是把 URL 集中声明出来,让蜘蛛不必完全依赖爬链接去发现。它适合承载那些路径很深、内链入口稀少、或者更新频繁的页面。但有两点需要注意:
- 声明在 Sitemap 里,只代表“告知”,不代表会被立即抓取;
- Sitemap 中的 URL 如果大量返回错误状态,或与站内实际链接长期不一致,会削弱这份文件的可信度。
把 Sitemap 和内链结构当成两条并行的入口通道,比指望其中一条单独解决所有发现问题的思路更稳妥。
服务器状态会挤压最后一段
即使入口没问题,请求发出后仍可能失败。常见情况包括响应超时、间歇性 5xx、重定向链过长、证书异常导致连接中断。这些不是“蜘蛛不来了”,而是来了没拿到完整内容,需要重试。当失败比例升高时,抓取频次往往会整体下调,等待时间随之被拉长。
核对方式很直接:看服务器访问日志中蜘蛛请求的状态码分布,如果非 200 的比例持续偏高,先解决稳定性,再谈发现速度。
一条可执行的核对顺序
- 确认新页面至少有一个可从首页点击到达的路径,记录点击次数。
- 找出这条路径上回访最频繁的入口页,把新链接放在它附近。
- 检查入口页的 HTML 中链接是否为可解析的 a 标签,而不是脚本执行后才出现。
- 核对 Sitemap 是否包含该 URL,且声明格式无误。
- 查看服务器日志中蜘蛛对该目录的请求状态码与响应耗时。
- 观察一段时间内的回访记录,判断延迟来自入口问题还是调度排队。
能被发现的前提是可到达、可解析、可返回。把这三件事做扎实,等待时间自然会回到它应有的水位。