列表页的翻页是站内 URL 增长最快的一段,也是最容易断掉的一段发现路径。商品列表、文章归档、标签聚合,只要支持翻页,就可能生成几十到上千个 URL。这些页面能不能被搜索蜘蛛看到,取决于翻页链接是否真的写在 HTML 里,以及翻到深处之后还有没有入口留着。
先确认翻页链接在源码里
分页控件的实现方式不同,对 URL 发现的影响完全不一样。
- 用 a 标签写死 href,指向 /list?page=2 这类真实地址,搜索蜘蛛顺着点就能发现,这是最稳的一种。
- 用 button 或 span 绑定点击事件,跳转靠脚本执行,初始源码里看不到下一页地址,发现就只能依赖渲染。
- 下拉触底自动加载,地址栏可能变化也可能不变,不变的那种基本等于不给入口。
核对方法很直接:打开页面源码,搜索第二页、第三页的 URL 片段。搜不到,就说明这些页面在初始 HTML 里没有入口,需要改成分页区同时输出可点击的链接。
三种翻页形态各自的取舍
页码链接
页码链接把每一页做成独立 URL,发现路径清晰,也方便用户直接跳到某一页,代价是 URL 数量随页数线性增长。通常保留前若干页的页码就够了,后面的页用「下一页」串起来,避免一次性铺开几百个页码。
加载更多与无限滚动
无限滚动本身不产生可被发现的 URL,它只是把内容堆在同一页里。如果确实需要这种交互,可以保留一套分页 URL 作为骨架,滚动只是在其上做前端增强;滚动时地址栏或历史记录有变化,搜索蜘蛛仍能从分页链接进入。
查看全部
「查看全部」把多页内容合成一个页面,对发现友好,但要留意页面体积和加载时间。列表很长时,可以只对条数较少的分类提供全部页,条数多的仍然走分页。
深度分页要不要继续放开
第 20 页之后的列表页,用户点击概率很低,被搜索蜘蛛抓取的机会也有限。如果这些页面内容重复度高、筛选参数杂乱,继续放开只会分散抓取资源。处理方式不是简单删掉,而是明确取舍:保留前几页的链接入口,深处的页面通过分类、时间归档、标签等更细的入口重新组织,让真正有价值的 URL 有更短的路径。
还要注意一点:翻页链接如果用相对路径,或者带一大堆追踪参数,会派生出一批内容相同的 URL 变体。翻页参数尽量收敛成一个维度,别让排序、来源、会话 ID 混进链接里。
把分页纳入 URL 发现核对的顺序
- 抽查几个主要列表页,看源码里有没有第二页的链接。
- 检查翻页参数是否统一,是否存在多个参数组合指向同一页内容。
- 确认深处页码是否仍能从前一页逐级点进去,中间有没有断链。
- 看 Sitemap 里收了哪些翻页 URL,是否需要按规则筛掉低价值的部分。
- 用服务器日志核对翻页 URL 的实际抓取情况,重点看是否只有第一页被反复访问。
翻页不是越多越好。判断标准是:这一页有没有独立价值,用户和搜索蜘蛛值不值得为它多走一步。
分页的处理没有统一答案,但方向一致——让每一层列表都有清晰、可抓取的入口,同时不让低价值页面的数量失控。定期抽查翻页链接的源码形态和日志记录,比事后修补省力得多。