提到抓取预算,很多人的第一反应是页面够不够多、内链够不够深。但蜘蛛在站里走一圈,拿的不只是 HTML 文档,还有页面依赖的图片、样式表、脚本、字体文件,甚至部分接口返回的数据。这些东西同样要占用连接、带宽和队列时间。当资源请求数量远超内容页面时,你可能会感觉蜘蛛“来过”,但真正被评估的页面没几个。
蜘蛛为什么还要取这些资源
搜索引擎需要渲染页面,才能判断首屏内容、可见文字和结构。现代搜索引擎的渲染队列会把 CSS 和 JS 一起取走;图片则帮助理解内容主题,也是图片搜索的入口。所以“只让蜘蛛看到 HTML”的思路并不成立,关键在于区分哪些资源对理解页面有用,哪些只是可选的装饰。
哪些资源可以放开,哪些适合收窄
- 样式与脚本:核心 CSS/JS 目录尽量放开,让渲染顺利完成;第三方统计、广告、客服插件如果对内容没有帮助,可以评估是否延后加载。
- 图片与图标:正文配图、产品图放开;用户头像、渐变占位图、活动角标这类重复度极高的图,可以集中到固定目录,必要时用 robots 收窄。
- 字体与媒体:字体文件注意跨域配置,避免蜘蛛反复取失败;音视频等大文件建议单独目录或域名,别和内容页抢同一路连接。
- 接口与 JSON:如果接口返回的是页面渲染必需的数据,放开;如果只是后台管理或用户私有数据,用 robots 和权限挡在外面。
减少无效资源请求的几个动作
- 压缩图片并限制尺寸输出,同一张图不要出现五六个不同裁剪版本。
- 清理长期不用的旧版脚本和样式文件,别让页面里堆着历史遗留的引用。
- 检查懒加载写法,图片地址要能在源码里被读到,不要只写在自定义属性里等 JS 拼接。
- CDN 缓存策略与回源设置保持一致,避免同一资源反复回源、状态码不稳定。
- 对确认无抓取价值的目录,用 robots 收窄之后,再在对应页面加 noindex,两件事配合着做。
从日志里核对资源抓取占比
把一段时间的访问日志按扩展名或目录分组,看几件事:图片和静态资源的请求量占多少、有没有集中的 404 与 403、发布新版本后旧文件名是否还在被反复请求。如果某个目录的请求量突然翻倍,先查是不是模板改动引入了重复引用,而不是急着去调 robots。
资源抓取没有绝对标准,判断依据是“它是否帮助蜘蛛理解这个页面”。帮不上忙的,能省则省。
把它放进日常巡检
资源层面的问题通常不会立刻反映在收录上,但会慢慢吃掉抓取额度。建议在例行巡检里加一条:统计内容页与静态资源的请求比例,观察趋势是否稳定。比例出现明显偏移时,再回到模板、缓存和发布流程里找原因,比直接改规则更稳妥。