一个列表页翻页参数累积起来,站点很容易多出几十上百个 URL。分页页要不要进索引,没有统一答案:有的分页确实承载着独立内容,有的只是同一批结果的重新排序。判断错方向,要么浪费抓取配额,要么让本该被发现的深层内容失去入口。
分页 URL 是被链接带进抓取的
多数分页页并不靠 sitemap 提交,而是列表页上的“下一页”链接被蜘蛛顺着跟下去。这意味着分页 URL 天然处在抓取通路上:只要链接存在,它就有可能在某个时间点被请求。因此处理分页时,先想清楚的是要不要保留这条链接通路,而不是单纯地问“要不要让它被收录”。
先分清分页的三种形态
参数分页
形如 list?page=2 的形式最普遍。它和筛选、排序参数容易混在一起,URL 组合数量会成倍增长,是最需要收口的一类。
路径分页
形如 /list/page/2/。这类 URL 更干净,也更容易被当作独立页面,处理时的判断空间更大。
滚动加载与“加载更多”
如果后续内容由 JavaScript 请求接口再渲染,蜘蛛关掉脚本后可能只看到第一屏。这类站点的分页问题往往不是收录太多,而是深层内容压根没有可抓取的入口。
判断标准:第 2 页之后还有没有独立价值
- 结果集是否稳定:每天大批更替的列表,历史页几乎没有长期价值;更新缓慢的归档页则相反。
- 内容是否唯一:除了位置靠后的几条,分页页上是否存在第一页完全没有的信息。
- 是否有链接指向:有真实站内或站外引用的分页页,通常说明它对人有用。
- 是否可能承接搜索需求:例如“某类目 第二页”这种查询极少,但“全部文章归档”这类页面可能有。
四种处理方式的适用场景
- 允许收录:分页承载了独立且稳定的内容,比如更新很慢的归档、按时间排列的资料库。保留自指 canonical 即可。
- canonical 指向第一页:适合结果集基本相同、只是位置不同的分页。要注意两点:canonical 是提示而非指令,搜索引擎可能忽略;如果分页页有独有内容,指向第一页等于放弃这部分内容的索引机会。
- noindex, follow:想保留链接通路、又不想让分页页占用索引位置时使用。follow 能让蜘蛛继续顺着“下一页”走到更深的结果。
- robots.txt 屏蔽:一般不建议。屏蔽抓取会切断这条链接通路,深层页面可能因此再没有入口。
canonical 与 noindex 同时用在一个分页页上,容易发出互相矛盾的信号。选一种,并让全站规则保持一致。
容易踩的坑
- 第一页与第二页互相 canonical,形成回环,两边都得不到明确信号。
- 用了 noindex 却去掉 follow,结果列表深处的详情页长期不被发现。
- 分页页与筛选参数共用一个模板,收口规则写得太粗,误伤了有独立价值的归档页。
- 把分页当成重复内容一刀切屏蔽,之后又抱怨新内容发现太慢。
上线前的自查
- 抽查三个分页 URL,确认 canonical 指向符合预期,且没有自相矛盾。
- 在关闭脚本的情况下打开列表页,确认“下一页”链接能在 HTML 中出现。
- 看站内日志中各段 URL 的抓取占比,判断分页是否消耗了过多配额。
- 对比收录数据,确认收口之后深层内容页的发现速度没有变慢。
分页本身不是问题,问题是在没想清楚价值之前就让它无限扩展。先判断每一类分页页对用户有没有独立意义,再决定它是否需要占一个索引位置,通常比全站套用一种规则更稳妥。