浪费抓取预算的四种典型情况是:带参数的地址组合爆炸、筛选与排序页产生大量近似页面、同一内容存在多个可访问地址、以及已经下线的页面仍在被持续抓取。收敛思路一致:能合并的合并,该拦截的拦截,该返回明确状态码的就别再返回正常状态。
核心要点速览抓取预算的浪费大多来自低价值页面的数量,而不是内容总量本身。 · 带参数的地址容易组合出成倍的地址,其中绝大多数没有独立价值。 · 筛选与排序页内容高度近似,容易稀释真正需要被抓取的页面。 · 同一内容存在多个可访问地址时,权重与抓取次数都会被分散。 · 已下线页面若不做处理,爬虫会反复回来确认,持续消耗抓取次数。
站点规模上去之后,很多人会把收录问题归结为「内容不够多」或者「权重不够高」,于是继续加内容。但真正拖住收录的,往往是另一件事:爬虫每次来访的抓取次数,被大量没有价值的页面消耗掉了。
这件事的麻烦在于它不可见。后台看不到「爬虫今天抓了哪些页面」,只能看到结果层面的现象:新文章迟迟不收录,重要页面更新后很久才被重新抓取。
下面列出四种最典型的浪费情况,每一种都说明它是怎么形成的、怎么判断自己是否中招,以及收敛时应该注意什么。
在动手之前建议先建立一个基线:记录一段时间的抓取情况与收录情况,改完之后再对比。没有基线的话,很难判断某项调整到底是有效还是碰巧赶上了正常波动。
一、四种浪费情况对照表
| 情况 | 形成原因 | 判断信号 | 收敛方向 |
|---|---|---|---|
| 参数页 | 同内容因参数不同生成多个地址 | 站内出现大量带参数的地址被抓取 | 规范地址统一,必要时限制参数抓取 |
| 筛选与排序页 | 筛选条件组合产生大量近似列表 | 搜索结果里出现大量内容雷同的列表页 | 可筛选组合收敛,无价值组合不对外暴露 |
| 重复内容 | 同内容可通过多个地址访问 | 同一篇内容对应多个可打开地址 | 统一到一个地址,其余做跳转 |
| 已下线页面 | 页面删除或合并后未处理 | 错误地址仍被反复访问 | 返回明确状态码,不再返回正常页面 |
这四种情况的共同点是「数量」。单看每一类都不算严重,但一个中等规模的站点很容易累积出成千上万个低价值地址,把抓取次数占满。[1]
二、逐种情况的处理方法
知道有哪四类之后,真正需要判断的是「我这站有没有、严重到什么程度」。下面逐类给出更具体的识别方法与处理顺序。
情况一:参数页组合爆炸
站内链接、站外分享、统计工具常会给地址附加各种参数。如果同一篇内容因为参数不同被当成不同地址处理,爬虫就会为同一份内容反复访问,而这些地址单独看又都有内容,不容易被直接判为无效。
处理顺序是先统一规范地址,让带参数的地址指向不带参数的主地址;如果参数确实不产生不同的页面内容,可以在抓取规则里限制这类地址被抓取。需要注意的是,抓取规则限制的只是抓取,不能替代规范地址的作用,两者要一起做。[2]
情况二:筛选与排序页产生大量近似页面
电商与目录类站点天然会产生筛选页:按价格、按属性、按排序方式,条件一组合就是几十上百个地址。这些页面里真正有独立价值的往往只有少数几个,其余内容与主列表高度近似。
判断方法是抽查若干筛选页,看它们的内容是否足以支撑一个独立页面。如果只是把同一批商品换了个顺序,就不值得让爬虫单独抓取。常见的收敛做法是把有价值的筛选组合做成固定入口,其余组合不生成可被抓取的链接。
情况三:同一内容存在多个可访问地址
带不带结尾斜杠、大小写不同、带不带默认首页后缀,这些都可能让同一内容对应多个能打开的地址。对访问者来说没有差别,对爬虫来说却是多份内容。
这类问题的处理比较明确:选定一个主地址,其余地址统一跳转过去。上线前的链接规范要写清楚,改版与迁移时尤其要注意新生成的链接是否与既有规范一致,否则会不断产生新的重复地址。
情况四:已下线页面仍在被反复抓取
商品下架、栏目合并、文章删除之后,如果原地址仍然返回正常页面或长时间跳转,爬虫会持续回来确认。更糟的情况是返回一个内容无关的正常页面,相当于用一份低价值内容换掉了一次抓取机会。
处理原则是让状态明确:确实不再提供的返回相应的错误状态,有替代内容的做一次性跳转。同时检查站内是否还有链接指向这些地址,尤其是导航、面包屑与页脚里长期存在的死链。[3]
补充:站点地图与内链也会影响抓取效率
站点地图列出的地址应当是希望被抓取的那些,如果把大量低价值地址一并提交,等于主动把爬虫引向这些页面。建议只提交主地址,不提交参数地址与临时的筛选组合。
内链同样如此:站点里被链接得越多的页面,被抓取得越频繁。如果页脚或侧栏有大量指向低价值页面的固定链接,实际效果就是把抓取次数分配给了它们。
三、收敛与验证的步骤
- 先统计被抓取的地址类型把近期被抓取的地址按类型归类,看参数地址、筛选地址、重复地址各占多大比例,找出占比最高的一类优先处理。
- 统一主地址与跳转关系为每类内容确定一个主地址,其余地址统一跳转,避免继续产生新的重复地址。
- 限制无价值地址被抓取对确实没有独立价值的参数与筛选组合,用抓取规则限制,并把它们从站点地图中移除。
- 覆盖主要入口并复查确认站点地图与内链指向的都是主地址,然后隔一段时间复查抓取分布是否发生变化。[4]
小结:抓取预算的浪费几乎都以「数量」的形式出现。单看一类页面都不严重,累积起来却足以挤占真正需要被抓取的那部分。
四、什么情况下需要额外手段
上面四类情况处理完,多数站点的抓取分布会有明显改善。但如果站点页面数量本身就在几万甚至几十万的量级,或者内容更新频率很高,仅靠结构收敛可能仍然不够。
这类站点通常需要把「让搜索引擎及时知道哪些地址值得抓取」当成一项常态工作来做,包括主动提交更新、控制提交范围、以及分批推进新内容的曝光节奏。当页面量级已经超出常规抓取速度能覆盖的范围时,把抓取通道问题交给专门的基础设施来处理是常见选择,像 光算GPC爬虫池 这类按抓取通道设计的方案,评估时更该问清楚的是它接入后抓取分布如何变化、哪些页面类型受益,而不是只看能否短期内带来收录数量的变化。
抓取预算不是全部解释
页面不收录的原因不止抓取预算一条。内容质量、页面价值、站点整体信任度都会影响收录结果。如果把所有不收录都归因于抓取,很容易在结构上反复调整却看不到效果。
更稳妥的判断顺序是:先确认页面本身是否值得收录,再确认它是否被抓取过,最后才看抓取频率是否不足。顺序反了会浪费很多时间。
改完之后怎么验证
收敛动作做完之后,建议至少观察一段时间再下结论。抓取分布的调整需要时间,短期内的波动不足以说明问题,反复调整反而会让数据失去参考价值。
验证时重点看两件事:低价值地址被抓取的比例是否下降,以及真正需要收录的页面被抓取与收录的速度是否提升。两者一起改善,才说明调整方向是对的。
把检查固定成常规动作
站点结构会随着功能迭代不断变化,今天收敛好的地址,可能因为一次新功能上线又长出新的变体。建议把抓取分布的检查放进固定节奏,例如每个季度做一次抽样。
固定节奏的好处是问题在早期就被发现。等到收录明显出问题时再排查,通常已经积累了多种原因,定位成本会高得多。
参考来源
- Google 搜索中心官方博客(英文) —— Google 搜索官方博客,第一时间发布算法更新、抓取与索引机制变化的说明,适合在讨论谷歌政策与算法变动时引用官方口径。
- Google:robots.txt 规范介绍(英文) —— Google 官方对 robots.txt 的说明,解释如何用它控制爬虫抓取范围及其局限,可用于引用抓取控制的官方定义。
- Bing 站长指南(官方帮助文档,英文) —— Bing Webmaster Tools 官方帮助文档中的站长指南,说明 Bing 对内容质量、抓取与收录的基本要求。
- Screaming Frog 官方博客(英文) —— 爬虫工具 Screaming Frog 的官方博客,聚焦技术 SEO、站点抓取与索引诊断,适合引用技术排查方法。
常见问题
抓取预算是一个固定数值吗?
不是。它是搜索引擎根据站点规模、更新频率、响应速度与页面价值综合判断的一个大致范围,会随站点表现变化。所以改善响应速度、提升内容质量、收敛低价值地址,都会间接影响可用的抓取次数。
用抓取规则限制参数页之后,为什么问题还在?
抓取规则限制的是抓取行为,不能解决地址重复本身。如果这些地址仍被站内或站外链接指向,搜索引擎依然会知道它们的存在,只是不抓取而已。规范地址的统一与跳转设置需要同时做,两者作用不同。
筛选页对收录完全没价值吗?
不是。有独立搜索需求的筛选组合,比如用户会主动搜索的某个品类加某个属性,本身就有价值,值得做成固定入口。没有独立需求、只是把同一批内容换个顺序的组合,才属于需要收敛的部分。判断依据是它能否独立满足一类搜索意图。
页面下线后一定要做跳转吗?
取决于是否有合适的替代页面。有内容相近的替代页时,做一次性跳转可以把原有价值传递过去;没有合适替代时,返回明确的错误状态比跳转到无关页面更合适,后者会让访问者与爬虫都收到错误信息。
怎么判断抓取预算不足?
可以先看两类信号:新发布的内容在很长时间内没有被抓取过,以及重要页面更新后长时间没有重新被抓取。同时确认这些页面本身值得收录、站内也有正常入口。如果前两项都成立,再考虑是抓取次数分配的问题。