站点运营

站点运营:列表分页自查,别让蜘蛛在翻页里兜圈子

列表页是站点里链接最密集的区域,分页处理不当会让蜘蛛在无意义的翻页上消耗时间。本文从分页 URL 形式、链接可抓取性、canonical 指向、标题差异、翻页深度和加载更多几个角度,给出一份可执行的分页自查清单,帮助运营者把列表页的抓取路径理清楚。

站点运营

站点运营:列表分页自查,别让蜘蛛在翻页里兜圈子

栏目页、标签页、商品列表、搜索结果页,这些统称为列表页。它们是整站链接密度最高的地方,一个列表页可能挂着几十条内容入口,蜘蛛顺着它往下爬,效率本该很高。但实际情况常常相反:分页配置得随意,蜘蛛要么翻不到第二页,要么在几百页的翻页里绕圈,真正有内容的内页反而没被看到。

分页这件事看起来只是加个「下一页」按钮,但里面有几个容易踩的坑,值得单独做一次自查。

先确认自己的分页属于哪一种

不同实现方式,抓取表现差别很大,先对号入座:

  • 路径式/list/page/2/,每页一个独立可访问地址,对蜘蛛最友好。
  • 参数式/list?page=2,能用,但要确认参数不会被服务器直接忽略或跳回第一页。
  • 按钮式加载更多:点击后由脚本追加内容,地址栏不变。
  • 无限滚动:一直往下拉,理论上没有终点。

后两种对用户体验可能不错,但如果不做额外处理,蜘蛛往往只能拿到第一屏的那几条链接,剩下的内容相当于藏在门后。

分页自查的六个要点

1. 翻页链接要能被抓到

把「下一页」做成 a 标签、指向一个真实地址,这是最基础的要求。如果它只是一个绑定点击事件的按钮,脚本执行能力有限的抓取工具就会卡在第一页。检查方法很简单:禁用浏览器 JavaScript 后打开列表页,看看还能不能点到第二页。

2. 分页页的 canonical 指向自己

有些站点图省事,把所有分页页的 canonical 都指向列表第一页。这样做的结果是第二页以后的内容信号被集中到第一页,页面上那些内页链接的价值也被稀释。分页页是独立地址、有独立内容,canonical 应当指向自身。

3. 分页页的标题别整站一个样

如果第二页、第三页的标题和第一页一字不差,蜘蛛很难判断这些页面的区别。建议在标题或描述里带上页码或区间信息,让人和机器都能识别当前处于哪一段。这不是为了排名,而是为了让页面之间有基本区分度。

4. 翻页深度要有上限

一个条目很多的老栏目,翻到第一百页时,内容往往已经是很久以前的旧信息,用户几乎不会翻到那里,蜘蛛也没必要把时间花在那边。可以考虑只保留前若干页的分页链接,更早的内容通过归档页、时间轴或站内搜索来触达。这样既保留可发现性,又避免抓取资源被大量低价值翻页吃掉。

5. 加载更多要留一条退路

如果坚持用加载更多或无限滚动,至少补两件事:一是为每批内容准备对应的静态分页地址,并在页面上用普通链接暴露出来,常见做法是页脚放一个「查看全部」;二是保证首屏 HTML 里就有足够数量的条目链接,不要全靠脚本注入。

6. 分页页内容别太空

只有一列标题加链接、没有任何摘要的列表页,本身信息量就很低。适当补上摘要、时间、分类等字段,能让列表页承担一部分信息传递的作用,也让蜘蛛在抓取时更容易判断页面主题。

分页不是要把所有内容都翻给蜘蛛看,而是要把值得看的内容放在更容易到达的位置。数量堆得多,不等于路径理得顺。

一份可以照着做的检查清单

  1. 随机挑三个列表页,关闭 JavaScript,确认能否翻到第二页。
  2. 查看分页页的 canonical,确认指向的是当前页而不是第一页。
  3. 对比第一页和第三页的标题、描述,看看是否有区分。
  4. 检查分页链接是不是 a 标签,还是只挂了点击事件。
  5. 统计某个老栏目的最大页码,评估是否需要设一个翻页上限。
  6. 如果用加载更多,确认页面上存在一个指向静态分页的普通链接。
  7. 在服务器日志里筛选列表页地址,看蜘蛛访问的是第几页居多。

从日志里验证效果

检查完之后,隔一段时间回到服务器日志,按列表页路径做一次筛选。可以观察两点:蜘蛛对分页页的访问是否集中在靠前的几页;内页的抓取量相比调整前有没有变化。抓取频次本身会受站点权重、更新节奏影响,短期波动不必过度解读,看趋势就够了。

分页是站内链接结构的一环,它不产生内容,但决定了内容被发现的路径顺不顺。把这一步理顺,往往比多开几个新栏目更实在。