通用htaccess优化wordpress实现yslow评分达到A

来源:tsov.net 时间:2010-10-20 18:17:00 

前几天针对本站进行了htaccess的设置,以优化wordpress来提高整体性能。现在本站的yslow评分达到了A。下面来说说具体的方法和步骤。

在查YSLOW的相关建议后,我用yslow分析发现我的站点主要的GZIP没有开启,页面及CSS\JS\图片没有开启过期头。

另外还一项为etags的。也提示未经优化。我至今仍不理解etage为何物,如何优化。不过在我关闭etags后,此项达到A。下面继续把步骤列出来,以供各位朋友参考:

一、分离附件与网站:

这一步不是必须的,我当初分离附件与网站的目的是因为我的空间容易不够,只好把附件移至另一个空间上。而网站仍然不变。

如果你的空间容量不足,或你不怕麻烦,手头上又有空闲的空间,这也是可以做的。必竟这也符合yslow的建议。

二、开启GZIP:

我使用的一个合租的空间,有cPanel面板可以开启。不过我开启了并不生效。咨询了好多次都没有得到答复。后来,还是找到采用在index.php中最上面加入ob_start("ob_gzhandler");。记住,要在最上面加,不然不起作用。添加这句代码后,再测试,发现页面已经经GZIP压缩过了。不过外链的CSS/JS及未作处理。

三、设置htaccess了。这个不多解释了,大家可以网上找找说明。


 

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress
FileETag none

AddOutputFilter DEFLATE html htm xml php css js


Header unset Last-Modified
Header set Expires "Fri, 08 Aug 2050 08:08:08 GMT"

# 禁止一个ip地址
#deny from 118.195.*.*
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} ^.*\.(css|js|html|htm)$
RewriteRule ^(.*)$ gzip.php?url=$1 [QSA,L]
#设置时间
SetEnv TZ Asia/Chongqing
#阻止目录浏览
Options All -Indexes 


四、不传递COOKIE到二级域名。

这个只需要在wp-config.php中,添加一句:define('COOKIE_DOMAIN','tsov.net'); 即可。

有没有效果,我也不太确定。大家自已判断了。

好了,上面的说的是针对于博客的优化。

当然,这跟你博客用到的主题、插件也有很大关系。你可以查看我博客的源代码,看看我的页面头部中放的CSS及把JS放于底部的方法。

另外,我只调用一个CSS,一个JS文件。 插件中要用到的,我都合并进去了。

在博客中,相册中我用到的lightbox,这个需要调用一个jquery库和一个效果库,这就有两个JS文件了。而并不是每个页面都需要,只有要用到相册时,才需要。所以针对这个问题,我采用了这个方法:


优化wordpress的图库(相册)lightbox效果:

我的wordpress的图库(相册)是采用lightbox的效果来展示,因此我在页面公共部分引入了jquery1.3.1.min.js和/jquery.lightbox-0.5.min.js两个文件。这样在无论页面上是否用到相册方式都需要下载,这不符合我对网页一惯能少则少的偏好。

因此,我分析了wordpress的相册结构,发现使用相册时,是调用了gallery_shortcode,而gallery_shortcode是在wp-includes/media.php文件中。因此,我把Lightbox效果所需的JS文件改为放在使用相册时再加载,而一般页面是不加载的。

修改方法:

打开wp-includes/media.php,找到大约754行后的前面加入

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<script src="http://tsov.net/wp-content/themes/tsov2009/jquery.lightbox-0.5.min.js"></script>

即可。


下面说说分离出去的附件怎样优化。

由于分离后的附件不存在任何程序动态的,全部都是静态的(基本上都是图片)。因此,设置过期头部即可。

我的htaccss是这样设置的:

FileETag none
# Image and Flash content Caching for One Month

Header set Cache-Control "max-age=2592000"

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?tsov.net/.*$ [NC]
RewriteRule \.(gif|jpg|png|pdf|txt|html|zip|rar|exe|jpeg)$ /file/UploadPic/201010/20/warning-34.gif [R,L] 


这个很简单,就不解释了。

至此,我的优化基本上就是这些了。

标签:htaccess,wordpress,yslow
0
投稿

猜你喜欢

  • Google Ad Planner初体验

    2008-07-07 16:50:00
  • 用Windows Server 2003搭建安全文件服务器(3)

    2007-09-28 13:45:00
  • 追根溯源谈链接

    2008-12-04 13:08:00
  • Google欲推MP3下载对抗百度

    2008-02-15 07:45:00
  • 守住你的网站 防御DDoS攻击实用指南

    2010-10-20 20:04:00
  • 写好和维持准确元标记 让谷歌顺利找到你

    2009-01-20 10:13:00
  • 病毒、木马ARP攻击行为的原理分析及解决思路

    2010-02-21 08:56:00
  • Google首页的那个史上最贵按钮

    2007-11-27 13:11:00
  • 中英网站的Google PR差距

    2007-11-05 18:47:00
  • 如何上传文件到GoDaddy的二级域名 Godaddy

    2010-04-22 12:48:00
  • 如何宣传网站之论坛篇

    2007-10-02 19:23:00
  • Godaddy主机读写权限设置(windows主机)

    2010-04-11 13:18:00
  • GoDaddy美国主机的常见问题

    2010-04-10 13:00:00
  • 一种经济合算的NT邮件服务器软件(2)

    2010-05-22 18:13:00
  • 网络美女YUMMY教你做美图 瘦身瘦脸篇

    2009-11-08 18:45:00
  • 美国老鹰主机HawkHost购买图文教程

    2010-03-28 17:25:00
  • 在SCO的一个网卡上面绑定多个IP地址的方法

    2010-05-14 18:25:00
  • 六个WordPress实用的评论回复通知插件下载

    2010-03-21 08:40:00
  • WordPress中Ping、Pingback、Trackback三者之间的定义与区别

    2012-01-17 15:57:26
  • Windows2003服务器安装及设置教程—文件及文件夹权限篇三—给文件夹设置权限二

    2010-02-02 18:09:00
  • asp之家 网站运营 m.aspxhome.com