很多站点的入口页不是一页链接列表,而是分页形式的列表:第 1 页放 20 条,后面还有第 2 页、第 3 页……一直到第 50 页。于是常见疑问就来了——搜索蜘蛛会不会顺着“下一页”一路翻下去,把后面所有分页里的目标 URL 都发现?答案不是简单的“会”或“不会”,而是取决于几件事。
搜索蜘蛛对分页的基本处理逻辑
搜索蜘蛛发现链接后,会把新 URL 放进待抓取队列,但它不会无限制地扩张。抓取配额、页面深度、链接在页面中的位置,都会影响它翻到第几页。常见情况是:前几页被稳定抓取,越往后越稀疏,最后几页长期没有抓取记录。这不一定是被惩罚,更可能是抓取预算分配的结果。
决定翻页深度的几个因素
- 入口页本身的抓取频次:整站被爬得越勤,分页通常被翻得越深。
- 每页链接数量:每页 20 条和每页 200 条,同样的抓取预算能覆盖的页数完全不同。
- 链接层级:目标 URL 在第 3 页还是第 30 页,被发现的机会差别很大。
- 分页链接是否可爬:如果“下一页”是 JS 事件绑定而不是 a 标签,蜘蛛可能根本点不动。
- 内容是否高度重复:分页列表若彼此雷同,蜘蛛更倾向于停在前面几页。
分页链接写法上的细节
用真实的 a 标签
“下一页”最好写成可点击的 a 标签,href 直接指向第 N+1 页。如果用 button 加 JS 异步加载,蜘蛛往往只能看到第 1 页的内容。
页码链接尽量平铺
除了“下一页”,把 1、2、3 等若干页码直接列出来,比只给一个“下一页”更有帮助,蜘蛛可以跳着抓,不必逐页推进。
分页页与 robots.txt 要分开看
给分页页设 noindex 只影响该页自身是否被收录,理论上仍可顺着链接继续爬;但如果你同时用 robots.txt 屏蔽了分页路径,链接传递就彻底断了。
分页之外,最好留第二条路
分页列表是一种发现路径,但不要当成唯一路径。更稳妥的做法是:
- 把重要目标 URL 单独整理进 sitemap,分页列表只作为补充。
- 对价值高的 URL,在首页或栏目页给出固定入口,不依赖翻页。
- 分页列表保持更新,避免长期停在同一个快照上。
- 定期从日志里核对分页的实际抓取深度,而不是凭感觉判断。
怎么确认蜘蛛翻到了第几页
在服务器日志里按分页路径过滤,例如带 page= 或 /list/ 的请求,看不同页码的抓取次数分布。如果第 1 到第 5 页有记录,第 6 页之后几乎为零,说明当前深度大概就到这了。此时可以考虑把靠后的目标 URL 挪到更浅的位置,或者用 sitemap 补上。
分页不是翻得越多越好。把精力放在让重要 URL 出现在浅层入口,比反复调整分页结构更有效。
几个常见误解
- 以为提交了分页就会全爬:提交只是告知存在,不保证抓取深度。
- 以为 rel=next/prev 能解决一切:这类标记早已不被主要搜索引擎当作索引信号使用,链接本身可爬才是关键。
- 以为分页重复无所谓:大量相似列表会稀释抓取预算,间接影响后面 URL 被发现的速度。
总的来说,搜索蜘蛛会不会翻到最后一页,取决于抓取预算、分页链接的可爬性和页面本身的价值。分页可以当作入口页使用,但重要的目标 URL 最好同时有浅层入口和 sitemap 兜底,不要只押在“下一页”上。