栏目页、标签页、商品列表页,往往是站内链接最密集的地方,也是蜘蛛发现新地址的主要入口。但分页处理得随意一点,第一页能正常抓,往后翻就断了。翻不到的内容,等于没有被链接过,只能靠站点地图兜底,效率和覆盖都要打折扣。
先确认你的分页属于哪种形态
- 静态链接分页:页面上存在可以直接点击、也能直接输入地址访问的链接,例如带翻页参数的地址或按序号生成的路径。这类形态对抓取最友好。
- “加载更多”按钮:按钮到底是一个链接,还是一段脚本?如果只是脚本,蜘蛛点不动,后面的内容就悬空了。
- 无限滚动:用户滚到哪加载到哪,地址栏却始终不变,蜘蛛看到的永远只有第一屏。
- 筛选与排序叠加:筛选条件一多,同一批内容会衍生出大量地址,抓取预算被稀释。
自查清单:从第一页翻到最后一页
- 把列表地址复制出来,手动把第二页、第三页、最后一页的地址改出来访问,确认每页都能正常返回并带有实际内容。
- 查看页面源码,确认分页链接出现在 HTML 里,而不是等脚本执行后才生成。如果必须靠渲染,至少要保证渲染后的链接是真实可点击的链接。
- 检查每页条数。条数太少,页数就多,抓取成本上升;条数太多,单页体积大、加载慢。列表页一般十几到三十条之间比较常见,具体按内容类型定。
- 确认翻过头的地址不会返回空列表还带正常状态。没有内容的页码,应该给出明确的 404,或者干脆不生成这类链接。
- 检查“加载更多”和无限滚动的降级方案:是否存在一个不依赖脚本的分页地址,让蜘蛛能一段一段往下取。
- 对比移动端和桌面端的分页行为,有些站点移动端做无限滚动、桌面端做分页,蜘蛛看到的可能是两套东西。
- 核对站点地图里是否补充了较深的列表页地址,作为链接抓取不完整时的补救。
索引取舍:哪些分页值得留
分页页面本身价值不高,但也不建议一刀切全部屏蔽。比较稳妥的做法是:
- 保留分页链接的可抓取性,让蜘蛛能顺着往下翻,但不必强求每一页都被收录。
- 分页页面的标题加上页码或内容区间,避免几十个页面共用同一句介绍。
- canonical 指向该页自身,不要统一指回第一页,否则后面的条目容易被当作重复内容合并掉。
- 纯筛选组合产生的地址可以按参数规则收敛,而内容确实成序列的列表,保留原有路径。
什么时候考虑合并
如果某个栏目的内容总量不大,翻两页就到底,与其做分页,不如一页展示完整,或者提供一个“查看全部”的版本,让链接结构更简单。分页不是必须的,只有当内容量确实撑得起时才值得保留。
修复之后怎么验证
改动上线后,不要只看页面能不能点。更可靠的方式是查服务器日志,看蜘蛛的实际请求里有没有出现第二页、第三页的地址,以及这些请求返回的状态。如果日志里长期只有列表第一页,说明链接虽然存在,但蜘蛛没有足够理由往里走,可以回头看列表页本身的更新频率和内链情况。
分页的问题往往不在技术实现,而在没人从头翻到尾。定期手动走一遍列表入口,比等着看数据下滑更省事。
把分页当成链接结构的一部分来维护,列表页才会真正起到内容入口的作用,而不是每篇文章都等着站点地图来救场。