7个方法从技术上提升网站的性能,加快加载速度

尽可能的减少HTTP的请求数;使用CDN(内容分发网络);添加Expire/Cache-Control头;Gzip压缩;将css放在页面最上面;将script放在页面最下面

7个方法从技术上提升网站的性能,加快加载速度

从我开始知道 SEO 这几年起,基本上所有的 SEO 活动都是基于前端的,从header 到 body,从小标签到 CSS,从链接到关键词密度;初期牛人们诊断一个网站 SEO 的标准也是从前端页面着手,不过的确也是,从排名算法前端的代码的确占了大部分的比例,但后端的服务器速度优化,也开始成为一个越来越重要的因素,特别是流言四起的 Google 将会把网站速度作为算法的一部分。

当然,服务器那种事不该是一个SEOer 或者 SEMer应该去精通的东西,其实只要了解并掌握其规律就可以了(推荐另外一片文章:大型网站架构演变和知识体系);但依然要熟悉网站系统或者 CMS 的加速手段,正如国平在《怎样形成一套非常科学系统的SEO方法 》中分析的

什么措施能影响网页加载速度呢? 网络环境、服务器硬件、CMS本身都能影响网页加载速度。优化其中的任何一项,都能提升网页加载速度。那马上又可以得出:网络环境影响SEO流量、服务器硬件影响SEO流量、CMS本身的速度影响SEO流量。

影响速度的因素有很多,这里做一个汇总(不包括硬件)

本文内容参考Yahoo:Best Practices for Speeding Up Your Web Site 和 高性能网页开发的14条军规

一、尽可能的减少 HTTP 的请求数

这个第一条是我们大多数SEO所知道的,我再做一个简单的描述:大多数的HTTP请求都是前端的,用户的大多数时间都被用来下载

1、对静态的组件:设置为永不过期;

2、对动态的组件:设置为一个合理的缓存控制头来帮助有条件的相应。

通过设置Expires header 来缓存这些文件。Expire其实就是通过header报文来指定特定类型的文件在览器中的缓存时间。大多数的

HTTP/1.1 200 OK

Date: Fri, 30 Oct 1998 13:19:41 GMT

Server: Apache/1.3.3 (Unix)

Cache-Control: max-age=3600, must-revalidate

Expires: Fri, 30 Oct 1998 14:19:41 GMT

Last-Modified: Mon, 29 Jun 1998 02:28:12 GMT

ETag: “3e86-410-3596fbbc”

Content-Length: 1040

Content-Type: text/html

其中通过服务器端脚本设置Cache-Control和Expires可以完成。

如,在php中设置30天后过期:

<!–pHeader(“Cache-Control: must-revalidate”);$offset = 60 * 60 * 24 * 30;$ExpStr = “Expires: ” . gmdate(“D, d M Y H:i:s”, time() + $offset) . “ GMT”;Header($ExpStr);–>

<!–pHeader(“Cache-Control: must-revalidate”);$offset = 60 * 60 * 24 * 30;$ExpStr = “Expires: ” . gmdate(“D, d M Y H:i:s”, time() + $offset) . ” GMT”;Header($ExpStr);–>

在asp中设置绝对时间过期:

<% Response.ExpiresAbsolute=#May 31,2010 13:30:15 GMT# %>

也可以通过配置服务器本身完成,这些偶就不是很清楚了,呵呵。想了解跟多的朋友可以参考http://www.web-caching.com/

四、Gzip压缩

这个是目前应用最多的加速方式之一,代码也很简单,gzip的压缩比例非常大,一般压缩率为85%,就是 说服务器端100K的页面可以压缩到25K左右再发送到客户端。雅虎开发者特别强调, 所有的文本内容都应该被gzip压缩: html (php), js, css, xml, txt。

五、将css放在页面最上面

六、将script放在页面最下面

七、避免在CSS中使用Expressions

css表达是的执行次数是远远多于我们想象的,往往会严重地影响性能。而且,它只能在IE中执行。所以因尽量地避免它。这一条以前倒没想过,个人用 这个就是在对ie使用max-width和min-width属性的时候。大家知道IE是不支持max-width和min-width属性的。有时候的 页面(特别是自适应大小的页面)为了能在分辨率小到一定程度后还能显示要用到这个功能,怎么办。当时我的做法就是利用expressions:

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年5月6日 07:04:38
下一篇 2024年5月6日 07:06:43

相关推荐

  • java实现热加载,java热重载

    用jetty做嵌入式开发,怎样才能让class热加载。 首先要解决文件被锁定的问题。文件被锁定是由于在使用windows系统时,jetty默认在内存中映射了这些文件,而windows会锁定内存映射的文件。 由于Jetty本身代码的原因,WebApplicationInitializer的实现必须直接实现接口,不能继承 AbstractContextLoade…

    2024年5月23日
    4100
  • oraclelinuxio性能,oracle性能优化求生指南

    oracle数据库性能优化什么意思 1、针对不同业务模式对数据库进行优化,修改sga、pga、各种pool及其他parameter,spfile等可以增强数据库的可用性,提高内存使用效率,避免数据库异常现象的发生。 2、应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率最终决定了ORACLE数据库的性能。ORACLE公司推荐使用OR…

    2024年5月22日
    4800
  • linux加载光驱报错,linux如何加载光驱

    linux下挂载光驱问题 1、Linux中挂载光驱输入命令mount/mnt/cdrom显示没有那个目录,是设置错误造成的,解决方法如下:首先将系统镜像文件与光驱关联(实际环境是将安装盘放入光驱)。然后将光驱挂载到/mnt下mount/dev/cdrom /mnt。 2、找到光盘的完整路径名。在命令行输入:ls -l /dev | grep cdrom。可以…

    2024年5月22日
    4600
  • linux加载硬盘权限,linux 硬盘权限

    Linux系统如何加载U盘或移动硬盘 1、首先,将U盘插入电脑,进入Linux系统主界面,再使用Ctrl+Alt+T快捷键打开命令窗口,获取高级用户权限,在窗口中输入命令:sudo -i,按enter确认后输入密码,如下图所示,然后进入下一步。 2、操作步骤如下: 首先插入u盘到电脑主机u *** 接口处(建议插入到主机箱后置的u *** 接口),然后打开U…

    2024年5月22日
    4200
  • javatrycatch性能,java里面的try catch

    Java代码如何优化 使用指定类、方法的final修饰符 具有final修饰符的类不可派生。在Java核心API中,有许多最终应用程序的例子,例如java.lang.String,整个类都是final。 下面回龙观回龙观IT培训为大家介绍代码优化的方法。尽量重用目标 特别是,使用代表字符串收敛的String目标应该使用StringBuilder/String…

    2024年5月21日
    4600
  • c语言加载dll,c语言加载背景音乐代码

    c语言怎么调用别人的dll文件 1、(1)编写程序时,你要包含(#include \什么.h\) dll文件作者提供 的 头文件(.h文件) 。程序里,便和普通函数调用一样,去调用它的函数。(2)程序编译时,你要链接 dll文件作者提供 的 (.lib文件) 库文件。 2、可以是可以,比较麻烦。方法我目前所知的有两种 一种是用C#写出COM组件,在系统中注册…

    2024年5月21日
    4300
  • linux动态加载so原理,linux添加动态库

    什么是linux中的SO动态库 SO文件是Linux下共享库文件,它的文件格式被称为ELF文件格式。由于Android操作系统的底层基于Linux系统,所以SO文件可以运行在Android平台上。Android系统也同样开放了C/C++接口供开发者开发Native程序。 so的全称是shared object,即共享动态链接库,类似于windows下的dll…

    2024年5月20日
    4100
  • linuxkvm性能,k linux

    kvm切换器是什么 1、kvm切换器是用于切换不同电脑源的计算机硬件设备;kvm切换器也被称为计算机切换器,使用户透过一组键盘、显示屏和鼠标控制多台计算机,kvm也就是键盘(Keyboard)、显示器(Video)、鼠标(Mouse)的英文首字母缩写。 2、KVM切换器是一种计算机硬件设备,可以使用户透过一组键盘、屏幕和鼠标控制多台电脑。透过KVM切换器,可…

    2024年5月20日
    4600
  • linux加载ko文件,linux 加载iso

    Linux系统下.ko文件是什么文件?.so文件是什么文件? SO文件格式即ELF文件格式,它是Linux下可执行文件,共享库文件和目标文件的统一格式。根据看待ELF文件的不同方式,ELF文件可以分为链接视图和装载视图。链接视图是链接器从链接的角度看待静态的ELF文件。 .ko文件是kernel object文件(内核模块),该文件的意义就是把内核的一些功能…

    2024年5月19日
    3900
  • java加载jar文件,java添加jar包怎么部署

    java可以动态加载一个jar包,并且调用里面的类和方法吗? 1、动态加载jar包,需要用到java.net.URLClassLoader这个类,它可以指定一个路径将jar包或者classes文件加载到类空间。加载完毕后,直接调用loadClass就可以加载指定的类,然后通过反射生成实例或者调用方法即可。 2、你所说的不可用是哪方面的?开发环境下的不可用,还…

    2024年5月19日
    4000

发表回复

登录后才能评论



关注微信