先分清分页承担的三种角色
分页列表通常同时在做三件事:给用户提供翻页导航、给蜘蛛提供更深层内容的入口、把同类内容聚合到一起。这三种角色对“要不要被收录”的要求并不一样。导航角色只要求页面能被抓取、页内链接能被跟随;聚合角色则要求内容本身有独立价值。只有第三点成立时,才值得考虑让分页进入索引。
什么情况下分页值得被收录
每一页的内容组合确实不同
商品筛选后的列表、按时间滚动的资讯列表,每页展示的条目不同,用户有可能通过搜索直接落到第 3 页。这类页面带有一定的独立信息,允许被收录是合理的。但不要把期望放得太高,搜索引擎通常会把它们归入同一个主题簇,只挑选其中一两页作为代表,其余分页即使收录也很少带来流量。
分页是主要的内容发现路径
如果某个分类下总共只有二三十条内容,第 2 页以后基本没有新增信息,收录它的意义就不大。这种情况更常见的做法是保留抓取、放弃收录,让抓取资源用在详情页上。
不打算被收录时,有几种处理方式
- noindex, follow:页面不进索引,但页内链接仍会被跟随,深处的内容不会因此断掉入口。这是分页最常用的处理方式,前提是不要同时用 robots.txt 屏蔽它。
- canonical 指向自身:每个分页各自声明规范地址,不跟主列表页争抢。适合内容确实不同、希望保留收录可能的分页。
- canonical 指向第一页:只在分页内容高度雷同、几乎没有独立信息时使用。用之前要确认页面上没有用户可能搜索的独有内容,否则等于主动放弃这一部分。
要避开的一种做法:用 robots.txt 屏蔽分页。蜘蛛爬不到分页,分页里的详情页链接也就失去了发现路径,容易在后台留下大量“已发现但尚未抓取”的 URL。
URL 写法要统一
同一个分页序列,最好只保留一种地址形式。常见的分叉包括:?page=2 与 /page/2/ 并存,第一页既有不带参数的版本又有 ?page=1 的版本,排序、会话 ID、追踪参数被带到分页链接上。这些都会让同一个分页被拆成多个地址,分散抓取资源,也让规范地址的判断变得模糊。处理顺序是:先固定默认排序,再清理无意义的参数,最后统一分页参数的位置和写法。
rel=next / prev 还要不要写
主流搜索引擎已经不再把它当作索引信号,写了不会有害,但不要指望靠它解决重复问题。真正起作用的是页面自身的规范地址、内容差异,以及页内链接是否可抓取。
无限滚动和“加载更多”
内容靠脚本追加、URL 始终不变的列表,蜘蛛能看到的往往只有首屏。相对稳妥的做法是同时保留可访问的分页 URL,即使它在页面上不显眼;或者保证首屏的 HTML 里就已经存在指向后续条目的链接,而不是等交互后才生成。
怎么判断分页现在的状态
- 蜘蛛日志里看分页 URL 的抓取频次和状态码,长期不被访问的分页,通常是没有入口或被认为价值偏低。
- 索引覆盖率类报告里,关注“已发现-尚未编入索引”的 URL 是否大量集中在分页模板上。
- 抽样做站内检索,看第 2 页以后是否出现在结果里,并结合这些页面的实际访问量做判断。
一个可执行的推进顺序
- 列出全站的列表模板,确认分页 URL 规则是否唯一。
- 按模板判断分页是否存在独立内容,分成“允许收录”和“仅保留抓取”两批。
- 统一参数与写法,去掉排序、会话、追踪带来的地址分叉。
- 确认从分页到详情页的链接在 HTML 中可以直接抓取。
- 观察一段时间的抓取日志与索引数据,再决定是否调整策略。
分页处理的目标不是让每个分页都进索引,而是不让重复的分页挤占抓取资源,同时不切断内容发现路径。判断标准始终是页面有没有独立价值,而不是“分页”这个形式本身。