美文网首页视觉艺术
网站页面性能优化指南

网站页面性能优化指南

作者: 菜鸟梦在路上 | 来源:发表于2020-02-24 14:06 被阅读0次

为了更好地提升用户的浏览体验,《移动落地页体验白皮书4.0》中规定:页面的首屏内容应在1.5秒内加载完成。  

百度搜索对用户行为的研究表明,页面首屏的加载时间在1.5秒以内的页面,会带给用户流畅快捷的极速体验。近期我们发现有部分站点移动端页面首屏打开速度多于1.5秒,为了方便开发者对页面进行优化,技术特地总结了问题的主要原因以及优化方法给大家进行参考。  

慢速主要原因:  

1、关键子资源耗时较严重;  

2、页面存在额外跳转;  

3、主文档耗时较为严重  

慢速原因一:关键子资源耗时较严重  

页面打开速度优化建议:  

1、清除不必要的资源,避免进行不必要的下载  

站点应当定期审核网页上的资源是否是必需的,并评估该资源的价值与性能影响。网页中往往会包含一些冗余资源,影响网页性能的同时还无法给网页带来价值,可以考虑清除不必要的资源,避免不必要的资源下载带来性能上的消耗。  

清除阻塞渲染的JS和CSS  

如果要以最快速度完成首屏渲染,需要最大限度地减少网页上关键JS/CSS子资源的数量,并尽可能清除这些资源,最大限度地减少下载量。  

2、使用代码拆分减少JS负载  

有的网站可能将所有的JS组合成一个大型的组合包,以这种方式加载的话页面性能会受到影响。长时间运行的JS可能会阻塞主线程,这时可以考虑使用requestAnimationFrame()或requestIdleCallback()来进行优化。  

根据不同的业务需求,开发者可以将JS中首屏的关键代码拆分出来,这样可以提前加载执行首屏中必需的少量JS代码,从而缩短页面的加载时间,其余的可以按需加载或者置后加载,同时建议开发者将JS优先放在首屏渲染完成之后,放在body闭标签前面。  

3、优化阻塞渲染的JS  

JS允许我们修改网页的同时也会阻止DOM构建,阻塞网页渲染。默认情况下,JS的执行会阻塞内核渲染:无论我们使用外链还是内嵌JS,当遇到文档中的JS脚本时,它将暂停DOM构建,将控制权移交给JS,脚本执行完毕后再继续构建DOM,处理剩余的HTML文档。如果是外链JS文件,浏览内核需停下来,等待从磁盘、缓存或远程服务器中获取JS脚本,这就可能给关键渲染路径增加数十到数百毫秒的延迟。  

为了实现最佳性能,可以让页面的JS进行异步执行,建议优先考虑使用defer的方式,其次是async方式,并去除关键渲染路径中任何不必要的JS。  

优化JS的使用方式,优先使用异步JS资源  

默认情况下,JS资源会阻塞解析,强制等待CSSOM并暂停DOM的构建,继而大大延迟首屏渲染的时间。异步JS资源则不会阻塞文档解析器,如果脚本可以使用defer/async属性,也就意味着它并非是首屏渲染所必需的,可以考虑在首屏渲染后异步加载脚本。  

延迟解析加载JS  

为了最大限度减少内核渲染网页的工作量,建议开发者延迟所有非必需的、对构建首屏渲染无关紧要的JS脚本,将JS优先放在body闭标签处。  

避免长时间运行的JS  

运行时间长的JS会阻塞构建DOM、CSSOM以及网页的渲染,所以任何对首屏渲染无关紧要的初始化逻辑和功能都应延后执行。如果需要运行较长的初始化序列,请考虑将它们拆分为若干个阶段,以便浏览内核可以间隔处理其它的渲染任务。  

4、优化阻塞渲染的CSS  

默认情况下,关键CSS子资源是会阻塞内核渲染的,请务必精简网页的CSS资源,同时需要将CSS尽快地完成下载,关键CSS子资源优先放在head标签内,以便缩短首屏渲染的时间。  

优化CSS的使用方式  

CSS是构建渲染树的必备元素,首次构建网页时,确保将任何非必需的CSS资源都标记为非关键资源(比如print),并应确保尽可能减少关键CSS子资源的数量。  

将关键CSS放在文档head标签内  

尽早在HTML文档内指定所有必需的关键CSS资源,以便浏览内核尽早发现link标记并发出CSS请求下载。  

避免使用CSSimport指令  

一个样式表可以使用CSSimport指令从另一个样式表文件导入规则。不过应避免使用这些指令,因为它们会在关键路径中增加往返次数从而影响首屏渲染性能。  

慢速原因二:主文档耗时  

页面打开速度优化建议:  

优化和压缩资源,减小总下载文件大小  

优化和压缩资源来最大限度地减小总下载大小,来提高网页加载速度。开发者可以考虑通过简化编码来优化主文档大小,同时可以采用chunk编码,服务器分chunk输出,以及通过GZIP来压缩主文档资源。  

慢速原因三:页面存在额外跳转  

页面打开速度优化建议:  

去除页面的额外跳转  

从用户点击到打开页面的过程中,有些网站内可能经过额外跳转才会将最终的页面展现给用户。根据调研数据,单次额外跳转会使性能退化约600毫秒,这就可能给关键渲染路径增加600毫秒的延迟体验,所以建议开发者去除额外的跳转。

转载于百度站长平台

相关文章

  • 网站页面性能优化指南

    为了更好地提升用户的浏览体验,《移动落地页体验白皮书4.0》中规定:页面的首屏内容应在1.5秒内加载完成。 百度搜...

  • 前端工程系列(二)

    前端工程与性能优化 首先,我们把雅虎14条优化原则,《高性能网站建设指南》以及《高性能网站建设进阶指南》中提到的优...

  • Web前端性能优化进阶——完结篇

    前言 在之前的文章 如何优化网站性能,提高页面加载速度 中,我们简单介绍了网站性能优化的重要性以及几种网站性能优化...

  • web页面性能优化以及SEO

    web页面性能优化能够提高页面加载速度,提升用户体验度,基于三秒法则,每个网站都极力优化页面性能。 SEO(Sea...

  • Awesome Extra

    性能优化 性能优化模式 常见性能优化策略的总结 Spark 性能优化指南——基础篇 Spark 性能优化指南——高...

  • 前端性能和优化

    简介 关于前端性能和优化我们有雅虎14条性能优化原则,还有两本很经典的性能优化指导书:《高性能网站建设指南》、《高...

  • pc端的性能优化

    pc端性能优化 一、页面优化的常用工具 网站慢的因素很多 二、网站优化 1、页面优化 2、服务器端优化 3、主观优...

  • spark性能调优

    [Spark性能优化指南——基础篇][Spark性能优化指南——高级篇]

  • 大型网站技术架构-瞬时响应高性能架构-网站性能测试

    1、不同视角下的网站性能 1)用户视角的网站性能: 使用前端架构优化手段:优化页面HTML样式、利用浏览器端的并发...

  • WordPress 全方位优化指南(下)

    上一篇 WordPress 全方位性能优化指南(上)主要从网站性能指标、优化缓存、MySQL 等方面给大家介绍了如...

网友评论

    本文标题:网站页面性能优化指南

    本文链接:https://www.haomeiwen.com/subject/hwcvqhtx.html