搜索抓取

分页列表里的抓取路径:蜘蛛要翻到第几页才会发现新 URL

列表页分页是许多站点发现新 URL 的主干道。本文对比数字分页、加载更多、无限滚动三种形式对蜘蛛的友好度差异,说明翻页深度怎样影响抓取顺序,并给出分页与 Sitemap 配合的实操建议,让新内容更快进入抓取队列。

搜索抓取

分页列表里的抓取路径:蜘蛛要翻到第几页才会发现新 URL

很多站点的新内容并不靠首页直接曝光,而是躺在列表页的第 N 页里。蜘蛛能不能发现它们,取决于分页这条通路修得好不好。分页做得好,新 URL 在发布后不久就会进入抓取队列;做得不好,内容会长期卡在“从未被发现”的状态。

分页是 URL 发现的主干道

对大多数内容型站点来说,蜘蛛进入站点的第一站往往是首页,第二站就是列表页。首页给的是几个重点推荐,列表页给的才是全部。如果列表页只展示最近十条,并且没有任何通向更早内容的链接,剩下的 URL 就只能靠 Sitemap 或外链被发现,效率会差很多。

三种常见分页形式的抓取友好度

数字分页(?page=2 或 /list/2)

链接直接写在 HTML 里,蜘蛛顺着点就能一层层往深处走,是最容易被抓的形式。需要留意的是每个分页 URL 要能独立访问,不要依赖 Cookie 或 POST 请求切换。

“加载更多”按钮

按钮本身通常是 JS 事件,HTML 里没有对应的 href,蜘蛛点不动。常见补救方式是在按钮下方保留一组可点击的页码链接,或者在 noscript 里给出静态链接。

无限滚动

滚动加载的列表对新 URL 的发现帮助有限,因为蜘蛛的访问不会触发滚动。可以为滚动内容配一套静态分页入口,让同一批 URL 多一条到达路径。

翻页深度与抓取顺序

蜘蛛的抓取顺序大致沿着链接层级展开,越靠前的页面越容易被优先访问。列表页越深,被排到的机会越小。可以留意几点:

  • 第一页到第三页通常抓得比较勤,第五页之后明显变少;
  • 分页链接如果只放在页面底部、又被大量无关模块包围,蜘蛛仍可能点到,但优先级会降低;
  • 每页列出的条目数量太少,URL 会被稀释到更多层分页里;
  • 分页参数若叠加排序、筛选组合,会产生大量近似 URL,反而分散抓取。

把分页通路理顺的几件事

  1. 分页 URL 结构保持稳定,不要今天用 /page/2、明天改成 ?p=2。
  2. 列表页里的条目链接使用真实 href,不用 onclick 跳转。
  3. 筛选、排序参数尽量用 robots.txt 或 canonical 收敛,避免生成成千上万个空列表。
  4. 在 Sitemap 里单独保留列表页 URL,让它们有独立入口。
  5. 内容量大的站点,可以做分类索引页或专题页,把深度摊薄。

分页与 Sitemap 的分工

Sitemap 解决的是“有哪些 URL”,分页解决的是“从这里能走到”。两者并不冲突:Sitemap 负责把新 URL 报备,分页负责让它拥有一条可反复经过的内链路径。只报备不给通路,蜘蛛抓到一次之后可能很久不再回来;只有通路没有报备,新 URL 的首次发现就要等蜘蛛自然巡到。

分页通路的价值不在于多抓几个页面,而在于让新内容在发布后就有机会被排进队列。

最后,分页抓取也会受服务器响应和抓取预算影响。列表页如果本身很重、响应很慢,蜘蛛翻到第三页时可能就收手了。把列表页做得轻一点,比反复提交 Sitemap 更实在。