随着4G网络的普及,移动互联网也随之倔起,移动网站越来越受到重视.网页的加载速度也是用户体验中就重要的一环。百度推出的闪电算法更是要求移动端的网页必须在2秒内完全加载,这也成了整个行业的标准。同时网站的加载速度也将直接影响搜索引擎中的排名。
为什么网站打开速度很慢原因?无论是站长还企业,时不时都会遇到打开自己的官方网站很慢,浏览速度也特别慢。这速度你能忍受嘛?那提高网站的速度,浏览速度,打开的速度,有没办法呢?
网站打开速度的快与慢,直接关系到访客的用户体验度。网站被加载的速度与多个要素相关,如服务器优于劣,网络带宽大与小,页面代码繁与简等。如果受限于资金,那么通过优化网页代码来加速网站打开速度,就是很有效的方法。
一、网站的空间线路
没这个前提,就算你网站做的再好,内容再少,服务器多强,打开需要半天没的说,还有可能经常出现打不开的现象,所以,要像网站打开的快,我们就得把这个地基打好,下面楼需要建多少层才好说话。通常我们常用的有电信,网通,或双线路,三线路。无论你选了那种,都要好要快就行了。
二、网站需要全站静态化生成
就是页面的后缀是.html或.php等其它的,为什么这样说呢?你想一下,一般动态的网站,打开页面是,首先他就必须去读取数据库的资料,然后在显示到页面上,走了个弯路,并还有数据库访问的速度和数据库数据多少,数据库的大小所决定。你想不慢都难,静态页面就不同了,它不需要访问数据库,因为它在生成出来时就已通过读取数据库的资料,资料生成出一个页面来了,走的是直路,想不快都难;
三、压缩或精简Javascript代码和css代码
无论什么类型的网站,用户每次次点击网站的时候,都会加载网站的Javascript和css代码,假设这些代码冗多,势必会降低网站打开速度。把CSS样式放在头部,如果JS很多的话,把js代码放在尾部。这样做可以尽可能的先加载页面的DOM结构,然后才可以级用户体验。如果JS很多的大的话,页面都没加载完,何来用户体验之说呢!
如果有这样的问题,就要对代码进行压缩或精简。压缩方面,有大量的第三方工具如站长之家的CSS\JS压缩工具可供大家直接免费试用,经过压缩的代码,普遍能减小40%到65%。精简方面,能用一个样式控制就不用两个,思路是既能满足网站的页面布局,又是的代码量。
四、减少HTTP请求数
用户在打开一个网页的时候,后台程序响应用户所需的时间并不多,用户等待的时间主要花费在下载网页元素上了,即HTML、CSS、JavaScript、Flash、图片等,统计显示,每增加一个元素,网页载入的时间就增加25-40毫秒(取决于用户的带宽情况)。所以,想要提高网页打开速度,就要减少HTTP请求数,方法有3种:
1)、减少不必要的HTTP请求例如用CSS圆角代替圆角图片,减少图片的使用。
2)、合并文件,对于文本文件,可以直接合并内容。例如将多个JS(JavaScript的简称)文件合并成一个,将多个CSS文件合并成一个。
3)、优化缓存,对于没有变化的网页元素(如页头、页尾等),用户再次访问的时候没有必要重新下载,直接从浏览器缓存里读取就可以了。
把页面中需要用到的JavaScript和CSS样式表文件放在另外的文件夹中,这样一来在打开网站其它页面时就会缓存这些调用的文件,从而加快网站页面的加载速度。
现在的网页都有多个图片、CSS外部文件链接、Javascript外部脚本链接。所以当访问一个网页时浏览器需要多次向服务器请求这些文件。在请求和加载之间会产生不少的时间差。特别是一些网页上有多个小图片、图标按钮的网页,有多少图片,浏览器就需要请求多少将这些小文件,多将请求这些小图片文件将明显影响网页的加载速度。所以我们应该尽可能将小图片拼合一个PNG大图片上,然后通过坐标来显示图标。一次请求一个大图片比多次请求小图片速度要快不少。同样,最好将CSS和Javascript尽可能地整合到一个文件中都有助于加快网页载入速度。
五、 服务器端的缓存设置
假设用户第1次访问了你的网站,那么用户下一次再次访问你的站点,速度就会更快。这是什么原因呢?原因在于浏览器缓存。
大多数服务器,或空间已经默认设置了缓存功能,站长或者seoer要做的就是在后台设定相应文件类型以及过期时间。在此,建议为:如果是windows主机,就将图片,css和Javascript文件的缓存时间设置为30天;如果是Apache Web服务器,则使用mod_cache模块开启缓存功能。
六、优化css中的引用图片
假设一个页面需要大量的周边图片,如下图标等,如果这些图片都是单独调用,那么请求数就会加大,这就说明:cssimages过多,请求数就会增大,网站打开速度就会变慢。
如果我们将页面所需要使用的图片合并在一张图上,那么这些图片请求数就会变为1,页面速度相对就会加快。如何将需要的图片放在一张图上并在相应的位置调用呢?方法在于坐标定位。即:通过css坐标取得图片路径,标签中引用相应坐标。
如果你对前端了解,那么这些都不是大问题,如果你不懂css,那么CSS图片合并生成器类工具(百度即可)能直接提供相应内容:合并css图片,同时生成相应代码。
七、图片压缩处理
有数据显示,图片加载时间是造成网站速度的因素,将图片加载速度问题解决,页面速度问题就解决了一大半。假设网站有大量jpg等格式的图片,需要在不影响视觉的前提下,尽量对其压缩,以减少图片本身的大小。与压缩Javascript文件类似,有大量的在线工具提供相应压缩服务,有大量的图像编辑软件如美图秀秀等,都有压缩功能。
八、 服务器端开启gzip压缩功能
网页中的每个元素越小,下载所需的时间就越少,这个很好理解。gzip压缩是效率较高的一种数据压缩格式。如果开启gzip压缩,压缩率一般能达到75%左右,效果非常明显。大部分服务器如虚拟主机,VPS等都已经默认开启了这一项功能,如果没有开启,你对相应设置又不会,建议直接联系空间商,让他们解
网站打开速度的快与慢关系到用户体验的问题,关系到网站对搜索引擎传递的友好度问题,利用可实现的手段加快网站加载速度,显得不可或缺。在提升网页打开速度经常被忽视的一个问题是响应。对于用户来说,每次的操作,不管返回结果是慢,还是快,都要及时予以响应,最典型的例子就是:当用户点击打开一张图片时,是否有百分比数字显示的进度条,就是一个典型的响应设计。
九、使用存储过程
在运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。这种预编译的sql语句就可以直接执行而节省了很大一部分查询的时间。
十、适当的使用AJAX
现在的Ajax好像有点被神话了,好像网页只要Ajax了,那么就不存在效率问题了。其实这是一种误解。拙劣的使用Ajax不会让你的网页效率更高,反而会降低你的网页效率。Ajax的确是个好东西,但是请不要过分的神话它。使用Ajax的时候也要考虑上面的那些准则。
十一、配置网站的实体标签:
这个Etag不是给用户用的,而是给浏览器缓存用的。Etag是服务器告诉浏览器缓存,缓存中的内容是否已经发生变化的一种机制。通过Etag,浏览器就可以知道现在的缓存中的内容是不是最新的,需不需要重新从服务器上重新下载。
十二、使用CDN技术
我们上网下载东西的时候经常会看见什么“南方服务器”、“北方服务器”的就是用到了CDN技术来提高下载速度与稳定性。
CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
十三、图片使用height和width属性
每个图片的height和width属性可以让浏览器在加载图片之前就知道图片的长和宽,并预留出指定的长宽待图片加载后显示。如果没有这两个属性,浏览器还需要在读取图片成功后再处理一次页面布局样式,这无疑减慢了网页加载速度。所以在固定图片大小的情况下最好都使用上长和宽属性。
十四、目录地址后加上斜杠(/)
如访客点击访问这样一个目录地址:a.abc.cn/aa,去打开这个目录下的index.html文档。当服务器收到请求后它需要消耗一些时间来分析这是一个文件还是一个目录。但是如果我们在最后加上一个斜杠(/),服务器就知道你是在访问一个目录地址,然后就直接加载默认文档index.html或index.PHP就行了。这样服务器就不用花时间来分析这个地址,也起到了一定加速的作用