最新版的 WordPress 一定快吗?

升级到 WordPress 的最新版本就一定会快些吗?这个问题的答案看似是肯定的,难道还会越升越慢吗?之前我也一直认为时刻保持最新版的 WordPress 肯定是提升速度的有力保证,但是昨天意外地发现事实并非如此,在某些情况下,最新版本的 WordPress 只慢不快,我可是有数据证明的哟~那又如何解决呢?详见下文。

昨天在和 whisper 讨论给 WordPress 提速的方法时,意外地发现我加载的 jQuery.js 要比他的小20+K,而我们用的无疑都是同一个版本的 WordPress 2.8.4,那为什么会有这样的差距呢?比较后才明白,原来我的 jQuery.js 还是 WordPress 2.7.1 时的 1.2.6 版,而 whisper 用的 jQuery.js 才是真真切切的 1.3.2 最新版。那我的 WordPress 2.8.4 为什么还在调用旧版本的 jQuery.js 呢?回想起来那是因为由于我当初在给所有 JS 文件压缩成 .gz 的 Gzip 文件后,自动升级无法覆盖到这个文件,所以尽管 jQuery.js 已经随着 WordPress 2.8.4 升级到了最新版,但是我调取的一直是旧版的被压缩后的 jQuery.js.gz 文件。不过,这个旧版本的 JS 完全不影响我的正常使用,反而它更加小巧!

在这里我要感谢 whisper 童鞋,因为在上面讨论中的意外发现给了我启发。我对 JS 不是很懂,但是用脚指头想想也知道,jQuery.js 的版本越新,功能也就越强大,当然这个文件也就越大啦。但是,是不是我们都需要用到 jQuery.js 所有的强大功能呢?未必吧。本站唯一需要调用 jQuery.js 文件的地方就是网站地图中的展开效果,如此简单的效果我想就不需要劳烦最新版的 jQuery.js 了吧。按照这个猜想,我去 jQuery 的官方网站上下载了一个 jQuery.js 最旧的版本,jQuery.js 1.0 压缩版。再用 7-zip 压缩成 gzip 文件,仅8.44K。相比未用 Gzip 压缩的最新版 jQuery.js 足足小了近50K!

话又说回来了,jQuery.js 最新版毕竟有它强大的地方,不是所有效果都是 1.0 版可以实现的。 一些 WordPress 插件对 JS 的版本是有要求的,比如说 whisper 就给我举了一个例子,wp-polls 投票插件,在其调用 JS 的函数中就有这么一句:

wp_enqueue_script('wp-polls', plugins_url('wp-polls/polls-js.js'), array('jquery'), '2.50', true);

也就是说这个插件就认准了2.5版的 JS,换成其他版本的它就不干。

最后总结陈辞,我想说的是,要选择最合适你的 WordPress 的 jQuery.js 版本,而不是选择最新版本,这样才能将你的 WordPress 速度提升到极至。

    • 你的首页就有9个JS,冲突的可能性很大,可能是其他插件引起的,建议你一个一个停用其他插件试试wp-polls能否正常工作,先找到是由哪个插件引起的冲突,之后再分析能不能按页面需求调用JS,来避开冲突

  1. 通常如果是增加功能的新版本,基本上只会慢不会快,除非是性能方面的更新,WP够用就好,不一定要追着更新,当然主要还是为了安全才更新

  2. 一直用1.2.6,自己开发的工程里也一直用这个版本,没感觉1.3.2有多大的提升,可能是功力不到吧。
    对于博客来说,1.2.6足矣,估计1.2.3就能胜任了。

  3. 越新就越强大也越臃肿,willin说过jQuery 1.2.3, 1.2.6, 1.3.2这几个版本比较好,问题是我的有个插件要指明了用1.3.2,不知道较低版本行不行,不太懂js,所以也没敢乱改。