搜索抓取

蜘蛛会翻到第几页才停:分页列表上的抓取路径与链接写法

分页列表是蜘蛛进站后的重要通道,但第二页之后的内容常被忽略。本文梳理分页链接的几种常见写法、蜘蛛翻页时受到哪些因素影响,以及在分页导航、Sitemap 和日志观察上可以做的调整,让列表深处的 URL 更容易被蜘蛛发现。

搜索抓取

蜘蛛会翻到第几页才停:分页列表上的抓取路径与链接写法

做内容站的人经常盯着首页和详情页,却容易忽略一类页面:分页列表。分类、标签、文章归档、搜索结果,几乎每个列表都会分页。对蜘蛛来说,这些分页是一层层往下的通道,第一页好抓,第二页、第五页、第二十页就没那么确定了。分页深度和分页链接的写法,直接决定了列表深处的内容还能不能被 URL 发现。

分页链接的几种写法,蜘蛛的处理方式不一样

同样是“下一页”,实现方式不同,对抓取路径的影响也不同。

  • 普通 a 链接带页码参数:最常见,比如 /list?page=3。每页都是独立的 URL,蜘蛛可以顺着链接逐页往后走,但页码越深,被重新抓到的概率越低。
  • rel="next" 与 rel="prev":用来标注页面之间的顺序关系。现在主流搜索引擎对它的依赖已经弱化,但作为辅助信号保留下来没有坏处。
  • 纯 JavaScript 加载更多:点击按钮才追加内容,URL 不变。如果按钮背后没有可被发现的链接,那么第一页之后的内容对蜘蛛基本是隐形的。
  • 分页 URL 固定但内容滚动:用户往下滚,页面自动加载下一批,地址栏始终是第一页的地址。这种写法对用户流畅,对 URL 发现不友好。

蜘蛛翻页时会碰到哪些情况

假设一个分类下有两百篇文章,每页二十篇,就是十个分页。蜘蛛从第一页进入后,通常会顺着下一页或数字页码往后点,但它不会无限翻。几个因素会影响它走多深。

翻页路径是否连续

如果分页只提供“下一页”,蜘蛛想找第十页就得一页页走过去;如果同时给出数字页码列表,它可以从第一页直接跳到第八页。路径越短,深处的页面越容易被发现。常见的做法是保留下一页按钮,同时在列表底部铺一排页码。

分页本身是否消耗抓取配额

分页页面对用户有价值,但内容与列表页高度重复。当分页数量很大时,它们会占掉一部分抓取时间。可以观察日志里分页 URL 的抓取频次,如果分页被抓的次数明显超过详情页,说明抓取预算花在了通道上,而不是目的地上。

新内容出现在哪一页

按时间倒序的列表,新文章永远在第一页,蜘蛛抓第一页就能拿到最新链接,这是比较理想的状态。如果排序按热度、随机或人工推荐,新内容可能沉在后面的分页里,需要额外用 Sitemap 或站内推荐位补一条通路。

几个可以落地的调整

  1. 确保分页链接是真正的 a 标签,能被静态 HTML 解析出来,而不是依赖点击事件才生成 URL。
  2. 给分页保留稳定的 URL 结构,页码参数不要每次渲染都换一种拼接方式,否则同一页会被当成多个地址。
  3. 在 Sitemap 里可以考虑收录有价值的列表页,但不必把每一个分页都塞进去,那只是重复提交同一批内容。
  4. 列表底部加明确的分页导航,让用户和蜘蛛都知道当前在第几页、大概有多少页。
  5. 定期看日志,找出哪些分页被抓得很少,再判断是路径太深,还是链接根本没输出。
分页不是要全部抓完,而是要保证有价值的内容不会因为藏在第十页而没人找到。通道够用就行,不必把每个通道都铺满。

把分页当成抓取路径的一部分来看,思路会清楚很多:用户和蜘蛛都需要一条能走到底的路,但这不代表每个转角都要设一个入口。先保证链接能被发现,再谈抓取效率,顺序反了容易白费力气。