列表页翻到第 5 页、第 20 页,用户很少点,蜘蛛却常常会顺着翻下去。分页处理得不好,轻则浪费抓取,重则让蜘蛛在相似的列表里绕圈,把真正的内容页挤到抓取队列后面。下面这份自查清单,适合在栏目改版、模板调整或流量异常波动时逐条过一遍。
为什么分页容易被忽略
分页通常由模板自动生成,改一次模板,几百个栏目的翻页行为同时变化。它处在内容页之前的中间层:不像首页那样天天被盯着,也不像详情页那样有明确指标,出问题往往要等到抓取数据出现异常才被发现。
URL 形式自查
- 同一套分页是否出现多种地址:/list/2/、/list?page=2、/list/page/2 都能打开,且互不指向同一版本。选一种作为规范形式,其余做 301 或至少统一输出 canonical。
- 分页地址是否带上了可以无限组合的筛选参数,例如“页码 + 排序 + 标签”,导致蜘蛛每翻一页都生成一批新地址。
- 页码规律是否清晰。第 1 页最好就是栏目主地址,不要额外造一个 /list/1/ 与主地址并存。
链接可抓取性自查
- 翻页按钮是普通链接,还是点击后由 JS 拼接地址。如果是后者,蜘蛛很可能拿不到。
- “下一页”在最后一页是否仍然存在但失效,或者指向一个空列表。
- 无限滚动是否提供了可点击的分页入口作为兜底。
页面自身的信号
标题与摘要
第 2 页往后的标题如果和第一页完全一样,蜘蛛需要额外判断这些页面的差异。至少让标题带上页码或页码范围,描述不必重复堆同一批词。
canonical 与 noindex 的取舍
过去常用的 rel=next/prev 已被主流搜索引擎弱化,现在更实际的做法是:把分页页当作正常页面看待,canonical 指向自身。如果某个栏目翻页深度极大,且深层页面内容价值很低,再考虑对超深分页单独处理。切忌把第 2 页 canonical 到第 1 页,那会让列表里的部分链接失去入口意义,也可能让蜘蛛不再深入。
深度与效率
- 列表默认每页条数是否过少,导致翻页层数动辄几十层。适当提高单页条数,可以明显减少中间页数量。
- 深层分页是否仍然出现在主导航、侧栏或页脚,造成站内链接被稀释。
- 是否给蜘蛛留下了自然的边界,比如最后一页不再输出下一页链接。
分页不是可有可无的过渡页。它决定了蜘蛛能不能从栏目走到你的具体内容页,也决定了这些内容页被发现的速度。
落地建议
- 固定一种分页地址形式,其余做规范化处理。
- 保证翻页链接由服务端直接输出,而不是靠脚本临时拼接。
- 第 1 页与栏目主地址合并,避免重复入口。
- 控制翻页深度,必要时调整每页条数。
- 对超深分页先观察,而不是一上来就全站屏蔽。
怎么验证
挑三到五个典型栏目,从第一页手动走到最后一页,记录每一页的地址、标题和是否可直接访问。再对照服务器日志,看蜘蛛实际走到了第几页、停留在哪一层。如果蜘蛛长期只抓前两页,先怀疑链接输出;如果反复抓深层空页,先怀疑边界处理。改完观察一段时间,再看抓取分布是否变化。