抓取预算不是玄学,是注意力的分配
蜘蛛不会无限量地抓取一个站点。它会在单位时间内给每个站点分配一定的抓取次数,站点越大、URL 越多,单个页面分到的机会就越少。运营里常说的“抓取预算”,可以理解成蜘蛛愿意在你站上投入多少时间。它没有开关可以调,但会受站点质量、更新频率、服务器响应速度和页面价值影响。
所以当站点从几百个 URL 长到几万个 URL 时,原来够用的抓取频次就会变得紧张。此时与其天天看收录数量,不如先看蜘蛛每天到底在抓什么。
先用日志确认蜘蛛的访问去向
从服务器日志里筛出主流搜索蜘蛛的 UA,按天看几个指标:抓取总次数、被抓 URL 的分布、状态码比例、平均响应时间。不要只看总数,总数涨了不代表重点页面被照顾到。
- 抓取次数是否在持续下降,还是只是短期波动;
- 被抓最多的 URL 是不是核心栏目和内容页;
- 带参数的筛选页、排序页占比有多高;
- 301、404、410 这类状态码占了多少请求;
- 蜘蛛拿到的页面响应时间是否明显高于普通用户。
如果日志里大量请求落在无意义的参数组合上,所谓的抓取预算就已经被消耗掉了。
减少低价值 URL 的入口
低价值 URL 通常有几类:筛选参数、排序方式、打印版本、会话 ID、重复的分页列表。它们不一定都要删除,但需要控制蜘蛛发现和抓取的路径。
- 筛选参数如果会生成大量相似页面,可以用 robots.txt 限制抓取,或用 noindex 让它不被索引,但要先确认没有误伤真正有用的页面。
- 分页不要一律屏蔽。列表分页往往是老内容的重要入口,屏蔽后可能让深层页面更难被发现。
- 确定不再使用的页面,用 301 指向替代页面,或用 410 明确告知已删除,不要长期返回 200 却放空内容。
- Sitemap 只放希望被发现的 URL,不要把筛选结果、站内搜索结果页全部塞进去。
用内链和 Sitemap 做引导
蜘蛛更多是沿着链接走的。你希望它优先抓什么,就应该让重要页面有更短、更稳定的链接路径;不希望它花时间的页面,就减少内链入口。
- 首页和栏目页保持指向核心内容的链接,不要让重要入口只出现在很久以前的文章里。
- Sitemap 按内容类型拆分,更新时间和优先级尽量反映真实情况,不要全部设置成同一档。
- 相关推荐、热门标签、历史归档控制在合理数量,避免每个页面都产出大量重复列表。
- 新内容发布后尽快从已有页面链过去,不要只等蜘蛛自己碰运气。
服务器响应也会影响抓取节奏
蜘蛛在抓取时同样会受响应速度影响。页面打开慢、重定向多、并发请求被拖住,都会降低单位时间内的有效抓取量。检查时可以看首字节时间、页面体积、重定向链长度,以及蜘蛛访问时是否触发了复杂查询。
- 合并或去掉不必要的跳转,减少每一跳的等待;
- 压缩图片和静态资源,避免蜘蛛和用户一起等加载;
- 检查抓取高峰是否与业务高峰、备份任务、数据同步撞在一起;
- 对蜘蛛频繁访问的页面,确认缓存策略是否合理。
可以放进周检清单的几件事
- 拉一周日志,看抓取总量和核心栏目的抓取占比。
- 抽查 Sitemap 中的 URL,估算低价值页面的比例。
- 检查新发内容是否在两天内至少有一个站内入口链接到它。
- 对筛选参数页面做抽样,判断是否应该继续允许索引。
- 记录调整前后的抓取分布变化,不要只看一两天就下结论。
抓取预算自查不是做一次就结束的事。栏目调整、活动页上线、URL 规则变化,都会改变蜘蛛面对的可抓取面。把它放进常规运营清单,比等到发现收录变慢再回头翻日志要轻松得多。