wordpress怎么优化
WordPress优化经验和技巧:
动静态分离
不管WordPress博客还是其他CMS建的站点,优化的第一步一定是动静态分离,这也是你看到新浪,腾讯等门户,他们图片的域名和网站的域名不是同一个的原因。
网站的静态文件一般有两种:第一种是网站的CSS,JS和一些主题的常用背景图片和按钮文件,这些图片如果网站不进行改版或者其他改动,基本上是不会修改的,第二种是每天更新的网站内容中上传的图片或者附件,这些图片文件也是基本不会改动的。
解决好静态文件存储和加速,网站性能就首先能得到基本的保证了,WordPress构建的网站和博客也是一样的。对于这些静态文件来说,最好的解决方案永远是使用CDN网络进行加速,这样服务器的压力将大大降低,因为访问页面只有当前页面是在自己的服务器上,其他所有图片,JS和CSS都是从CDN获取的。
WordPress博客如何使用CDN服务,我写的WPJAMBasic插件,已经支持三种云存储服务:阿里云OSS,七牛云存储和UCloudUfile,只要你安装了WPJAMBasic插件,就可以一键实现WordPress博客静态文件CDN加速。
服务器优化
优化好静态文件之后,就要开始对网站的动态内容进行优化,优化动态内容,首先要有一个稳定网络环境,稳定的主机供应商和服务器性能的优化。
选择一个靠谱的主机托管商,个人推荐BGP或者多线机房,让全国用户访问都能有不错的速度,然后尽量选择独立的服务器,再不济,也得VPS,因为你没有服务器的Root权限很多东西是无法进行的,国内一般推荐:阿里云。
服务器问题解决之后,服务器可以做如下优化:
安装Memcached和PHPMemcached扩展:使用Memcached来缓存WordPress数据。
PHP开启OPCache:把经过编译后的PHP代码缓存到共享内存中,并在用户访问的时候直接调用从而起到高效的加速作用。
MySQL设置MySQLQueryCache,可以保存保存查询结果,同样的查询不再从数据库检索,对速度有很大的提升。
WordPress缓存
要彻底明白和搞懂WordPress性能优化,首先要理解WordPress缓存机制,WordPress默认是一种叫做WordPressObjectCache的对象缓存机制,它是把需要缓存的内容按照Key-Value这样的模式进行缓存(和No-SQL的key-value的有点类似),当然它还支持按照Group来划分和避免缓存的内容冲突。
所以最基础的WordPress缓存插件就是,把WordPress产生的Key-Value存起来,如果是使用Memcached,就是存到内存,如果使用Flie就是存到硬盘中,当然高级的WordPress插件还能做更多,比如WPSuperCache把整个页面缓存到硬盘中,下次直接访问静态的HTML文件,让服务器直接绕过PHP,节约CPU时间。Batcache会把整个页面当做一个对象存到内存里面。我个人推荐使用Memcached足够。
Memcached会把WordPress的对象存到内存里面,服务器的内存足够大,读取和存储速度也够快,并且内存缓存命中率也大于97%。另外我们WordPress程序经过优化之后,每个页面的查询一般在2条左右,所以整个网站效率很高,首页甚至做到0SQL,页面生成只需要0.0013秒。
WPJAMBasic插件已经集成了Memcached,下载WPJAMBasic之后,将wpjam-basic/template/目录下的object-cache.php文件复制到wp-content目录下即可。
WordPress程序优化
WordPress程序优化是基于WordPressObjectCache的机制对WordPress插件和主题进行优化,主要经验有以下几点:
只使用必须的WordPress插件,安装太多的WordPress插件很容易引起性能问题。
从正规站点下载WordPress主题,这样下载的主题才能保证质量和安全,推荐我和xintheme发布的Autumn和Honey主题。已经实现了首页0SQL。
WordPress主题和插件尽量使用模板函数,因为WordPress模板函数如果可能都已经做好了WordPressObjectCache。比如:get_the_terms和wp_get_object_terms这两个函数,功能基本一样,但是get_the_terms直接从对象缓存中取数据,无查询,而wp_get_object_terms每次都从数据库中取数据。
WordPress插件和主题如果一定要直接查询数据库,请做好ObjectCache,将查询的结果使用wp_cache_set存到ObjectCache中,下次直接使用wp_cache_get获取。
WordPress性能优化服务
总结一下:优化WordPress,首先下载和安装WPJAMBasic插件。然后选择好的服务器和托管商,对WordPress程序进行优化,并且使用Memcached做好缓存。
WordPress效率其实很高的,加上WordPress本身的灵活性和功能强大,WordPress作为各种建站绝对是非常不错的选择,所以我一直使用WordPress建站。
更多WordPress技术文章,请访问WordPress教程栏目!