站点更新频率一高,运营常会碰到这种情况:栏目页和详情页都上线了,内链也加了,日志里蜘蛛天天来,可新 URL 就是迟迟没有抓取记录。这时候先别急着换工具或加大推送量,更常见的原因是新页面在排队,而排在前面、占用抓取时间的地址里,有相当一部分并不需要再抓。
先分清“没被抓”和“排不上队”
两者的处理方式完全不同。没被抓,可能是蜘蛛根本不知道这个 URL 存在,属于发现环节的问题;排不上队,是蜘蛛知道它,但每次来访能抓的量有限,先抓了别的地址。判断方法很直接:看服务器日志里有没有对这个 URL 的访问记录。有访问、正常返回,说明已经知道也抓过,接下来是索引环节的事;完全没有记录,才回到发现环节去查内链和 sitemap。
抓取配额不是固定数字
搜索引擎不会公布某站点每天能抓多少,但日志里呈现的规律往往很稳定:一段时间内,蜘蛛在一个站上的总请求数大致在一个量级。请求越集中在低价值地址上,新页面能分到的时间就越少。所以这本质上是分配问题,不是“催一催就来”。
第一步:用日志统计蜘蛛把时间花在哪
拉最近 7 到 14 天的原始日志,按路径或目录做聚合,重点看三件事:
- 每个目录被访问的请求数占比,和你心里“重要程度”的排序是否一致;
- 正常返回的请求里,有多少落在参数 URL、重复 URL 上;
- 跳转、404、5xx 以及超时的请求各占多少。
这一步不用做得很精细,能看出大头在哪就行。多数站点的结论都类似:真正的内容页没占多少,杂七杂八的地址占了大半。
常见的三类“吃配额”的地址
一、参数与筛选组合出的地址
商品列表、文章列表的排序、筛选、分页参数,很容易生成成百上千个地址,内容高度重复。它们对用户有价值,但对收录价值很低。处理方向是收敛:能合并到主地址的合并,无意义组合用 robots.txt 挡住,把参数固定成少量规范形式,并保证同一内容由一个地址代表。
二、还有链接指向、但已经不需要收录的老页面
改版留下的旧栏目、下架的活动页、被替换的详情页,如果站内还有入口链过去,蜘蛛就会反复访问。要么把内链改到新地址,要么让旧地址明确返回 404 或 410,别用一串跳转继续链着。
三、响应慢和反复报错的地址
同一个地址如果多次返回 5xx 或超时,蜘蛛会降低来访频率,这种影响会外溢到同目录的其他页面。先把稳定性和响应时间修好,再谈抓取量。
第二步:把配额让给真正要推的页面
- 保持重要页面的内链入口稳定,最好从首页或栏目页一两跳可到;
- 减少需要抓的地址总量,这通常比增加推送更有效;
- 新页面集中在同一目录下,便于蜘蛛按目录规律调整来访频率;
- 页面出问题期间,不要用大量跳转和临时参数地址把水搅浑。
第三步:确认新页面确实递得出去
前两步是把不必要的抓取需求减下来,这一步是保证新 URL 能被发现。内链是第一位的,其次是 sitemap,再往后才是各种提交入口和所谓的蜘蛛池类工具。它们的作用是缩短发现时间,属于发现环节的辅助,既不会改变抓取分配,也不决定页面是否被收录。
把提交、推送、蜘蛛池理解成“告诉蜘蛛这里有个地址”就够了。能不能排上抓取、抓完进不进索引,取决于站点整体的抓取需求和页面本身。
观察与验证
调整之后按周看日志:新 URL 的首次抓取时间有没有提前,无意义参数地址的请求数有没有下降,5xx 比例有没有降低。不要只看一两天,来访频率的调整通常需要一到几周才会体现。如果地址总量降下来了、新页面仍然没有抓取记录,再回头检查内链和外链入口是否真的存在、是否被 robots.txt 或权限问题挡住。
抓取是有限的,收录是抓取之后的事。先把配额从不需要的地址上收回来,再谈怎么让新页面被更快看到,顺序上会顺很多。