在日常搭建和优化网页结构的过程中很多网站管理员会面临一个抉择列表页究竟应该采用传统分页、无限滚动还是加载更多按钮不少团队盲目跟风市面上的所谓流行交互结果网站上线后不久搜索引擎蜘蛛抓取频次下降自然搜索流量遭遇腰斩。为了避免在技术选型上走弯路我们需要从底层的爬虫抓取机制、服务器资源消耗以及用户的实际浏览行为出发逐一拆解这三种设计的优劣。传统分页的底层抓取机制传统分页将海量内容切分为多个独立的页面通过连续的页码如1、2、3等进行组织。每一个页码都对应着一个完全独立的静态或者伪静态网络地址。谷歌蜘蛛在抓取这类页面时能够通过页面中明确的超链接顺藤摸瓜逐个访问每一个子页面。每一个页面拥有独立的网络地址便于搜索引擎建立精细的索引数据库。当某一个类目包含五千条记录、每页展示二十条时蜘蛛能够通过两百五十个独立链接完整覆盖所有内容。如果某些历史归档页面价值较低技术人员可以通过标准的机器人协议屏蔽特定页码参数从而节省服务器的抓取预算。用户在手机端或者电脑端浏览时如果想要翻到第五页必须主动点击对应的数字按钮这会增加用户的操作步骤。经统计在纯移动端设备上多达百分之七十的用户在翻到第三页时会选择关闭页面跳转率相对较高。无限滚动的设计缺陷与SEO灾难无限滚动常见于各类社交媒体的信息流。当用户向下滑动鼠标或者手指时浏览器会通过异步脚本动态加载接下来的内容并无缝拼接在当前页面的下方。这种设计虽然让用户在浏览图片和短文本时感到流畅但对搜索引擎而言却是一场灾难。谷歌等主流搜索引擎的抓取程序在默认状态下不会主动模拟人类向下滑动的物理动作。如果网页没有为每一个动态加载的区块匹配独立的网络地址蜘蛛在初始加载时只能看到第一屏的二十条内容其余底部的数千条内容对搜索引擎完全隐形。当用户通过无限滚动浏览到第一百条内容时如果误触刷新按钮浏览器会直接跳回页面最顶部用户之前积累的浏览位置瞬间丢失。随着页面不断向下延伸浏览器内存中积累的节点数量呈几何级数增长部分低配置手机会出现明显的卡顿甚至浏览器崩溃现象。频繁触发的脚本请求会给后端服务器带来巨大的瞬时并发压力导致接口响应时间从两百毫秒延长至两秒以上。加载更多按钮的折中处理方式加载更多按钮介于传统分页与无限滚动之间。页面初始阶段仅展示前二十条内容用户浏览到底部时必须点击一次按钮才会将接下来的二十条内容追加到当前页面中。设计类型搜索引擎抓取友好度移动端内存消耗用户操作成本浏览器缓存效率传统分页极高每个页码独立存在极低单页数据量小较高需精准点按页码高静态页面易缓存无限滚动极低深层内容不可见极高DOM节点持续累积极低仅需滑动屏幕低动态渲染难缓存加载更多中等需配合独立地址中等随点击次数增加中等需点击触发按钮中等部分内容可缓存该设计有效避免了无限滚动那种无休止的内存膨胀给浏览器的垃圾回收机制留出了喘息空间。用户在点击按钮时具有明确的主观意愿心理阻力小于传统分页中寻找具体数字页码的操作。如果开发团队没有为每一次点击动作生成对应的状态锚点搜索引擎依然无法索引到点击后加载出来的深层内容。必须在技术底层配合浏览器的历史记录管理接口确保每一次加载都能对应一个可被外部访问的链接。流量结构与业务场景的匹配标准不同的业务形态对列表页设计有着截然不同的底层要求。盲目照搬同行的做法往往会忽略自身的流量来源结构。依靠搜索引擎获取百分之八十以上自然流量的内容资讯类网站必须将传统分页作为首选方案。网站的知识库、产品手册、技术博客等长尾流量入口如果采用了无法被索引的动态加载会导致核心关键词排名在几个星期内出现明显下滑。纯粹依赖会员登录、内部数据看板或者独立应用客户端的系统由于不需要考虑搜索引擎的抓取收录问题可以根据交互团队的视觉喜好自由选择无限滚动。电子商务类目的商品列表如果商品总量超过十万个采用带独立路径的分页配合筛选器能够让搜索引擎蜘蛛以更高的效率抓取到每一个类目的长尾商品。架构实施过程中的技术细节在决定采用某种排版与加载方式后开发团队需要严格把控代码层面的细节以防在实际运行中出现意料之外的故障。页面中的每一个分页链接都必须采用标准的超链接标签进行包裹绝对不能将翻页动作完全绑定在客户端脚本的点击事件上。当服务器返回列表数据时响应时间应当控制在三百毫秒以内确保搜索引擎蜘蛛在抓取超时限制前能够拿到完整的超链接文本。网页的头部区域必须正确配置规范化标签指明当前聚合页面的主链接归属防止因为参数排序不同产生大量重复网页。移动端页面的排版间距需要保持充足文字字号不宜过小确保普通读者在手机屏幕上能够轻松点按到目标导航区域。
分页 SEO 传统 无限滚动 加载更多:听劝,这2种设计千万别盲目跟风
在日常搭建和优化网页结构的过程中很多网站管理员会面临一个抉择列表页究竟应该采用传统分页、无限滚动还是加载更多按钮不少团队盲目跟风市面上的所谓流行交互结果网站上线后不久搜索引擎蜘蛛抓取频次下降自然搜索流量遭遇腰斩。为了避免在技术选型上走弯路我们需要从底层的爬虫抓取机制、服务器资源消耗以及用户的实际浏览行为出发逐一拆解这三种设计的优劣。传统分页的底层抓取机制传统分页将海量内容切分为多个独立的页面通过连续的页码如1、2、3等进行组织。每一个页码都对应着一个完全独立的静态或者伪静态网络地址。谷歌蜘蛛在抓取这类页面时能够通过页面中明确的超链接顺藤摸瓜逐个访问每一个子页面。每一个页面拥有独立的网络地址便于搜索引擎建立精细的索引数据库。当某一个类目包含五千条记录、每页展示二十条时蜘蛛能够通过两百五十个独立链接完整覆盖所有内容。如果某些历史归档页面价值较低技术人员可以通过标准的机器人协议屏蔽特定页码参数从而节省服务器的抓取预算。用户在手机端或者电脑端浏览时如果想要翻到第五页必须主动点击对应的数字按钮这会增加用户的操作步骤。经统计在纯移动端设备上多达百分之七十的用户在翻到第三页时会选择关闭页面跳转率相对较高。无限滚动的设计缺陷与SEO灾难无限滚动常见于各类社交媒体的信息流。当用户向下滑动鼠标或者手指时浏览器会通过异步脚本动态加载接下来的内容并无缝拼接在当前页面的下方。这种设计虽然让用户在浏览图片和短文本时感到流畅但对搜索引擎而言却是一场灾难。谷歌等主流搜索引擎的抓取程序在默认状态下不会主动模拟人类向下滑动的物理动作。如果网页没有为每一个动态加载的区块匹配独立的网络地址蜘蛛在初始加载时只能看到第一屏的二十条内容其余底部的数千条内容对搜索引擎完全隐形。当用户通过无限滚动浏览到第一百条内容时如果误触刷新按钮浏览器会直接跳回页面最顶部用户之前积累的浏览位置瞬间丢失。随着页面不断向下延伸浏览器内存中积累的节点数量呈几何级数增长部分低配置手机会出现明显的卡顿甚至浏览器崩溃现象。频繁触发的脚本请求会给后端服务器带来巨大的瞬时并发压力导致接口响应时间从两百毫秒延长至两秒以上。加载更多按钮的折中处理方式加载更多按钮介于传统分页与无限滚动之间。页面初始阶段仅展示前二十条内容用户浏览到底部时必须点击一次按钮才会将接下来的二十条内容追加到当前页面中。设计类型搜索引擎抓取友好度移动端内存消耗用户操作成本浏览器缓存效率传统分页极高每个页码独立存在极低单页数据量小较高需精准点按页码高静态页面易缓存无限滚动极低深层内容不可见极高DOM节点持续累积极低仅需滑动屏幕低动态渲染难缓存加载更多中等需配合独立地址中等随点击次数增加中等需点击触发按钮中等部分内容可缓存该设计有效避免了无限滚动那种无休止的内存膨胀给浏览器的垃圾回收机制留出了喘息空间。用户在点击按钮时具有明确的主观意愿心理阻力小于传统分页中寻找具体数字页码的操作。如果开发团队没有为每一次点击动作生成对应的状态锚点搜索引擎依然无法索引到点击后加载出来的深层内容。必须在技术底层配合浏览器的历史记录管理接口确保每一次加载都能对应一个可被外部访问的链接。流量结构与业务场景的匹配标准不同的业务形态对列表页设计有着截然不同的底层要求。盲目照搬同行的做法往往会忽略自身的流量来源结构。依靠搜索引擎获取百分之八十以上自然流量的内容资讯类网站必须将传统分页作为首选方案。网站的知识库、产品手册、技术博客等长尾流量入口如果采用了无法被索引的动态加载会导致核心关键词排名在几个星期内出现明显下滑。纯粹依赖会员登录、内部数据看板或者独立应用客户端的系统由于不需要考虑搜索引擎的抓取收录问题可以根据交互团队的视觉喜好自由选择无限滚动。电子商务类目的商品列表如果商品总量超过十万个采用带独立路径的分页配合筛选器能够让搜索引擎蜘蛛以更高的效率抓取到每一个类目的长尾商品。架构实施过程中的技术细节在决定采用某种排版与加载方式后开发团队需要严格把控代码层面的细节以防在实际运行中出现意料之外的故障。页面中的每一个分页链接都必须采用标准的超链接标签进行包裹绝对不能将翻页动作完全绑定在客户端脚本的点击事件上。当服务器返回列表数据时响应时间应当控制在三百毫秒以内确保搜索引擎蜘蛛在抓取超时限制前能够拿到完整的超链接文本。网页的头部区域必须正确配置规范化标签指明当前聚合页面的主链接归属防止因为参数排序不同产生大量重复网页。移动端页面的排版间距需要保持充足文字字号不宜过小确保普通读者在手机屏幕上能够轻松点按到目标导航区域。