列表页翻页是站点里数量最多、也最容易被忽略的一类地址。文章列表翻到第 30 页、商品分类翻到第 80 页,这些地址既不像内容页那样有明确主题,也不像纯导航那样毫无价值,搜索引擎对它们的处理方式差别很大。处理不当,要么让大量低价值翻页地址挤占抓取配额,要么让本来能带来长尾流量的页面被提前挡在索引之外。
先判断翻页有没有独立价值
翻页地址值不值得被收录,不取决于它是第几页,而取决于这一页上有没有别处看不到的内容。
- 列表项自带摘要、价格、更新时间等字段,第 2 页和第 1 页展示的信息不同,这类翻页有独立价值。
- 列表项只有标题和链接,第 1 页已经覆盖了大部分内容,后续翻页的增量很低。
- 翻页只是把同一批数据重新排序,比如按价格、按销量,地址不同但内容高度重叠。
前一类可以考虑放行,后两类更适合合并或屏蔽。
三种常见的翻页地址形态
参数式地址
形如 /list?page=2 或 /list?p=2&sort=price。这类地址最容易产生组合爆炸:分页参数、排序参数、筛选参数相乘,几天就能生成几千个 URL。治理的第一步是收敛参数,把排序和筛选组合控制在少数几个常用组合上。
路径式地址
形如 /list/page/2/ 或 /news/2/。路径式地址通常更稳定,也更容易被蜘蛛顺着链接一层层走下去。如果决定屏蔽,需要在 robots.txt 里把路径规则写清楚,而不是只在页面上做处理。
无地址的加载更多
点击“加载更多”只是把新内容追加到同一个 URL 下。这类设计对读者友好,但蜘蛛看不到后面的内容。如果后面的内容确实重要,至少给一个可访问的静态翻页入口。
放行时要注意什么
- 给第 1 页一个稳定的规范地址,后续翻页各自规范到自己,不要全部指向第 1 页,否则收录的永远只有一个地址。
- 翻页链接用普通的 a 标签,不要依赖 JavaScript 事件才能跳转。
- 每个翻页页面有自己的标题和描述,避免出现一串只有页码不同的重复标题。
- 控制翻页深度。第 50 页之后基本没有抓取价值,可以自行截断链接,但不要做得太隐蔽。
合并或屏蔽时怎么做
如果决定不做收录,常见做法有三种,效果并不相同:
- canonical 指向聚合页:适合排序、筛选这类同内容变体。它保留可访问性,同时说明真正的规范地址是哪一个。
- noindex:适合确实不希望出现在索引里的翻页。注意 noindex 和 robots.txt 不要同时用——一旦被 robots.txt 拦下,页面上的 noindex 也就读不到了。
- robots.txt 屏蔽:适合量级大、完全不需要收录的翻页。屏蔽前先确认这些地址上没有被其他页面依赖的链接,否则会顺带切断深层页面的抓取路径。
翻页地址最常见的错误不是屏蔽或放行本身,而是同一站点里三种做法混着用:一部分翻页做 canonical,一部分做 noindex,还有一部分被 robots.txt 挡住。规则不统一,索引状态就会变得很难解释。
把分页当成一条规则来处理
不要逐页判断,而是按“参数类型 + 内容形态”给分页定几条规则:什么情况下放行、什么情况下规范到聚合页、什么情况下屏蔽。规则定好之后,用索引报告和日志抽查几组地址,确认实际状态和预期一致。分页本身不是内容,但它决定了蜘蛛能不能顺着列表走到你最想被收录的那些详情页,值得单独花时间梳理。