分页路径为什么值得单独看
列表页到详情页的路径,很多站点依赖分页推进。蜘蛛从栏目第一页进入后,需要沿着“下一页”链接逐页发现条目。如果分页链条在某一页断开,后面的详情页就可能长期不被发现。这里的问题通常不在页面本身,而在翻页入口的写法、参数处理和服务器响应上。
分页入口的发现方式
普通 a 标签分页
最稳妥的做法是保留可点击的 a 标签,href 指向带页码参数的 URL。蜘蛛可以直接解析并跟进。如果使用按钮加 onclick 跳转,或者用 div 模拟链接,抓取端往往无法识别,路径就断了。
rel=next 与 rel=prev
rel=next/prev 可以作为分页关系的补充说明,但它不是蜘蛛发现链接的唯一依据。真正要保证的是每个分页 URL 都能从上一页通过普通链接到达。若只写 rel 标签而没有可见链接,部分抓取场景仍可能漏掉后续页。
JS 分页与无限滚动
无限滚动和点击加载更多,通常依赖脚本请求接口。蜘蛛对这类路径的跟进能力有限,容易出现只抓第一页的情况。可以考虑为分页提供静态备用入口,或者在 Sitemap 中补挂重要列表页的分页 URL。
常见断裂点排查
- 被 robots.txt 误屏蔽:有些站点为了控制抓取,直接屏蔽带 page 参数的目录,结果整条分页路径都不可达。
- canonical 指向第一页:如果所有分页都 canonical 到列表首页,抓取端可能认为后续页是重复内容,减少跟进。
- 翻页链接缺失:最后一页没有“下一页”正常,但中间页缺少链接,或页码跳跃,会导致部分页无法到达。
- 参数顺序不一致:同一页出现 ?page=2&sort= 和 ?sort=&page=2 两种形式,容易造成重复入口和抓取浪费。
- 返回空结果或软 404:超出实际页数的页码如果返回 200 空列表,蜘蛛会继续浪费路径。
服务器稳定性与翻页抓取
分页请求通常比详情页更密集。如果列表页响应慢、频繁超时,或者带参数的分页被 CDN 回源拖慢,抓取端可能降低跟进频率。建议关注分页 URL 的 TTFB、5xx 比例和缓存命中情况,避免让蜘蛛在翻页过程中反复失败。
用日志和 Sitemap 交叉验证
- 从访问日志中筛出带 page 参数的 URL,看蜘蛛是否到达第二页及以后。
- 对比 Sitemap 中列出的分页 URL 与实际被抓取的分页 URL,找出差集。
- 检查差集页面的入口链接是否存在、是否被 nofollow、是否被 robots 屏蔽。
- 修复入口后观察一段时间,确认分页路径是否重新连通。
分页路径的修复重点是让每一页都有可被解析的上一页链接,而不是只提交 Sitemap 等待抓取。
小结
分页是列表型站点的重要抓取通道。把翻页链接写成普通 a 标签,保持参数形式统一,避免误屏蔽和空结果页,再结合日志核对,通常能减少详情页漏发现的情况。服务器响应稳定,也会让这条路径更顺畅。