分页页面的本质:它是导航,还是内容
列表页第一页通常有明确的主题,比如“全部产品”“最新文章”,用户也确实会从这一页开始浏览。但翻到第 2 页、第 3 页之后,页面上剩下的内容往往只是同一批条目的重新排列,标题和描述高度相似,正文几乎为零。搜索引擎面对这类 URL 时,判断逻辑和用户并不完全一样:用户点进去只是“再看一屏”,而抓取一个分页 URL 要占用一次抓取机会。
所以分页收录的核心问题不是“能不能收”,而是把有限的索引位置和抓取配额留给谁。
三种常见的分页实现
1. 传统链接分页:/list?page=2
每页独立 URL,页面上有可点击的“下一页”链接,爬虫可以顺着走到底。这种结构最清晰,但也很容易产生几十上百个几乎同质的 URL。如果站点没有做任何限制,索引里可能塞满这类页面。
2. 加载更多与无限滚动
用户看到的是同一页面不断追加内容,但很多实现其实是靠接口异步拉取,URL 始终不变。这样一来,第二屏之后的内容对搜索引擎来说可能等同于不存在——除非你在页面里提供了对应的可抓取链接。这类实现最常见的问题是:内容确实存在,却没有一个能被单独发现的地址。
3. 视图全部:一页展示所有条目
把 200 条记录塞进一个页面,看似省事。代价是单页体积变大、加载变慢,而且页面主题被稀释,很难与任何一个具体查询词对上。
判断该不该收录,先问几个问题
- 这一页有没有用户会直接搜索的独立信息?如果只是排序不同,通常没有。
- 翻页内容是否稳定?带排序、筛选参数的分页每次组合都不同,容易产生大量低价值 URL。
- 列表里有没有指向详情页的链接?如果有,爬虫顺着第一页就能发现大部分内容,后面的分页对 URL 发现的贡献会递减。
- 站点的抓取配额够不够用?内容量小的站,让分页进索引影响不大;内容量大的站,分页会明显挤压详情页的抓取机会。
如果决定不收录,可以怎么做
- 保留可抓取:不要用 robots.txt 直接封掉分页。封掉之后,爬虫无法通过列表页继续往下发现详情页,URL 发现路径会断在这里。
- 只限制收录:在第 2 页及之后加 noindex,让页面可以抓、可以传递链接关系,但不进索引。
- 收敛参数:把排序、每页条数这类不影响内容的参数统一到默认值,或让它们不生成独立 URL。
- 给“查看全部”一个规范指向:如果确实需要聚合视图,用 canonical 指回主列表页,而不是让它和分页互相竞争。
两个常被忽略的细节
一是入口链接别只指向第 1 页。如果所有导航都落在第一页,后面的分页即使被抓,也拿不到多少内部信号。二是分页标题不要千篇一律。很多站点第 2 页的标题还是“全部产品”,和第一页完全重复,这类重复本身就是索引取舍时的减分项。
分页不是必须全部收录,也不是必须全部屏蔽。真正要回答的是:这一页被收录之后,能不能带来任何独立的搜索价值;如果不能,就让它可以被抓取、但不必进索引。
最后可以定期回到搜索控制台或日志里看一眼:抓取请求里分页 URL 占了多少比例。如果占比明显高于详情页,又没有带来对应的流量,那多半是该调整的时候了。