帮助

网站加速之优化网站Yslow评分到99

2018-11-10 08:48 技术文档

网站访问速度一直是站长关注的问题之一,本文介绍如何利用一些可行的办法来加速你的站点!

使用工具: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 更新不是很频繁的如今。



相关推荐

QQ在线咨询