日志里爬虫天天来,访问量看着也不少,可真正想被收录的那批页面就是迟迟没动静。遇到这种情况,先别急着怀疑“蜘蛛不来”或者“站点被降权”,很多时候问题在另一件事上:爬虫来的次数确实不少,但几乎都花在了不值得抓的 URL 上。留给重点页面的那份额度,自然就不够了。
先把抓取预算和收录名额分开看
抓取预算可以粗略理解为:在单位时间里,搜索引擎愿意在你这个站点上花掉的抓取次数与服务器资源。它受站点规模、更新频率、响应速度、历史抓取质量等因素影响,不是固定的数字。而收录名额是另一回事,抓到了不等于会进索引。两者的关系是:抓取是前提,收录是结果,但抓得多不代表收录得多。所以核对的第一步,是把问题定位在第几层。
第一步:把日志按 URL 类型分组,而不是按总量看
只看“今天爬虫来了多少次”意义不大。把一段时间的日志导出,按 URL 特征归成几类,各占多少比例,一眼就能看出问题。
- 列表页与分页:从第一页一路翻到很深的页码;
- 参数与站内搜索:筛选、排序、关键词组合生成的地址;
- 静态资源与附件:图片、脚本、样式、PDF、下载文件;
- 重复变体:同一个内容的不同 URL 形式;
- 真正的详情页与栏目页:你希望被收录的那部分。
如果前面几类加起来占了大头,而最后一类只占很小一块,那么“重点页面等不到抓取”就有了解释。
第二步:找出正在吃掉预算的入口
分页与列表的层层深入
列表页本身有价值,但深到第十几页之后,往往内容重复度高、单页价值低,却和首页一样要消耗一次抓取。检查一下列表的分页是否有终点,是否所有页码都能从某处被连续点进去。
参数组合与站内搜索
筛选参数、排序参数、站内搜索结果的排列组合,是抓取预算最常见的消耗点。这类页面通常对用户有用,对索引却价值有限,容易被大量生成又被反复抓取。
跳转链、超时与错误码
多跳重定向、响应过慢导致的超时、频繁出现的 5xx,都会让爬虫在同一批 URL 上反复重试。这部分开销看不见,但确实占额度。可以在日志里专门统计响应码分布和平均响应时间。
第三步:把预算往重点页引
- 内链入口集中:让重点栏目页和详情页能从首页或主干导航在少数几次点击内到达,减少层层嵌套。
- sitemap 只放重点:把真正希望被发现的 URL 放进去,低价值参数页与深层分页不必一一列出。
- 收敛无价值路径:对确认不需要抓取的参数组合,用 robots.txt 屏蔽;对需要保留给用户但不需要进索引的页面,用 noindex,两者用途不同,不要混用。
- 把跳转压到一跳:站内链接直接指向最终地址,避免链链相接。
- 先把速度提上来:同一时间段内响应越快,能完成的抓取次数通常越多,这是最实在的一步。
第四步:调整后看什么
改动不要一次全上,隔一到两周再拉一次日志,重点看三个变化:重点目录在总抓取中的占比有没有上升、响应码分布是否更干净、平均响应时间是否下降。如果占比在动,说明分配方向对了,接下来才是收录量的观察。
抓取频次高,只能说明爬虫愿意来;要让页面进索引,还得看它值不值得留。别把两件事混成一件来排查。
最后提醒一句:这类调整通常不会立刻见效,搜索引擎需要时间重新评估站点的抓取需求。与其反复改结构,不如先把日志读清楚,一次只动一两个变量,再对比前后数据。