今天,我们来谈谈SEO页面的性能优化。我们找到了一些信息,总结了几点。如果你这样做,你可以加快你的页面。
百度搜索对用户行为的研究表明,页面第一个屏幕的加载时间在1秒内,将给用户带来流畅快速的快速体验。最近,我们发现一些网站移动终端页面的第一个屏幕打开速度超过1秒。为了方便开发者优化页面,技术特别总结了问题的主要原因和优化方法供您参考。
慢速的主要原因:
-
关键子资源消耗严重
-
页面上有额外的跳转
-
主文档耗时严重
关键子资源消耗严重
页面打开速度优化建议:
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构建,进而大大延迟首屏渲染时间。如果脚本可以使用defer/async 属性,也就是说,它不是第一屏渲染所必需的,可以考虑在第一屏渲染后异步加载脚本。
加载JS的延迟分析
为了最大限度地减少核心渲染网页的工作量,建议开发人员延迟所有不必要的JS脚本,这些脚本与构建第一个屏幕渲染无关,并优先考虑body的封闭标签。
避免长时间运行的JS
长时间运行的JS会堵塞结构 DOM、CSSOM和网页渲染,因此应延迟执行任何与第一个屏幕渲染无关的初始逻辑和功能。如果需要运行较长的初始序列,请考虑将其分为几个阶段,以便浏览内核可以间隔处理其他渲染任务。
4、CSSSS优化阻塞渲染
默认情况下,关键CSS子资源会阻碍核心渲染。请务必简化网页的CSS资源,并尽快下载CSS。关键CSS子资源优先考虑head标签,以缩短第一个屏幕渲染时间。
优化CSS的使用方法
CSS是构建渲染树的必要元素。在第一次构建网页时,确保将任何不必要的CSS资源标记为非关键资源(如print),并尽可能减少关键CSS子资源的数量。
将关键CSS放在文档head标签上
尽快在HTML文档中指定所有必要的关键CSS资源,以便在浏览内核时尽快找到link标记并发出CSS请求下载。
避免使用CSS import指令
CSSS可以使用一个样式表 import指令从另一个样式表文件导入规则。但是,应避免使用这些指令,因为它们会在关键路径中增加往返次数,从而影响第一个屏幕的渲染性能。
主文档耗时
页面打开速度优化建议:
优化和压缩资源,减少总下载文件的大小
优化和压缩资源,最大限度地减少总下载,以提高网页加载速度。开发人员可以考虑通过简化编码来优化主文档的大小,同时使用chunk编码,服务器分为chunk输出,并通过GZIP来压缩主文档资源。
页面上有额外的跳转
页面打开速度优化建议:
删除页面的额外跳转
在用户点击打开页面的过程中,一些网站可能会通过额外的跳转向用户显示最终页面。根据研究数据,单次额外跳转将退化约600毫秒的性能,这可能会增加600毫秒的延迟体验,因此建议开发人员删除额外的跳转。