通用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]
这个很简单,就不解释了。
至此,我的优化基本上就是这些了。


猜你喜欢
- 被认为是资本“避风港”的中国网络游戏市场在全球经济风暴中可谓大放异彩。日前,易观国际发布的《2009年第2季度中国网络游戏市场季度监测》显示
- 这里着重谈需要的权限,也就是最终文件夹或硬盘需要的权限,可以防御各种木马入侵,提权攻击,跨站攻击等。本实例经过多次试验,安全性能很好,服务器
- 对搜索的讨论一直很多,也看过很多关于搜索的文章.对于目前搜索方式的利于弊,在日常搜索过程中其实我们还是有很多体会的.纵看搜索的发展史:第一代
- 近日,中国首个国家网络电视台开始大规模建设,不仅集纳央视及各省市台节目,还吸引社会视频制作机构加盟,甚至支持网民原创作品上线发布。在发展模式
- 很多站长都申请了Google ADSense广告来增加自己的收入,对于初次接触或接触不久的站长也许不是很了解投放Google ADSense
- 首先应该正确设置主机名和IP,能正常连通外网。 1、输入以下命令获取root权限: sudo su 2、安装MySQL 5,输入以下命令:
- QQ群推广是网站站长常用的推广方式,利用QQ群可以邀请用户注册、发布网站广告、开展互动合作等。但是由于有些网站站长在QQ群推广中具体操作上的
- 假如你的托管帐户托管了一个二级域名,你可以通过FTP上载文档到那里,这是从你的本地机传输你的网站到你的托管帐户的一种方法。在你的主域名目录里
- 有一段时间用户经常问我们,如果某个网站在谷歌机器人搜索时处于关闭状态,那么该网站在谷歌搜索结果中的“可见度”是否会受到负面影响。有时网站关闭
- Linux操作系统以其独有的开放性、稳定性、高效率等特点,受到越来越多有识之士的青睐。随着IT产业巨头纷纷宣布对Linux的支持,Linux
- UCenter是康盛创想(Comsenz)旗下各个产品之间信息直接传递的一个桥梁,通过UCenter 站长可以无缝整合Comsenz系列产品
- 二、防病毒系统1、安装McAfeeuvscanforlinuxMcAfeeuvscanforlinux虽然是试用,但是没有什么限制,可以升级
- 对于基于META标签检索的搜索引擎,在META标签中设置有效的关键词和网站描述,对于以网页内容相关性为主的蜘蛛型搜索引擎,则通过在网页中增加
- 一、下载树莓派系统镜像文件下载链接:https://www.raspberrypi.com/software/raspberry-pi-de
- 通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(meth
- 我开通了一个独立IP LINUX空间,空间支持伪静态功能。由于网站根目录下安装的是DEDECMS,bbs目录下安装的是论坛,home目录下安
- Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。这个是我将鸟哥书上的
- 涉及程序:Microsoft IIS server描述:IIS使有权上传和使用asp程序的用户能更改任何文件详细:这是IIS的一个非常严重的
- 1、创建两个文件夹redis和sentinel文件夹用于存放docker-compose.yml文件2、redis下的docker-comp
- 目前,在广大站长的殷切期盼下,康盛创想(Comsenz)旗下的UCenter Home(简称UCHome)体验站陆续推出了涂鸦版、凑热闹、在