WordPress速度优化之Expires Headers

By
WP札记

昨天对博客进行了各种优化,合并并压缩了几个JS文件,改变了摆放位置,又大肆优化了css,希望无聊的同学帮忙看看速度是不是有一点点提升。

其实昨天本来是希望改变一下JS文件内容,添加点内容,做完之后顺便进行了压缩,又碰巧看到可以把几个文件放一起,比如xx-packed.js这样的。分别加载确实不太好。

然后看到了 BoKeam 同学的这篇:【WordPress速度提升之CSS和JS的合并压缩 】。遂去【这里】进行了检查,这站提供了YSlow和Page Speed的测试和评分,并附加了详细的说明(当然是E文的)。我起初的YSlow只有C,觉得有点低。然后找到了本篇的主要内容:添加Expires Headers。

啥是Expires Headers

我同时测试了几个朋友的站点,发现很多在这个Expires Headers 上的评分都是0。导致YSlow的得分很低。以下是介绍:

Expires   header,就是过期时间的header报文。这个文件过期时间,其实就是通过header报文来指定特定类型的文件在浏览器中的缓存时间。有些文件(例如样式表中调用的背景图片和文章中调用的图片)其实在很长一段时间内我们都不会对它们有什么改变,这类文件可以设置非常长的缓存时间,这样浏览器以后就不需要再从服务器下载这些文件而直接从缓存中读取,从而大大加速网站的载入速度。

首次登录的话并不能看出来有什么提升,但是当浏览子页面或者再次浏览的时候,就会发现速度较之前有很大改观,服务器不会重新抓图片、css、javascript这样不常常跟新的文件(就是减少了HTTP请求次数)。

如何添加Expires Headers

【以下内容来自:Tips And Tricks HQ

如果你的服务器是Apache,你可以用ExpiresDefault这样的语句。直接添加在.htaccess文件即可。比如

ExpiresDefault “access plus 2 months”

这个语句使用了相对时间,即从现在起到两个月后过期。当然years、months、weeks、days、hours、minutes、seconds都可以使用。

你可以写入.htaccess文件中这样的语句:

或者

:A2592000 为 1 个月 (60*60*24*30=2592000)

移除ETags

这个看了半天,似乎建议直接一锅端,移除它可以减少 HTTP headers 的大小,据说这样能让站点表现更好。依然在.htaccess文件中加入下面语句即可。

FileETag none

据说这些小技巧可以提升网站20%的加载速度,我的站好像从3.4xs秒加快到3.0s或者2.xs甚至1.84s。改变确实是有的。

GTmetrix.jpg

速度提升,当然还有还有CDN的使用、cookie-free domains的加入,但是资金是问题;合并css、javascript、背景图片等这些,有时间就做做吧,只要站点正常显示就可以。

PS:也有插件Autoptimize可以自动添加expires header、压缩css,js,html,省去了手动操作。而且可以选择CDN。不过插件的坏处就是不知道它到底改了哪儿,一旦出现问题就得停用一个甚至几个插件,停下来仔细检查,这也是我不常加插件的原因。

0

Comments: 129

  1. 为了方便在线改,一直没压缩Css和js…

    2010年08月20日
    • @MOPVHS 压缩一下很省,做足备份就可以了。

      2010年08月20日
    • @阿修 哈,压缩完毕,yuicompressor压缩率真高~~~

      2010年08月20日
  2. 这个想必有用.有空试一下.
    是不是换主题之前得先改回来呢?

    2010年08月20日
    • @lifishake 代码修改的话不用。插件可能需要改。

      2010年08月20日
  3. 载入图片数量:49/49;载入数据大小:115KB;平均速度:14.53KB/S;页面载入时间7.919s,比万戈那里好一点。

    2010年08月20日
    • @阿七 万戈刚换主题,等优化完了就不是我这小速度能比的了。

      2010年08月20日
    • @阿修 不要那么没自信,要向凤姐看齐啊 :cool:

      2010年08月20日
  4. 好复杂的工程,最近都没怎么折腾啦 :roll:

    2010年08月20日
    • @指舞六弦 我也是突然看到这个,才决定折腾一下的

      2010年08月20日
  5. :twisted: 我现在就在优化改主题。。不过进度太慢了 :arrow:

    2010年08月20日
    • @BoKeam 没关系,慢慢来总会成功的

      2010年08月20日
  6. :razz: 刚看了一下变成B A了。。效果不错

    2010年08月20日
    • @BoKeam 我把JS稍微改了改就上去了~~

      2010年08月20日
  7. 一C 一B 没什么东西能折腾的了..

    2010年08月20日
    • @mice 加上这个应该就到B了。

      2010年08月20日
  8. 没有测试工具
    但是加载速度蛮不错的

    2010年08月20日
    • @飞晏 嘿嘿,还是有效果的哈 :twisted:

      2010年08月20日
  9. js压缩了会出错 :?: ,而且都已经gzip输出了,压缩了效果不是很明显

    2010年08月20日
    • @winy 我以前也是有错,后来发现是语法不太标准

      2010年08月20日
  10. 我现在倒是把js放头部了,因为其实载入时间一定的,而js也设置了较长的缓存时间,第二次基本不用再加载,我需要特效尽快生效,这样看上去感觉更快

    2010年08月20日
    • @winy 嗯…如果经常访问的朋友,差别不大。

      2010年08月20日
  11. 我无聊的时候,把js都合并成了俩,一个jq库,一个ajax效果就木有了 ~
    css也全合在一起,嘿嘿,google管理员工具里面的评价倒是上升不少 ~

    2010年08月20日
    • @小邪 js我还多存了一个本站的~~总共3个吧。css倒是没咋改动。评分高了,可是也没见太大效果 :arrow:

      2010年08月20日
  12. 优化提升 访问速度能提高到多少?

    2010年08月20日
    • @7cbt 这个,没感觉到多大差别……

      2010年08月20日
  13. 我就觉得万戈的主题越来越卡了。

    2010年08月20日
    • @西门 可能新主题刚上线优化方面还没整通透

      2010年08月20日
  14. :smile: 加了 Expire Header 有效

    2010年08月21日
    • @surda 有效就好 :twisted:

      2010年08月21日
    • @阿修 看来整站还是尽量少调用外部资源 增加HTTP请求 影响网站性能

      2010年08月21日
    • @surda 但是他要求把JS和CSS最好搞成外部调用。唉,不管了,先就这样吧

      2010年08月21日
  15. 主要系偶滴VPS性能不咋滴,实质效果不明显啊 :smile: :smile:

    2010年08月21日
    • @Mucid 提升一点就行了,要啥自行车~~ :twisted:

      2010年08月21日

lace wigs进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注

*

:razz: