分页是站内最容易被忽略的抓取路径。首页和栏目页通常会被反复抓取,但列表翻页之后的部分,往往因为链接形态、URL 结构和入口数量的问题,慢慢从蜘蛛的视野里淡出。
分页在抓取路径里是什么位置
对一个内容站点来说,列表页承担的是“发散”职责:它把一批详情页的 URL 摆到蜘蛛面前。第 1 页通常有多个入口,比如首页推荐、栏目导航、Sitemap;越往后入口越少,被抓取的频率也随之下降。这本身不一定是问题,如果深层页码上的内容本来就不重要。但如果你的老文章只靠翻页才能被重新发现,那这条翻页路径就断不得。
让分页链接是“能被抓的链接”
很多列表页的翻页是前端渲染的:点击“下一页”只是改了页面状态,HTML 里没有可抓取的 href。蜘蛛不点击按钮,它解析的是 HTML 里的 a 标签。对于能执行 JS 的蜘蛛,渲染后的链接也可能进入队列,但成本和不确定性都更高。
几个基本做法
- 页码和上一页/下一页用真实的 a 标签输出,服务端渲染,或至少在首屏 HTML 里带出来。
- 不要只用 button 或 div 绑定点击事件来承担翻页。
- “下一页”这类的稳定链接,价值通常高于只放一个“跳转到第 N 页”的输入框。
分页 URL 的两种写法
路径型:/list/page/2/
结构清晰,便于统计,也方便在服务器日志里按前缀筛选。代价是每翻一页就多一个可索引 URL,需要提前想清楚这些页面在索引里的定位。
参数型:/list?page=2
更容易出问题。如果参数顺序、大小写、追踪参数混在一起,同一个分页可能对应多个地址,蜘蛛要在几个 URL 之间来回确认。建议对分页参数保持固定顺序,并处理好它与筛选参数的组合关系。
另外要提醒一句:不要用 robots.txt 去拦截分页路径。这会直接切断翻页链条,让后面的详情页失去这条发现路径。如果只是不想让分页页出现在搜索结果里,用 noindex 比用 robots.txt 更合适,因为 noindex 不阻止蜘蛛继续沿链接往下走。
深层页码需要额外入口
常规分页往往只放出前后几页和首尾页,第 30 页往后几乎没有链接指向。这时候可以在结构上补几条路径:
- 按月份、按年份的归档页,作为时间维度的入口。
- 按标签或分类聚合的列表,作为主题维度的入口。
- 在 Sitemap 里分片提交详情页 URL,不完全依赖翻页。
这些入口的作用不是提升排名,而是保证 URL 在需要被重新抓取时有一条可达的路径。
最后一页别做成死路
列表翻到最后,“下一页”消失是正常现象,但页面不应只剩一堆条目。这一页仍要保留正常的栏目导航和内链,让蜘蛛从这里能回到栏目或找到其他入口,避免出现只显示空状态提示的页面。
怎么自查分页路径
- 关掉 JS,看列表页 HTML 里有没有完整的分页链接。
- 从第 1 页顺链接点到第 10 页,确认每一步都有 a 标签可走。
- 检查分页 URL 是否被 robots.txt 误拦。
- 在服务器日志里按分页路径前缀筛选,看蜘蛛有没有真正走到深层页码。
分页本身不产生排名,它决定的是详情页有没有被发现的路径。路径不断、URL 干净、深层有入口,这三件事比翻页的样式更重要。