搜索抓取

分页与加载更多:列表页怎么把新 URL 交出去

列表页往往是新内容被发现的第一站,但分页做成按钮、加载更多靠脚本、翻页链接不可直接访问时,地址就交不出去。本文拆解分页链接的常见形态、无限滚动的补救做法、分页深度与最后一页的处理,以及列表页常见的几类失误。

搜索抓取

分页与加载更多:列表页怎么把新 URL 交出去

新内容上线后能不能被搜索蜘蛛看到,很大程度取决于它在哪条链路上第一次露脸。对多数内容站来说,这条路不是首页,而是列表页——分类页、标签页、专题页和常规分页。列表页承担的是持续交出地址的职责,分页形态设计得别扭,新 URL 就会卡在第二页之后。

分页链接的两种常见形态

一类是路径式,例如 /category/page/2/;一类是参数式,例如 /category?page=2。路径式地址独立、便于直接访问和统计,参数式实现成本低但容易出现重复地址。无论选哪种,都要保证分页地址能被单独打开、内容与当前页一致。

别只看下一页按钮,看 HTML 里有没有 href

不少前端把分页做成按钮加事件监听,渲染后 href 为空或是 javascript:void(0)。蜘蛛顺着 HTML 走,看不到可用地址,翻页链路就在这里断掉。建议保留真实 a 标签,href 指向可访问的分页地址,再由脚本接管无刷新体验。

加载更多与无限滚动的补救

无限滚动的主要内容地址通常不在初始 HTML 里,需要额外补位:

  • 首屏渲染时输出前若干条的真实链接,而不是占位骨架;
  • 提供普通分页地址作为兜底入口,让不执行脚本的抓取也能走通;
  • 列表接口若可公开访问,确认返回的是可解析的地址集合,避免只给内部 ID。

分页深度与最后一页的处理

分页越深,地址越靠后,走到那里的可能性越低。常见的做法是把每页条数控制在合理范围,让新内容尽量落在前三页;同时检查「最后一页」是否可点、是否被误设为不可抓取。若分页被 robots.txt 或 meta 屏蔽,顺着分页发现新地址这条路就基本失效了,只剩 Sitemap 一条通道。

另外注意分页链接的排序逻辑:按发布时间倒序的列表,新内容天然靠前;按热度或人工排序的列表,新内容可能长期沉底,这时需要额外的「最新」入口。

列表页常见失误清单

  1. 分页按钮无 href,或 href 指向统一占位地址;
  2. 翻页请求只在同页内替换内容,地址栏不变;
  3. 分页地址返回空列表或软 404,内容实际存在;
  4. 列表条目摘要截断时把标题链接一并省略;
  5. 移动端和桌面端输出两套不同链接,只有一套可访问;
  6. 分页数量巨大但每页仅几条,目录被稀释。
列表页是把新地址交出去的第一道闸门。闸门顺畅,后续抓取才有机会发生;闸门别扭,内容本身再好也只能排队等待。

和 Sitemap、内链互相补位

不要把发现压力全压在分页上。可在 Sitemap 中按更新时间组织重要地址,同时在正文内链中把新内容与已有相关页互相引用,让地址有第二条进入路径。列表页负责广度,内链负责权重与上下文,Sitemap 负责兜底,三者配合比单点优化更稳。日常巡检时,可以打开无脚本环境看一眼列表页,确认新地址确实出现在源码中,这比任何工具报告都直接。