抓取覆盖停涨时,很多站点的第一反应是补 Sitemap、加内链,把能想到的 URL 都往外递。但蜘蛛每天愿意花在一个站上的抓取次数并不固定,站点规模越大,越容易有一批 URL 长期排不上队。与其平均撒网,不如先想清楚:手里这点抓取额度,优先给谁。
额度为什么会摊薄
抓取额度的关键不是“蜘蛛一共能抓多少条”,而是“在这些 URL 里,它先抓哪些、多久回来一次”。当站点里出现大量价值接近、内容重复或长期不变的页面时,额度就被摊平了,真正需要更新的页面反而要等更久。
常见的摊薄来源包括:
- 筛选参数、排序参数组合出的页面,内容与主列表高度重合;
- 空结果的搜索页、没有实际内容的分类页;
- 多年未更新的存档页、标签页;
- 同一套模板批量生成的页面,正文差异很小;
- 内链把每个页面都指一遍,等于没有重点。
先把 URL 分成三层
排序之前,得先知道手里有哪些牌。可以按页面在站点里承担的角色,粗略分成三层。
入口层
首页、主要栏目页、频道首页。这层是蜘蛛进入站点后最先拿到的一批 URL,也是分发抓取线索的起点。它们需要稳定、可达、更新节奏明确,不要频繁改路径或换模板结构。
枢纽层
承担聚合与分发作用的页面,比如列表页、专题页、标签聚合页。它们本身不一定有多少流量,但决定了蜘蛛能不能顺着往下走。这一层要保证列表有稳定分页、链接可抓,并且别把全部出链都堆在需要交互才能展开的位置。
长尾层
具体内容页、商品页、详情页。数量最多,也最容易堆积“已发现未抓取”。这层不适合靠全站内链铺开,更依赖 Sitemap 和上层枢纽页的稳定指向。
排优先级的三个信号
分层之后,同层内部还可以再排一遍。不用做得太复杂,三个信号就够用:
- 更新频率:近 30 天有实质更新的页面,优先于长期不变的页面。注意是“实质更新”,改个时间戳不算。
- 真实访问:有自然搜索点击、有站内跳转的页面,说明它对用户有价值,值得让蜘蛛更快回来。
- 内链入度:被多个枢纽页引用的页面,通常比只有一条链接指向的页面更重要。入度太低的长尾页,可以考虑收进 Sitemap,而不是硬塞进导航。
内链和 Sitemap 要指向同一批 URL
常见的问题是两套线索各说各话:Sitemap 里列了几万条,内链只指了几百条;或者内链把旧页面指得很勤,Sitemap 却早就换了一批。蜘蛛面对冲突的信号,通常会选更保守的那条路径,结果两边都没走透。
比较稳的做法是:把优先级最高的那批 URL,同时放进内链和 Sitemap,并且让内链的位置尽量靠前、锚文本尽量准确。优先级低的页面可以只出现在 Sitemap 里,不必占用内链位置。
线索一致比线索多更重要。同一个 URL 被两条路径反复确认,蜘蛛回来的节奏才会稳定,而不是靠一次性的集中提交。
服务器稳定性决定额度能不能用满
即使优先级排得再好,如果服务器响应慢、偶发超时,蜘蛛的抓取节奏也会被打乱:一部分额度会消耗在重试和失败请求上,剩下的才轮到正常页面。反过来,稳定的响应能让蜘蛛在同样的时间窗口里多抓几条,等于变相扩大了可用额度。
值得关注的不是峰值性能,而是持续可用的表现:平均响应时间、错误率,以及爬虫访问高峰时段是否被其他流量挤掉。如果同一台服务器上还跑着多个站点,这种挤压会更明显。
每隔一段时间复核一次
优先级不是一次性设定。新栏目上线、旧频道下线、活动页过期,都会让原来的排序失效。建议按季度或按大版本更新,重新过一遍三层结构:入口页是否还通、枢纽页的列表是否还能翻、长尾页里有没有大批已经无价值的 URL 需要收回线索。
额度有限,但方向可以选。把有限的抓取次数留给真正需要被看到的那批页面,比盲目扩大 URL 数量更实际。