很多站点在抓取日志里看到的现象是:蜘蛛来是来了,但总在几个栏目页和翻页上打转,新上线的详情页迟迟不见踪影。这不是蜘蛛偷懒,而是它每次来访能抓的 URL 数量有限,而你的站点在它眼里有优先级排序。这篇文章聊的是这个排序怎么形成,以及哪些部分可以主动调整。
抓取预算更像排队,而不是配额
常有人把抓取预算理解成一个固定数字,其实它更接近排队:搜索引擎根据站点规模、更新频率、历史响应质量,决定一段时间内大致来访多少次、每次走多深。站点越大、页面越多,单个页面分到的机会就越少。
排队顺序受几个因素影响:链接层级、内链指向数量、历史更新情况、服务器响应速度,以及 Sitemap 里给出的时间信号。这些因素不是各自独立,而是叠加在一起,决定蜘蛛这次先敲哪扇门。
把抓取预算当成注意力更贴切:注意力花在哪,取决于哪里看起来更值得去。
三类页面的优先顺序
新页面
新页面上线后能不能被尽快发现,主要看它被谁指向。从首页或高频更新的栏目页给一两条内链,比在页脚堆一排链接有效得多。Sitemap 里同步更新 lastmod,也能减少蜘蛛以为内容没变而跳过的概率。
老页面
已经抓过的页面不会自动降级,但如果内容长期不变、响应又慢,蜘蛛复访的间隔会慢慢拉长。真正有价值的老页面,靠的是稳定的可访问性和偶尔的实质更新,而不是频繁改动时间戳。
低频页面
标签页、筛选结果页、历史归档页这类页面,数量往往是正文页的几倍。如果它们被内链大量指向,就会挤占正文页的抓取机会。常见做法是限制可抓取的参数组合、对没有检索价值的组合做收敛,而不是一刀切屏蔽。
几个容易被忽略的信号
- 响应时间:同一批 URL 里,慢的那部分会被排到后面,长期慢可能被明显降频。
- 内链位置:正文里的链接通常比页脚、侧栏的链接更早被处理。
- 重复内容:同一份内容对应多个 URL,会让蜘蛛反复确认,消耗的是同一个预算池。
- Sitemap 的准确性:把 404、重定向、已屏蔽的 URL 放进去,蜘蛛每次都要白跑一趟。
- 状态码稳定性:间歇性的 503 会让蜘蛛降低整体来访频率。
服务器表现决定了抓取节奏
服务器的表现直接影响蜘蛛愿意来多少次。响应时间长期在高位、偶发超时、批量 5xx,都会让蜘蛛在之后一段时间里收紧抓取。相比之下,稳定的响应配合合理的缓存策略,能让同样的抓取次数覆盖更多 URL。
如果站点刚做过改版或迁移,建议先保证新结构的响应稳定,再观察日志里的状态码分布,而不是同时改内链、改 Sitemap、换服务器。
可以落地的调整顺序
- 先从日志里找出被抓最多但价值最低的那批 URL,确认它们由什么内链或参数组合产生。
- 收敛这些入口,同时给重点新页面补上从高频栏目页出发的内链。
- 清理 Sitemap 中的无效 URL,让 lastmod 与真实更新时间保持一致。
- 观察服务器的响应时间分布,把明显偏慢的页面单独排查。
- 过一到两周再对比日志,看抓取分布是否向正文页倾斜。
抓取预算的调整通常不会立竿见影,它更像是在改变蜘蛛对整个站点的印象。把入口管好、把无效 URL 收掉、把响应做稳,剩下的交给时间。