如何提升网站速度

很多网站站长和小型创业者都购买英国的虚拟主机来做英国外贸网站,网站速度是不可忽视的重要环节,过慢的速度不但影响用户体验,也会让人对您公司的服务质量有所质疑。对于个人运营以及小型企业运营的网站,与其投入更多资金在独立主机上,不如通过优化网站的代码和功能来取得更加优质的速度。

英国企业网站访问慢怎么办?如何提升外贸网站的访问速度?网店访问速度提升问题

鱼眼设计提供一些可行的方法,在您运营您的网站时,以下办法可以帮您有效提高网站速度。

服务器端:

1。充分利用浏览器缓存(Leverage browser caching)

很多人都不知道浏览器会缓存网站的资源,当我们用户访问站点时,就会通过服务器端慢慢被加载到客户端中,换句话说就是会导致网站打开速度延迟了,尤其是一些JPEG图像,常常会加载网站打开的时间,如果我们想这些内容能从浏览器的缓存中获取,那么我们可以利用利用浏览器的高速缓存存储资源,以利于下次用户访问同一个站点时加载速度变得快些。

2。启用保持活动(Enable Keep-Alive)

坚持活动信号发送在预定的时间间隔内,如果没有收到答复,链接将会通过另一条路径路由,直到收到链接恢复为止,http事实上坚持活动允许tcp连接生存,有助于减少后续请求延迟,所以说尽量联系您的托管服务商,并告诉你所要的需求,因为大多数的托管公司对此功能是禁用的。

3。启用Gzip压缩(Enable gzip compression)

启用gzip压缩,主要是减少http响应的作用,并有助于减少响应时间,目前减少页面重量的最简单方式,就是用gzip压缩,它不仅能减低72%的相应时间,更重要的是能够加载页面打开的速度。

4。重定向缓存登陆页面(Make landing page redirects cacheable)

重定向缓存登陆页面,主要是为了将用户重定向一个不同的URL中,当使用302重定向时,如果与缓存生存时间为同一天,那么这样就可以为下一个用户加载了网站,这种技术可以称为用户移动设备的访问者重定向技术。

5. 使用CND网络()

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

代码部分

1. 尽量减少重定向(Minimize redirects)

尽管网站有N多的理由需要用到重定向(redirect),但是条件允许时,还是尽可能避免。重定向都会导致额外HTTP请求应答的往返传输时间(RTT),也在延长用户的等待时间。因此,除非不得已,尽量不要使用重定向,或者尝试其它替代的解决方案。

补充一点,站在SEO的角度来看,重定向URL对于目标页面的权重造成损失,使用不恰当时会有副作用。

有几点是需要注意的:

尽量不要在页面里链接一个会发生重定向的URL
不要发生多次重定向,比如A redirect to B and re-redirect to C
不要重定向到打不开的页面

2. 将查询字符串从静态资源中删除 (Remove query strings from static resources)

就算设置了 Cache-Control: public 来指定响应能由客户端和代理进行缓存,大部分的代理服务器不会把带”?”号的URL进行缓存。

因此,最好是静态资源中避免查询字符串(把问号去掉),或用encode过的参数来替换原来的,来让代理来缓存这些资源,节省每次重新解析的时间。

更多参考信息可看:优化代理缓存。

3. 指定网站字符编码 (Specify a character set)

在header部分声明网站编码会减少浏览器解析的时间。这只需要简单的一行代码就可以实现:

4. 缩减你的代码 ( Minify your codes)

删除HTML注释,CDATA部分,空格和空元素会降低您的页面大小,降低网络延迟,加快加载时间。

您可以使用简单的在线工具,如果您使用的是WordPress的,Autoptimize优化和压缩你的代码和支持CDN。
压缩HTML就是减少文件体积提高下载速度,特别是压缩内联在HTML内部的JavaScript和CSS代码,能使得页面体积大幅精简,使得浏览器在解析和执行时加速效果明显。

除了JS和CSS调用外,减少HTML代码有几种主要方式:

  • 一是删掉很多的空格和空行,可以快速判断这个比率,在页面上打开查看源文件并用记事本另存,看下文件体积。再手动删掉空白,保存就可以看到节省的空间。
  • 二是删掉注释,或动态程序产生的一些垃圾代码。
  • 三是最有效的,就是用DIV+CSS取代老式的Table布局。

5. 减少死链(Avoid bad requests)

网站常常由于各种原因出现很多404/410死链链接。这些造成资源浪费的服务器请求。修复损坏的链接(要特别注意图像)。使用免费的在线破碎的链接检查器或使用WordPress的链接检查器。

6.让网站中的资源由同一地址提供(Serve resources from a consistent URL)
把网站中不同页面,不同子域名中的相同的资源用统一的链接表示,减少服务器负担。
从唯一的URL来调用资源是非常重要的,可以消除重复下载造成的额外往返消耗。在网页中经常重复用到同一资源,比如某图片文件,在多个网页中更经常使用的是同样的css和js文件。

每个资源文件都只应该有一个唯一的URL与之对应,这样做的好处是,可以让浏览器避免重复加载同样的内容,而缩减整体的加载时间。另外,大部分的浏览器不管资源是否可缓存,也不会在同一session里对同样的URL发起HTTP请求,因此可以节约往返时间。特别重要的是,同一资源不要通过不同的主机名来调用,从而避免DNS lookup的时间。

对于相对URL和绝对URL来说,如果主机名默认唯一,那就算同一URL。比如abc.com/images/1.jpg 和/images/1.jpg是同一URL。但要注意避免子域名sub.abc.com下的页面用到/images/1.jpg这种情况,很可能不是初衷abc.com/images/1.jpg。

6. 减少DNS查询(Minimize DNS lookups)

尽量减少从不同独立主机请求的DNS解析次数,从而减少RTT延迟时间。当浏览器与Web服务器建立连接时,它需要进行DNS解析,将域名解析为IP地址。由于DNS解析结果可以缓存在客户端的浏览器和系统里,如果记录有效的话就可以减少重新请求时间。然而,一旦客户端需要执行DNS lookup时,等待时间将会取决于域名服务器的有效响应的速度。虽然所有的ISP的DNS服务器都能缓存域名和IP地址映射表,但如果缓存的DNS记录过期了而需要更新,则可能需要通过遍历多个DNS节点,有时候需要通过全球范围内来找到可信任的域名服务器。

一旦域名服务器工作繁忙,请求解析时就需要排队,则进一步延迟等待时间。换句话说,虽然域名解析需要1个RTT的时间来完成,但实际时间经常取决于DNS的排队等待和解析时间。因此,减少DNS的查询次数非常重要,页面加载时就尽量避免额外耗时。

为了减少DNS查询次数,最好的解决方法就是在页面中减少不同的域名请求的机会,特别是在页面加载之初就因域名查询而导致的延迟。

然而,在通过不同主机并行下载资源这篇文章中提到过,建议通过多个不同的主机来并行下载页面资源文件,从而加快页面整体速度,这里又不建议采用多个域名(主机)来导致潜在的域名解析时间。那么到底多少个合适呢?折中的方案是,只要不超过5个以上的主机,一般就不会产生明显的影响。

当然,一般网站可能还需要考虑下其它因素。比如,网站网页里同时安装了多种监测,如Google Analytics, 百度统计等。还用了N多的广告代码,这些外部调用都会增加域名请求,另对页面加载时间造成影响。
建议:整合网站中常用的小图片在一张大图上(CSS Sprite)。利用CSS Sprites能很好地减少了网页的http请求,从而大大的提高了页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因。

7. 确定图片尺寸+优化图片

为页面中所有图片指定宽度和高度可以消除不必要的reflows和重新绘制页面【repaints】,使页面渲染速度更快。

当浏览器加载页面的HTML代码时,有时候需要在图片下载完成前就对页面布局进行定位。如果HTML里的图片没有指定尺寸(宽和高),或者代码描述的尺寸与实际图片的尺寸不符时,浏览器则要在图片下载完成后再“回溯”该图片并重新显示(消耗额外时间)。所以PageSpeed提倡为每个图片都指定大小。

所以,最好为页面里的每一张图片都指定尺寸,不管是在页面HTML里的[img alt=”” /]标签,还是在CSS里。

比如HTML代码为[img src=”xxx.jpg” alt=”” width=”400″ height=”300″]

建议:指定与图片本身相一致的尺寸

不要使用非图片原始尺寸来缩放图片。如果一个图片文件实际上的大小是60×60像素,不要在HTML或CSS里设置尺寸为30×30像素。如果图片需要较小的尺寸,在图像编辑软件中,设置成相一致的尺寸。
一定要指定图片或它的块级父元素的尺寸
一定要设置[img alt=”” /]元素本身,或它的块级父元素的尺寸。如果父元素不是块级元素,尺寸将被忽略。不要在一个非最近父元素的祖先元素上设置尺寸。

8. 将CSS放在页头,将JS放在页脚(Put CSS at the top and JS at the bottom)

文档中的页面头部的禁止把stylelsheets的渐进式渲染,所以浏览器会阻止渲染,以避免重绘页面元素。在大多数情况下,在页面加载完成前会是完全空白。根据W3标准,把你的JavaScript代码在页面底部也可以提升网站其他部分的加载速度(最后加载JS文件)。

总的来说,一个好的网站也需要一个好的运行速度,无论您是做英国外贸还是建立一个英国企业网站,您的网站速度和优化都是你业务运营的一个重要指标,不可忽视。