最新版的 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 速度提升到极至。