抓取预算本质上是资源分配问题
搜索引擎爬一个站,能投入的资源是有限的。站点页面越多,这个限制越明显。它不会因为你交了站点地图就把每个 URL 都抓一遍,而是结合历史抓取情况、内容更新频率、服务器响应速度等因素,决定下次来花多少时间、抓多少页。所以常见的情况不是“蜘蛛不来”,而是“来的时间花在了别处”。
哪些页面在悄悄消耗抓取资源
- 带参数的筛选、排序、价格区间页,同一批内容能生成几十上百个地址
- 站内搜索结果页、用户中心、需要登录才能看的页面
- 标签页、作者页、归档页,内容单薄但链接数量很多
- 分页列表中翻到很深的位置
- 打印页、移动版或其他重复版本
- 测试页、临时活动页,上线后既没下线也没做限制
- 地址里带 session id、推广参数产生的重复 URL
这些页面的共同点是:数量大、价值低、和主推内容关系不大,却因为它们互相链接、参数组合多,被反复发现和抓取。
先看日志,再动手改
在服务器日志或日志分析工具里按蜘蛛 UA 筛一遍,重点看被抓取 URL 的分布:抓取量靠前的地址都是什么类型,抓取最频繁的目录是不是你希望优先抓的目录,里面混了多少 3xx、404、5xx。这一步不做,后面的调整基本靠猜。
抓取次数多不等于页面重要,也可能只是因为它入口多、参数多,被反复撞见。
几个可落地的处理方式
收窄入口
导航、面包屑、相关推荐、站点地图这些位置,尽量只指向真正希望被收录的页面。低价值列表页如果站内没有入口,蜘蛛发现它的机会自然会下降。
分清“不抓”和“不收录”
robots.txt 的 Disallow 是让蜘蛛别抓,但如果站外有链接指向这个地址,它仍可能只凭链接信息收录一个没有内容的条目。想明确不收录,需要页面本身可被抓取并返回 noindex。两者目的不同,别混用。
处理参数和重复地址
筛选、排序这类参数如果对内容没有实质改变,可以用 canonical 指向规范版本,同时把站内链接统一成不带参数的形式。能做成静态路径的,尽量静态化。
站点地图只放该放的
把分页、标签、参数页统统塞进 sitemap,等于告诉蜘蛛“这些都值得抓”。留主要栏目、文章详情、必要的分类页就够了。
服务器别拖后腿
蜘蛛等待响应的时间也算成本。响应慢、频繁超时、间歇性 5xx,会让人家降低来访频率。这属于服务器维护的基础功课,和内容层面的优化一样重要。
给重要内容多一点存在感
把主推页面放进首页、栏目首页和正文内链,缩短点击深度,蜘蛛每次来都会先碰到它们。新增内容分批上线,比一次性放出几万页更稳妥,抓取节奏也更均匀。
调整之后看什么
改完别急着下结论,留几周观察期,对比日志里高价值目录的抓取占比、404 与 5xx 的数量、被反复抓取的参数页数量是否下降。抓取预算不是能一键优化的指标,更接近一项长期工作:把入口、结构、响应速度控制在合理范围内,剩下的交给时间。