优化WordPress,真失败

第一步:缓存

关于WP Cache这个插件众说纷纭,有很多人推荐,也有不少人说压根没什么效果,而且,它缓存的是第一次访问时生成的页面,也就是说新访问一个页面时还是要访问数据库、执行php代码的,这点我觉得极其不爽,因为大部分的访问者都是第一次来,太慢的话别人都等不及第一个页面完全展开就关闭离开了。而且,WP Cache生成的html缓存文件还要分访问者的,A用户访问后服务器生成的html文件只针对这个用户,即使是访问同一个页面,B用户新来的话,还得要重新执行一遍生成过程。这个识别不同来访者的机制,默认是用email地址来分辨的,不过可以hack成依据URL等。

WP Cache我装了删,删了装。还有个因素就是启用了之后就不能用Gzip了,虽然网上提供了一种hack的办法,但是我试过了不行,加了那行代码之后,启用Gzip,WP Cache就自动禁用了。咦,突然醒悟了,难道加了代码之后,就相当于启用了Gzip,根本不需要去reading那里复选启用?可是怎么看出来Gzip有没有生效?

WP Real Static Homepage这个插件可以静态化首页,是用另一个插件WP Cron来控制服务器每隔15分钟自动把index.php的内容生成index.html文件。今天很倒霉,这个插件没有成功,那个index.html一直是空文件。活见鬼了,明天再试。

现在暂时还是用的WP自带的缓存功能。

第二步:合并

缓存这种办法有利也有弊,这个不讨论了,主要是现在的缓存插件我都不大满意。既然缓存不成,我就合并js和css,按照zhang zi的介绍,我先合并js文件。根据页面的源代码,我找到head里加载的js,制作了all.js.php,但是按照他提到的去找那些“钩子”的时候几乎一无所获。我合并了6个js,结果只在其中的一个js文件里找到了类似的”add_action(’wp_head’,'fun’ ) ;”“钩子”,其它的5个都不明白是怎样加载进head的。这几个“钩子“删不了,head还得加载它们,这样就算是我合并了js也没用,说不定还加载了两遍。

第三步:压缩

合并也合并补了,我就先挑块头大的css和js把它们压缩吧。js还没有试,压缩css我用的是Nicky的csstidy,先压模板的style.css,好,压缩了20%,打开一看,好像没有什么变化,我选的还是最大压缩率呢。对比压缩css前后同一页面的载入速度,看不出有什么改观,打开首页还是要8s。

唉,今天真失败,刚才又看了Zhenning的那篇《优化Wordpress-wp终极优化手册》,发现第7步利用Gzip来压缩css和js还没有试过,白天再试试。

我的大致构想是:利用Gzip压缩css;因为不知道怎么不让那5个js在head里加载,所以合并js或者把js改成php文件都不现实,还是对js单独压缩比较好,仍然保留成js格式;至于其它方面,还是研究一下那个首页静态化的插件,把首页先静态化好,毕竟这个才是访问次数最多的,不理想的话还是得搬出WP Cache了。

5 Responses to “优化WordPress,真失败”


  • 使用了 WP Cache 以后,数据库的压力确实小了很多,不过有几个插件却好像工作不正常了,特别是 WP-PostViews ,浏览人数的计算上少了很多,利用 WP Cache 内建的参数排除 WP-PostViews ,却好像没有用,上网找,国外也有人有这个问题,好像没法解决。

  • 你的WP Real Static Homepage现在有没有成功?我也和你一样,一直都是空文件。不知道为什么。

  • 那次之后我都没有用过这个插件了。

    对于静态化我现在看淡了,觉得没必要强求,现在我就没有用静态的。

  • 晕,居然在这儿看到一楼了。。。我的WP-PostViews一开始就不正常,后来用了WP-PostViews plus,今天可好,WP-PostViews plus也出问题了,不知道有没有第三种这样的插件。。。

  • 不知道有没有第三种这样的插件

    或许你可以试试WP-PostViews JavaScript Edition,见这里
    我从来没用过此类插件,如果这个都不行就帮不到你了。

Leave a Reply