列表页、归档页、标签页通常都有分页。它们看起来只是把内容切成了几段,但在蜘蛛眼里,分页是通往旧内容的路径。如果翻页只做给访客看,蜘蛛跟不进去,后面的内容就容易被留在抓取范围之外。
分页为什么容易被忽略
常见的情况有几种:翻页按钮用 JavaScript 渲染,页面源码里没有可点击链接;分页 URL 参数杂乱,同一页出现多个地址;把所有分页的 canonical 都指向第一页;或者为了避免重复内容,干脆给分页加了 noindex。这些做法单独看都有理由,合在一起却可能让蜘蛛只抓到第一页。
翻页导航的几种写法与取舍
传统链接翻页
上一页、下一页、页码数字都用 a 标签指向独立 URL,这是最容易被抓取的形式。只要 URL 稳定、链接在源码里存在,蜘蛛就能顺着翻到后面几页。页面数量多时,不必每一页都放完整页码,保留上一页、下一页和首尾页入口即可。
无限滚动与“加载更多”
无限滚动和按钮加载更多对访客友好,但新增内容如果没有对应 URL,蜘蛛很难触发。可以保留一套普通分页地址作为补充,或者在页面源码里放入指向后续分页的链接。不要只依赖滚动事件,因为蜘蛛通常不会滚动页面。
下拉选择或表单跳转
用下拉框选择页码再跳转,属于表单操作,不是链接。蜘蛛一般不会主动提交表单,因此这类跳转对抓取帮助有限。如果必须保留,可以在旁边补一组普通的翻页链接。
URL 与规范化:别把翻页地址搞乱
分页 URL 常见的写法有两种:?page=2 这样的参数形式,以及 /page/2/ 这样的路径形式。两种都可以,关键是保持统一,不要同一个列表同时存在多套翻页规则。分页页面的 canonical 一般指向自身,而不是第一页。把所有分页都 canonical 到第一页,等于告诉搜索引擎后面几页不是独立页面,旧内容可能因此失去入口。
如果分页内容确实只是摘要和重复列表,可以考虑保留抓取但做好内容区分,比如给每页写独立的标题和描述。直接 noindex 所有分页是一种省事做法,但也会切断通往旧文章的路径,需要确认站点地图或其他内链能补上入口。
分页不是重复内容的必然来源。真正的问题是分页页之间缺少区分,以及翻页路径没有被蜘蛛发现。
抓取路径自查清单
- 翻页链接是否写在 HTML 源码里,而不是只在 JavaScript 执行后才出现。
- 每一页是否有稳定、可访问的 URL,参数或路径形式是否统一。
- 分页 canonical 是否指向自身,有没有全部指向第一页。
- robots.txt 或 noindex 有没有误伤分页地址。
- 站点地图是否包含重要的列表页和分页入口。
- 页面标题是否每页都一样,能否加入页码或范围做区分。
- 服务器日志里,分页地址的抓取频率是否明显低于第一页。
内容更新后分页怎么处理
列表页第一页通常放最新内容,随着更新,旧内容会往后移。URL 不变的情况下,蜘蛛需要重新抓取第一页和后续页面,才能发现新内容。如果站点更新频繁,可以适当提高列表页的抓取频率,但不必为了分页专门制造大量地址。重点是让翻页路径保持通畅,让蜘蛛每次来都能顺着链接往下走。
分页设计不需要复杂,稳定和可抓取比花哨更重要。把翻页链接、URL 规则和规范化处理清楚,旧内容才有机会被持续发现。