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

    前几天针对本站进行了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]

    #关闭etag。具体什么意思我也不懂。反正有效。
    FileETag none

    #下面这句好像无效,大家自行测试多几次吧。

    AddOutputFilter DEFLATE html htm xml php css js

    #给静态的文件过上过期头部。哈,我的要到2050年才过期。可以留给你孙子看了。

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

    # 禁止一个ip地址,我不想给某些人看我的BLOG.
    deny from 118.195.*.*

    # END WordPress

    补充: 2010-05-26日有纠正:《解决wordpress自动修改htaccess的问题

    四、不传递COOKIE到二级域名。
    这个只需要在wp-config.php中,添加一句:define('COOKIE_DOMAIN', 'tsov.net'); 即可。
    有没有效果,我也不太确定。大家自已判断了。

    好了,上面的说的是针对于博客的优化。
    当然,这跟你博客用到的主题、插件也有很大关系。你可以查看我博客的源代码,看看我的页面头部中放的CSS及把JS放于底部的方法。
    另外,我只调用一个CSS,一个JS文件。 插件中要用到的,我都合并进去了。
    在博客中,相册中我用到的lightbox,这个需要调用一个jquery库和一个效果库,这就有两个JS文件了。而并不是每个页面都需要,只有要用到相册时,才需要。所以针对这个问题,我采用了这个方法:《优化wordpress的图库(相册)lightbox效果》

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

    由于分离后的附件不存在任何程序动态的,全部都是静态的(基本上都是图片)。因此,设置过期头部即可。
    我的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)$ https://tsov.net/warning.gif [R,L]

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

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

相关文章
如何有效确定网站关键词[转载]Mysql性能之SQL语句性能优化Apache使用中没有的模块如何加载?如何把wordpress优化到极致?(Yslow打98分)wordpress中把用户的头像从gravatar中缓存到本地于提高访问速度在IIS中删除ETag的方法[转载]网站用户体验优化怎么做?优化wordpress的图库(相册)lightbox效果PHP 性能优化技巧wordpress半角引号变成全角引号问题的解决解决tsov出国后无法直接在后台备份及发送邮件的问题Tsov-Weather plus升级至1.4版(解决UTF-8编码和指定城市的功能)TSOV的wordpress天气插件功能升级了[紧急通告]TSOV的wordpress天气插件访问量过大,请更换分站地址网站PR更新的感悟我的wordpress weather widget(天气插件)饲养蜘蛛技巧MySQL优化全攻略-相关数据库命令优化MySQL数据库性能的几个好方法
    标签:优化wordpresshtaccessyslow 评论数:6 发布于:2010-04-27 10:32:15

当前共有6条评论,我也要发表:

    我的名字:

    我的邮箱:

    作者:J.C.时间:2011-11-17 16:46:09回复

      你保证这样设置是有效的吗?

      作者:simon时间:2011-11-17 17:15:20回复

        我干嘛要保证呢?你信不信我不知道,反正我信了,我的可以的呢。

    作者:hi时间:2010-10-02 14:37:24回复

      etags很有用的

      作者:simon时间:2010-10-02 15:17:52回复

        是很有用,但没有用起来就没有意义,不如关闭掉。

    作者:timmy时间:2010-04-29 14:28:07回复

      不传递COOKIE到二级域名 是什么意思?

      作者:simon时间:2010-04-29 20:26:34回复

        即是yslow中的建议“ Use cookie-free domain”。解释如下:使用 cookie-free domains 有什么好处呢?当用户浏览器发送一个静态文件,如图片image、CSS样式表文件时会同时发送同一个域名(或二级域名)下的cookies,但是网站服务器对发送过来的cookies完全不予理会,因此这些没用的cookies白白浪费了网站带宽,影响网站加载速度和网页性能表现。YSlow建议为了解决这个问题,就可以通过使用 cookie-free domains 的方法来做优化,从而提高网页效率。