页面加载速度是用户体验的重要一环,想要做好SEO除了内容之外,用户体验可以说是仅次于它。对于SEO需要页面做到首屏加载时间再1.5秒以内,总加载时间控制到3秒以内。
之前潘某人SEO也讲到过如何提升页面的加载速度,但是今天突然发现一直以来忽略了很重要的一点,之前的优化基本上都是从站点的角度的出发,提升程序性能,增加配置,压缩资源等。
被忽视的客户端网络质量
为什么会突然想到这个问题呢?和往常下班一样,在地铁上正在浏览令我愉快的内容的时候。突然进入一段网络信号不太稳定的区域,瞬间卡到快乐消失。
可能就是所谓的木桶理论吧,网页加载速度不止是取决于服务器的响应速度,还与客户端有关,如果用户的网络环境很糟糕的时候,服务端优化的不管多牛,都得拉起来。
所以要要做好页面打开速度方面的优化,除了服务端的优化,更要注意下被我们忽略的服务端的因素。虽然说现在是5G时代了,但是移动设备的网络环境是非常复杂的,还是有很高概率遇到网络环境不佳的时候。
网络质量问题的重要性
在潘某人SEO认为这是一个重要的点,虽然这个问题不会出现在搜索引擎抓取内容的时候,毕竟蜘蛛的网络还是很给力的。客户端的网络质量不佳更多的是用户体验层面的影响,间接对SEO优化产生影响,并且由于这个问题出现的概率并不会很高,也许对于SEO层面的影响基本没有。
但是我们SEO最终的目的是转化,而用户体验潘某人SEO认为是一个重要到不可忽视的,尤其是页面打开速度,直接是决定性,现在的人最缺的就是耐心,除非是不可或缺,否则没有愿意浪费时间等待,基本上几秒没有加载出来内容,基本就跟你拜拜了。
解决方案
这里我们不考虑服务端的因素,只考虑客户端的网络质量问题,如何来进一步优化网页的打开速度,做好服务端的优化是最基础的否则也白搭。解决思路有两个,预加载和内容资源适配。
预加载
对于站点的一些基础资源和下级页面使用到的资源进行预加载,预加载的实现可以参照潘某人讲到的《低成本让网站资源加载速度提升的方法》。
但是如果用户是第一次打开页面这种方法就没啥用了。如果用户的网络环境十分糟糕,很难有空闲去进行预加载,所以这种方法的局限性比较大,但是可以用于下面方法的辅助。
内容资源适配
这个问题的解决没有多大的空间,所以逻辑也很简单。首先要判断客户端的网络质量,然后根据用户的网络环境执行不同的加载方案。
通过浏览器的 Network Information API 接口中提供的Navigator对象的connection属性来获取网络状态,使用方法可以参照《如何监听客户端的网络速度及质量》。基本的原理就是通过客户端获取网络状态,然后根据自己站点的情况,执行不通的资源加载方案。
对于没必要的资源暂停加载,尤其是图片视频等比较大的资源或者降低图片的分辨率尤其是对于图片资源比较多的站点。
只能退而求其次,关键时刻不懂的取舍只能失去更多。把关键内容完整的展示出来远远重要于现实效果,最起码留住了用户,那么就有转化的机会。
如果结合上述两种方法,潘某人SEO认为可以很好的提升客户端网络质量较差情况下的用户体验。思路很简单,实现起来还是有较大的难度的,有能实现的高手记得让我抄一下作业!