查看: 873|回复: 0

[建站] 经验分享 网站加速之优化网站Yslow评分到99

[复制链接]
发表于 2010-9-4 13:50 | 显示全部楼层 |阅读模式
网站访问速度一直是站长最最关注的问题之一,本文介绍如何利用一些可行的办法来加速你的站点!

使用工具:Firefox + Firebug + Yslow!

优化对象:.htaccess | CSS | Javascript | Google analytics

网站环境:Linux 虚拟主机 + WordPress

最终效果:首页:www.hzlzh.com Yslow 评分 99,等级 A,如图:

hzlzh建议:勿盲目追求分数,以实际效果为佳。


PS:这里注意:Yslow 有三种评分模式,HzlzH又自定义了第四种,本文就是采用第4中模式,如下:

YSlow V2 23项中的22项测评全选

Classic V1 只有13项测评

Small Site/Blog 14项测评适合blog

WordPress 去掉 Use a Content Delivery Network (CDN) 和 Use cookie-free domains 这两项,因为小站不需要考虑的。


下面开始:


1、安装好环境,进行第一次测试,记下分数和不合格的地方;


2、合并减少CSS/JS 文件的请求数量;



这个很好理解,把现有的多个JS和CSS 文件写在一起,理想的网站是这样的:全站只调用 1个 javascript,1个CSS 样式表,1张包含了所有需要的图片;比如hzlzh尽量在往这里做:

1个css:http://www.hzlzh.com/wp-content/themes/dot-a/style.css.php   注意后缀php,第3步中解释!

2个js:[google analytics]的ga.js 一个合并本站JQ效果后的 [google jQuery]的 jquery.min.js

2个png:img.png  和   tag.png



3、Gzip开启;



如果你的网站连Gzip 都没开启,那就不用继续优化了!相关的Gzip压缩率检测网站有:

http://www.whatsmyip.org/http_compression/

http://tool.chinaz.com/Gzips/

http://gzip.iamzz.com/

http://gzip.zzbaike.com/

实现方法很多:可以在后台Cpanel中直接开启,或者很多Linux主机已经默认打开,如果检测到没有开启,可参看下面两种方法:

一、将网站使用的CSS 或这 js 文件用php 进行 Gzip 压缩,

做法是:在原有的 xxx.js 或xxx.css 文件的头尾分别加上下面代码,并保存成.php 格式,之后调用!

头:<?php if(extension_loaded('zlib')) {ob_start('ob_gzhandler');}header("Content-Type: text/javascript"); ?>

或   <?php if(extension_loaded('zlib')) {ob_start('ob_gzhandler');}header("Content-type: text/css"); ?>

尾:<?php if(extension_loaded('zlib')) {ob_end_flush();} ?>



二、通过 .htaccess 开启Gzip


说明:由于不同的要求使用的代码不同,暂不提供范例,自行搜索。仅补充单独给JS 文件启用Gzip 的方法:

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript




4、优化 Configure entity tags 项
在.htaccess中添加一行:FileETag none


说明:设置‘FileETag None’可以使响应头不再包含ETag字段,达到加速效果。

5、优化 Add Expires headers 项

在 .htaccess 中添加下面代码:

<IfModule mod_expires.c>

ExpiresActive On

ExpiresDefault A600

ExpiresByType image/x-icon A2592000

ExpiresByType application/javascript A2592000

ExpiresByType application/x-javascript A2592000

ExpiresByType text/css A604800

ExpiresByType image/gif A2592000

ExpiresByType image/png A2592000

ExpiresByType image/jpeg A2592000

ExpiresByType text/plain A86400

ExpiresByType application/x-shockwave-flash A2592000

ExpiresByType video/x-flv A2592000

ExpiresByType application/pdf A2592000

ExpiresByType text/html A600

</IfModule>


除此之外一些简单的优化,如:img 没有添加 alt 标签之类的,就不讨论了,都是很好优化的。

如果你没有使用了Google analytics,此时的分数应该是99,评级 A,但是对于Google analytics用户就需要进一步了,因为你发现分数大约是98.

原因是:站点加载了google 的统计代码  ga.js。Yslow 报下面的提示;

There is 1 Javacript script found in the head of the document

* http://www.google-analytics.com/ga.js



这时候就有两个选择:



1、卸载 我所介绍过的强大的Google analytics;

2、自己托管ga.js ,也就是用本地的ga.js,如:http://www.hzlzh.com/js/ga.js

hzlzh选择了后者,但是要注意,一旦Google 更新了ga.js 你使用旧版的话,统计代码就立即失效了,这也是为什么要调用最新统计代码的原因,但是还是能解决:可以使用 Linux 的 conr job 命令 设置一个更新ga.js 的 svn,比如每天wget 更新一次,这样就可以避免这个问题。
同样 Google analytics官方的帮助文档中也提到了这个问题虽不鼓励,但不禁止

Google recommends you don't do this, but does not say you can't.


具体怎么做?  附:脚本文件

使用Linux的 cron crontab来每天执行一个 .sh 脚本文件一次,或者在ga.js 更新不是很频繁的如今,依靠手动更新也是可行的。

最后注意:不同的主机,不同的程序,不同的主题,都有不同的优化瓶颈,根据本文思路,不断寻找解决方案来攻克吧!

文章来源:http://www.hzlzh.com/yslow-grade-a-and-source-99/
温馨提示:
1、本内容转载于网络,版权归原作者所有!
2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

客服QQ/微信
550155781 周一至周日:09:00 - 22:00
十五年老品牌,学习网上创业赚钱,首先众创云课,值得信赖!
众创云课 版权所有!

本站内容均转载于互联网,并不代表众创云课立场!
拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!

小黑屋|广告服务|加入vip|APP下载|手机版| 众创云课

GMT+8, 2024-12-13 01:50 , Processed in 0.095543 second(s), 30 queries .

快速回复 返回顶部 返回列表