列表页翻到第 3 页、第 10 页,这些 URL 要不要进索引,是收录环节里绕不开的问题。处理方式没有统一答案,取决于详情页总量、翻页深度,以及这些页面本身有没有独立价值。先看清翻页是怎么实现的,再决定怎么处理,顺序会顺很多。
翻页 URL 的三种形态
同样是“下一页”,背后的 URL 行为差别很大:
- 独立 URL 分页:形如 /list/page/3 或 /list?page=3,每个翻页页有可点击的链接,抓取程序能顺着走。
- 加载更多:按钮触发异步请求,地址栏不变。如果页面里没有对应的静态链接,翻页内容通常不会被单独发现。
- 无限滚动:滚动到底部才继续取数据。除非用 History API 同步地址,否则没有可供引用的独立 URL。
三种形态的收录策略不一样,但判断起点相同:这个 URL 是不是一个可以被单独描述、单独指向的页面。
哪些翻页页值得进索引
可以落在一个问题上:这一页除了首页已经出现的条目,是否还提供了新的链接集合,并且这些链接有被单独引用的场景。常见的几种情况:
- 详情页量大、翻页很深:靠后的页面基本只是链接列表,和前面高度相似,一般不必强求收录。
- 列表本身就是内容,比如归档页、专题页、分类精选:这类页面有独立价值,可以允许收录。
- 站点体量小,翻页只有两三页:全部放开通常问题不大,管理成本也低。
不必把每一页都当成必争之地,重点是同一套规则要前后一致,不要今天放开、明天又全部挡掉。
canonical 别指向一个不相干的页面
把第 2 页之后的 canonical 全部指向第 1 页,是很常见但容易出问题的做法。这等于告诉搜索引擎“这些内容都是第 1 页的副本”,后续翻页自然不会作为独立页面处理。如果你确实希望翻页页有机会被单独收录,canonical 应当自指。
反过来说,如果已经决定不收,也要选一种手段贯穿到底:用自指 canonical 配合不收录策略,或者用页面上的 noindex,但两者不要同时指向不同结论。
robots.txt 屏蔽翻页参数时要留意
一个容易被忽略的组合是:先用 robots.txt 挡掉带 ?page= 的地址,又在页面上写了 noindex。抓取程序根本取不到那个页面,也就读不到 noindex,两套指令就互相打架了。想靠页面级指令控制索引,前提是这一页还能被抓到。
加载更多与无限滚动怎么留出可抓取路径
- 在 HTML 里保留一套真实的分页链接,放在列表底部,不要只靠脚本生成。
- 用 History API 把地址栏同步成唯一 URL,让每一屏内容都有对应地址。
- 分页链接使用真正的 a 标签,避免只用点击事件绑定跳转。
这三点并不需要多复杂,只是保证“有内容、也有路径”。路径断了,后面再谈收录就没有基础。
一份可执行的检查清单
- 确认翻页 URL 唯一且稳定,避免同一页出现参数顺序不同的多个版本。
- 在不执行脚本的情况下检查第 2、3 页,确认能否拿到下一页链接。
- 先定下哪些翻页页进索引,再统一执行 canonical 与页面级指令。
- 核对 robots.txt,看有没有误挡分页参数,导致页面级指令失效。
- 抽查几个翻页页的抓取与索引状态,观察一段时间后再调整,别频繁改规则。
分页的关键不是“要不要收”,而是让每个 URL 的角色清楚:能被抓到、指向明确、不和相邻页面互相打架。
把翻页当成一套需要长期维护的规则,而不是一次性的开关,后续新增列表模板时,沿用同一套判断就好。