提高WordPress访问速度与性能的四大优化方法

性能是任何优秀网站的一个关键因素,越来越多的人选择使用WordPress 搭建个人博客、CMS 内容展示或是企业网站,但可能由于高流量或一些未知的原因,导致你的 WordPress 性能越来越低,尤其对于大多数主机质量一般但流量却很高的个人站长来说。本文里,总结性的介绍一些 WordPress 优化技巧,彻底的学习并贯彻实施它们,能大幅度的提高你的 WordPress 整体性能。

一、插件加速 WordPress

主要是通过控制插件数量,配合使用页面缓存插件,以及数据库优化插件等结合。具体使用教程这里不详细说明,大家可以搜索相关教程即可。

推荐插件(无优先级列表):

1、WordPress Super Cache

WordPress Super Cache 插件绝对优秀,不多做介绍,大多数 WordPress 用户都应该比较熟悉,用过便知。只是使用之后也会有些后遗症很难处理,比如一些需要跟踪确认广告代码的广告商,会无法跟踪到。网上也有一切解决方法,但我还没见过很完美的。

2、PHP Speedy WP

PHP Speedy 是一个 PHP 脚本库,主要适用于调用了很多 JS 文件和CSS 文件的PHP网站。而 PHP Speedy WP 就是专为 WordPress 用户方便操作的插件。如果我们使用了很多插件,在 head 头部里面会有很多的 js 和 css 文件调用,使用这个插件,能加快这些东西的载入速度。

3、WP CSS

WP CSS 也是一个 WordPress 插件,它可以 gzip 压缩和移除你 CSS文件中的空白区,还有缓存什么什么的。

4、DB Cache

DB Cache 数据库缓存,此插件缓存每个数据库查询,并使用小型磁盘空间缓存。我也没有尝试过这个插件,不过有很多 WordPress 用户推荐过这个插件。

5、Optimize DB

Optimize DB 插件的作用在于它可以有效得优化重组你的 WordPress数据库表,界面很简单,只有一个按钮:Optimize Now。

插件删除:

插件是致使 WordPress 博客访问速度变慢的主要杀手之一,当你的博客访问速度逐渐变慢的时候,问问自己,是否这几天又安装了插件,去控制面板看看,现在启用了多少个插件?

对于 WordPress 插件的使用原则,建议是:能少用就少用。最后,需要注意的是,不是停用不使用的插件,是删除。如果插件提供了管理界面,可以卸载,那就先卸载,再删除插件程序。

二、主题优化加速 WordPress

1、主题代码加速

代码决定了 WordPress 加载的速度,浏览你博客的速度在很大程度上是这个因素决定的(在同样的网络环境下),用户加载网页的时间有 80% 花在这上面。要想你的 WordPress 飞速跑起来,代码层次的优化是非常必要的。其实,压缩 CSS 和 JS 也是非常简单的事情,真的,不是你想象中的那么难。压缩 CSS,推荐使用 styleneat.com,操作方式非常简单,但是却能带来很大的速度提升。

推荐方法是:把 CSS 放在开头,把 JS 放在结尾;用 Gzip 压缩网页,WP CSS 插件也可以实现这一功能;不要把 CSS 和 js 直接写入网页中,应加载外部;去除 JS 和 CSS 中的冗余,最好把 JS 文件放在主题的 footer.php 里,在 CSS 和 JS 的优化上,CSS 要首先载入,JS 要最后载入;外部调用 Google Code 里面的大型框架 –Ajax Libraries API。对这些框架的载入,让 Google 的服务去承担。常用的有:

jQuery

prototype

script.aculo.us

MooTools

dojo

调用方法就不必介绍了吧。

PS:谷歌被墙的情况下,懿古今不建议外部调用 Google 的任何文件。

2、主题图片优化

优化图片的好处是显而易见的,首先减少 HTTP 请求数,可以节省大量的带宽资源,这是代码优化中很基础也很重要的一个环节,其次,图片优化,可以大大提供博客整体的载入速度。而一个网页中的所使用到的图片(诸如小图标之类的)往往占有很大部分的 HTTP 请求,所以将这些图片合并成一张大的背景图时,不但可以减少图片整体的大小外,最重要的还是可以减少 HTTP 请求数。

相关方法就是利用 CSS SCRIPT 技术和一些图片压缩优化的方法来实现。图片压缩建议使用 smush.it。

3、删除冗余的主题函数

WordPress 主题函数有很多,每个函数也都有自己的作用,但是在一些时候,我们可以不使用函数,而直接使用具体的链接地址,这样就避免了函数对数据库的操作,从而提高了 WordPress 主题整体的载入速度。

以下是 13 个有可能存在 WordPress 主题中但都可以使用静态代码替代或可以删除的 WordPress 主题函数。

<?php language_attributes(); ?>

该函数位于 header.php 文件,这个函数是用于生成当前博客所使用的语言的,比如 “lang=’zh-CN'”,用来告诉浏览器当前页面是基于中文的,意义不大,所以为了速度删除它吧。

<?php bloginfo('html_type'); ?>

该函数位于 header.php 文件,可使用 text/html 替换。

<?php bloginfo('charset'); ?>

该函数位于 header.php 文件,是用来指定页面编码的,因为 WordPress 正常情况下使用的是 UTF-8 编码,所以这里可以使用 UTF-8 替换。

<?php bloginfo('name'); ?>

该函数是用来生成博客标题的,可以说可能遍布全主题,所以如果你明确你博客的标题而且不经常修改或是修改不怕麻烦的话,可使用固定的名称来替换这个函数。

<?php bloginfo('description'); ?>

如果上一个博客标题的函数一样,这个是用来生成显示博客副标题的,也可以使用静态的文字来替换,当然如果不需要的话也可以删除。

<?php bloginfo('version'); ?>

该函数位于 header.php 文件(很多主题也没有这个函数), 记得去年,WordPress 有一版本出了漏洞,很多 WordPress 博客被黑了,原因就是很多人在自己的博客上暴露了当前使用的 WordPress 版本。

<?php bloginfo('stylesheet_url'); ?>

该函数位于 header.php 文件,是用来描写主题样式表位置的,如果你知道主题样式的绝对地址的话,也可以使用绝对地址来替换,如果不知道绝对地址的话,请不要改动这里。

<?php bloginfo('rss2_url'); ?>

该函数位于一般会出现在 header.php、sidebar.php、footer.php 三个文件里,是 WordPress 自带的 RSS 解释地址函数。出现在 header.php 文件是用来给像 Firefox 这类的能在地址栏里检测是否有 RSS 输出显示图标的,但是现在的阅读器一般支持直接输入博客地址自动获取 RSS 地址,以及很多博客都会通过第三方烧录 RSS 地址,所以这个函数也是可以删除的。但如果是你指定这个函数到订阅图标的,那就另当别论了。

<?php bloginfo('pingback_url'); ?>

该函数位于 header.php 文件,是用来生成pingback 地址的,可以删除。

<?php bloginfo('stylesheet_directory'); ?>

该函数是用来生成样式文件所在的文件夹目录地址,一般出现在样式中,比如引用背景图片时的地址,这个函数也可以使用绝对地址来替换,当然前提是你知道绝对地址。

<?php bloginfo('comments_rss2_url'); ?>

该函数位一般出现在 sidebar.php、footer.php 两个文件里,是解释生成评论 RSS 地址的,如果不提供评论的 RSS 订阅,那就可以删除这个函数。

<!--<?php echo $wpdb->num_queries; ?> queries.
<?php timer_stop(1); ?> seconds. -->

该函数位于 footer.php 文件,用来显示页面载入速度,当然显示这个不会让你有多少快感,可以删除。

如果你在主题中使用了 Widgets,并且你准备一直都使用 Widgets 而不使用主题自带的侧边栏内容的话,你可以在 sidebar.php 中寻找位于

if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>

<?php endif; ?>

之间的代码,这些代码明显没什么价值了,可删除。

三、数据库优化加速 WordPress

你应该定时(每周或每半个月)登录一下你的 phpmyadmin,然后对你的各个 WordPress 表进行优化和修复,很简单,你只需要选中这些表,然后进行“Optimize table”和“Repair table”即可。(如果要慎重起见,你最好还是同时备份一下你的数据库。安全和性能同时抓,何乐而不为?)或者使用插件优化数据库:目前公认最好的数据库优化插件是:Optimize DB。

四、其他方法加速 WordPress

1、使用可靠的图片托管服务

尽可能将文章中的图片保存到其他地方,如 Google Picasa、Flickr 等。而不是上传到你的服务器上。这样做可以使 Web 服务器减少很多平均 CPU 负载/存储要求。

2、服务器层次加速 WordPress

置换更好的主机,部分博友有自己的服务器或者 VPS,可以针对 VPS 或者独立服务器的。使用轻量级、高性能的 Nginx,PHP 字节码缓存组件 apc。

3、为网页静态元素设置过期时间(以 Nginx 为例),以及增加 Etags 等。

4、关闭日志修订记录功能。禁用并删除 WordPress 文章修订记录,或者定期用 Delete-Revision 插件清理。


WordPress优化