很多站点在做 URL 发现时,把注意力放在首页和内链结构上,却忽略了列表页和分页。对大多数内容站来说,蜘蛛发现新 URL 的主要入口恰恰是这些一页一页翻过去的列表。列表页翻得够深,深处的地址才有机会进入抓取队列。
列表页是蜘蛛最省力的路标
蜘蛛进入首页后,会顺着链接一层层往下走。栏目页、标签页、文章列表页通常包含大量指向详情页的链接,是它最省力的一条发现路径。相比让它从首页逐级点进去,一个结构清晰的列表页能一次暴露几十条 URL。
所以列表页的问题一般不是“有没有链接”,而是“链接能不能被顺利走到”。如果列表只展示前几条,剩下的要靠点击、滚动或接口请求才出现,蜘蛛拿到的 HTML 里就缺少这些地址。
几种常见翻页写法的差别
数字分页
传统的 ?page=2 这类链接最直接,只要每页都有指向下一页和页码的 a 标签,蜘蛛就能逐页往后翻。分页链接不要只保留“下一页”,中间页码也留一些,方便它跳到靠后的页面。
“加载更多”按钮
如果按钮背后是真的 a 标签,只是点击后追加内容,蜘蛛仍能顺着 href 抓到后续页;如果按钮只是 JS 事件、地址栏变化由脚本控制,就需要检查渲染后的 HTML 里有没有可抓的链接。
无限滚动
无限滚动对用户友好,对蜘蛛不太友好。滚动本身不产生新的可抓地址,通常需要额外提供分页入口或独立的列表页,让深处的内空有一个可直达的 URL。
翻页太深,老内容容易沉底
一个栏目如果有一千篇内容、每页十条,最后一页就在一百页之后。蜘蛛未必会把每一页都翻到底,靠后的 URL 被发现的概率自然下降。这不是惩罚,只是路径太长、收益递减。
- 把列表做成有层级的结构,例如按时间归档、按分类细分,让旧内容有更短的入口。
- 给重要的旧内容留一些固定推荐位或专题页,避免只能靠翻页找到。
- 检查分页链接是否被 robots 或 noindex 影响,确认这些页是否允许被抓取。
让 URL 更容易被发现的几个习惯
- 列表页保持静态可抓的 HTML 链接,不要全部依赖脚本渲染。
- 分页地址稳定、可预测,避免每次生成一串随机参数。
- 详情页之间保留相关推荐或上下篇,给蜘蛛多一条进入路径。
- Sitemap 作为补充,把不容易从列表页走到的 URL 单独列出。
- 观察抓取日志里列表页和分页的访问情况,确认它确实在往后翻。
列表页和分页不是辅助页面,对很多站点来说它们就是 URL 发现的主干道。主干道堵住了,深处的地址再优质也很难被看到。
最后可以简单自测:随便挑一个较老的详情页,看看从首页出发需要经过几次跳转才能到它。如果路径要穿过好几层列表页、翻很多页才出现,那它被发现的节奏大概率就偏慢。调整列表结构、补上归档入口或者用 Sitemap 兜底,往往比反复提交 URL 更有效。