咱们知道用户都喜欢浏览速度快的网站,不喜欢花费太多的时间等待网页的打开,等待的时间过长,会让用户失去耐心,甚至烦躁时会直接关闭网页,这样就会失去一些潜在的客户了。css
其次,从SEO的角度来讲,关键字的排名与网页的打开速度也有关系,Google的Web搜索团队曾在官方博客上宣布,将把网站的速度做为PR(PageRank)算法的一个因子,在全部因素都相等的状况下,速度快的网站将排在速度慢的网站前面。同时指出不少网站都没有利用最佳的页面优化技术,页面加载速度都存在很大缺陷。那么,咱们该如何补救并提升网站页面的加载速度呢?html
一、合并Js文件和CSS前端
将JS代码和CSS样式分别合并到一个共享的文件,这样不只能简化代码,并且在执行JS文件的时候,若是JS文件比较多,就须要进行屡次“Get”请求,延长加载速度,将JS文件合并在一块儿后,天然就减小了Get请求次数,提升了加载速度(具体可查看马海祥博客的《提升网站速度的6种网站前端优化方法》相关介绍)。web
用户打开用css设计的网页,css通常被下载用户本地计算机,不像html元素表现标签,每次网站的网页都要调用一次,使用css,只须要一次就行了!另外,css在某些地方能够替代图片,这就是为何如今提倡div+css的缘由!ajax
二、Sprites图片技术算法
Spriting是一种网页图片应用处理方式,它是将一个页面涉及到的全部零星图片都包含到一张大图中去,而后利用CSS技术展示出来。这样一来,当访问该页面时,载入的图片就不会像之前那样一幅一幅地慢慢显示出来了,能够减小了整个网页的图片大小,而且利用CSSSprites能很好地减小网页的http请求,从而大大的提升页面的性能。浏览器
CSSSprites在国内不少人叫css精灵,很早就有了,在不少大型网站都有用到,特别是一些全部页面都存在的图标用得比较多,很好的提高加载速度。性能优化
三、压缩文本和图片服务器
压缩技术如gzip能够有效减小页面加载的时间。包括HTML,XML,JSON(JavaScript对象符号),JavaScript和CSS等,压缩率均可以在大小70%左右。网络
通常文本压缩用得比较多,一般都是直接在空间开启就行,而图片的压缩就比较随意,不少都是直接上传,其实还有很大的压缩空间。
四、延迟显示可见区域外的内容
为了确保用户能够更快地看见可见区域的网页能够延迟加载或展示可见区域外的内容,为了不页面变形,可使用占位符标签制定正确的高度和宽度。
好比:WP的jQueryImage LazyLoad插件就能够在用户停留在第一屏的时候,不加载任何第一屏如下的图片信息,只有当用户把鼠标往下滚动的时候,这些图片才开始加载。这样很明显提高可见区域的加载速度,提升用户体验。
五、确保功能图片优先加载
网站主要考虑可用性的重要性,一个功能按钮要提早加载出来,用户进入下载页,一个只须要8s时间的下载花了5s在等待、寻找下载按钮图片,谁能忍受(对于其解决方法,你们可经过马海祥博客的《实现网页图片预加载效果的3种技术方法》相关介绍来详细的了解)?
还有个问题须要注意的是:一些人常常忘记写图片的长和宽了,这些标记是告诉浏览器打开图片以前的尺寸,若是能提早设置好图片的height和width,浏览器加载网页时就会保留一块区域,加快整个网页显示速度。
六、从新布置Call-to-Action按钮
其实这个和上面一条是差很少的,都是从用户体验速度着手,跳过了网页的总体加载速度。速度没变,只是让一些行为按钮提早,Call-to-Action按钮通常习惯设计在页面底部,这样的习惯对于用户来讲并不老是好的,购买用户须要等到最下面加载出来才能点击下一步操做。
能够调整CTA按钮的位置或使用滑动的图片按钮,不少大型购物网站的加入购物车就是这种类型。
七、图片格式优化
不恰当的图像格式是一种极为常见的减慢加载速度的罪魁祸首。正确的图片格式可让图片缩小数倍,若是保存为最佳格式,能够节省大量带宽,减小处理时间时间,大大加快页面加载速度,这是一种很常见的作法。
八、使用Progressive JPEGs
Progressive JPEGs图片是JPEG格式的一个特殊变种,名为“高级JPEG”。在建立高级JPEG文件时,数据是这样安排的:在装入图像时,开始只显示一个模糊的图像,随着数据的装入,图像逐步变得清晰,它至关于交织的GIF格式的图片。
高级JPEG主要是考虑到使用调制解调器的慢速网络而设计的,快速网络的使用者一般不会体会到它和正常JPEG格式图片的区别。对于网速比较慢的用户,这无疑有很好的体验。
九、精简代码
这个能够说是最直接的一个方法,也是用得比较多的,对网页代码进行瘦身,删除没必要要的沉冗代码,好比没必要要的空格、换行符、注释等,包括JS代码中的无用代码也须要清除。
在同等网络环境下,页面越小天然下载时间越快,因此在合理范围内减小页面大小是能够优化下载速度的。而页面大小主要是由HTML的代码量来决定的(固然也可能包括一些css或者js的代码,不过主体仍是HTML代码),要想减少页面的大小,就得根据W3C的标准来优化HTML代码结构,去除一些垃圾无心义的代码。
其中对于注释代码的清除可能有些人存在误区,甚至有的在里面堆砌关键词。
十、延迟加载和执行非必要脚本
网页中有不少脚本是在页面彻底加载完前都不须要执行的,能够延迟加载和执行非必要脚本。这些脚本能够在onload事件以后执行,避免对网页上重要内容的呈现形成影响。这些脚本多是你本身网页的甲苯,每每更多的是一些第三方脚本,这样的有不少,好比:评论、广告、智能推荐、百度云图、分享和点击次数统计等等(具体可查看马海祥博客的《如何解决点击次数影响网页加载速度的问题》所提供的解决方法),这些彻底能够等主体内容加载完后再执行。
十一、使用AJAX
对于网页的打开,实际上是很复杂的过程。从网页的申请打开,到web服务器的响应,编译等动做,而后发回给浏览器,才显示咱们面前的文字和图片,多媒体文件等。因此我要尽可能减小响应次数,如今ajax在这方面就运用的不错。固然,一个静态页面就例外了,静态页面多注意图片大小和网页设计上就好了。
AJAX即“Asynchronous Javascript +XML“,是指一种建立交互式网页应用的网页开发技术。经过在后台与服务器进行少许数据交换,AJAX可使网页实现异步更新。
这意味着能够在不从新加载整个网页的状况下,对网页的某部分进行更新。传统的网页(不使用AJAX)若是须要更新内容,必须重载整个网页面。
十二、自动化的页面性能优化
自动化的页面性能优化也就是借助工具了,网站提速工具备不少,相信你们在网上也看到了不少,具体的效果也很难判定,因此这里也就很少说了。