针对wordpress加载速度慢的原因:
1. 由于Wordpress系统默认使用谷歌字体,在国内谷歌域名被屏蔽,所以导致操作反应慢。对于很多商业主题默认使用了谷歌字体、谷歌ajax库、谷歌地图等谷歌服务,所以导致网站前台访问速度慢。
解决方法:
找到Wordpress这个文件 \wp-includes\script-loader.php,找到:fonts.googleapis.com,全部替换成:fonts.useso.com。Useso take over Google”。
2.去除复杂冗余的WordPress头部文件:
把脚本添加到FUNCTION.PHP(当前主题下)文件中
remove_action( ‘wp_head‘, ‘feed_links_extra‘, 3 ); //去除评论feed
remove_action( ‘wp_head‘, ‘feed_links‘, 2 ); //去除文章feed
remove_action( ‘wp_head‘, ‘rsd_link‘ ); //针对Blog的远程离线编辑器接口
remove_action( ‘wp_head‘, ‘wlwmanifest_link‘ ); //Windows Live Writer接口
remove_action( ‘wp_head‘, ‘index_rel_link‘ ); //移除当前页面的索引
remove_action( ‘wp_head‘, ‘parent_post_rel_link‘, 10, 0 ); //移除后面文章的url
remove_action( ‘wp_head‘, ‘start_post_rel_link‘, 10, 0 ); //移除最开始文章的url
remove_action( ‘wp_head‘, ‘wp_shortlink_wp_head‘, 10, 0 );//自动生成的短链接
remove_action( ‘wp_head‘, ‘adjacent_posts_rel_link‘, 10, 0 ); ///移除相邻文章的url
remove_action( ‘wp_head‘, ‘wp_generator‘ ); // 移除版本号
3.检查是否有垃圾评论
4.优化图片缓存
用到jQuery lazy load plugin插件解决图片缓冲 WP-Super-Cache可以缓存内容,尤其是我们的WP是用伪静态的时候
5.css、javascript改由外部调用
6.压缩Javascript、CSS代码
7.避免采用301、302转向
8.Ajax调用尽量采用GET方法调用
实际使用XMLHttpRequest时,如果使用POST方法实现,会发生2次HTTP请求,而使用GET方法只会发生1次HTTP请求。如果改用GET方法,HTTP请求减少50%!
9.使用多域名负载网页内的多个文件、图片
记得有资料说明,IE在网页载入过程中,在同1时刻,对同1域名并行加的HTTP请求数 量最高为2个,如果网页需要加载的文件数量超过2个(通常远远超过..),要加快网页访问速度,最好将文件分布到多个域名,例如19楼,其js文件采用独 立的域名,据说百度的图片服务器数量在20台以上
10.使用简答的WordPress主题,选择国内的主机商(主机空间的优化)
如果我们使用VPS服务器的时候,自己搭建的环境还是比较重要的。比如我们选择服务器的配置、内存、硬盘是否SSD等都还是关乎到网站的执行效率。比如我们需要给机器开启GZIP压缩,提高网站文件的加载速度。我们定期需要检查服务器的缓存文件,有些时候可能缓解满了导致网站打不开。
11.使用WordPress缓存插件,压缩JS和CSS文件,图片的压缩处理
如果我们的WORDPRESS程序本身的图片需要的时候,可以把图片用到一张图片上,然后进行定位获取的方法,减少图片的加载数量。或者我们可以采用类似前端框架一样的样式图片,总之尽量的少用图片到主题中。对于内容本身的图片,我们需要尽量的压缩,也可以类似JS和CSS,图片直接单独存储到第三方加速存储空间中。
12.数据库的优化工作
因为WORDPRESS都是动态的,所以我们任何的读取查找写入都会经过数据库,而且一定时间之后数据库会有不少的碎片文件,我们需要进行定期的优化。使用WP-Optimize插件定期检查数据库的多余文件和优化。
13.懒加载图片
图片懒加载也就是图片延时加载,简单点说就是只加载页面上能看到的图片,从而减短页面的等待时间,当访客需要看其他的图片的时候再加载相应的图片。这里也是推荐一个插件了,WordPress所有的问题都可以用插件解决,这是真理。(a3 Lazy Load插件)
14.使用CSS Sprites精灵图
CSS Sprites原理
CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用数字能精确的定位出背景图片的位置。
CSS Sprites优点
利用CSS Sprites能很好地减少了网页的http请求,从而大大的提高了页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;
CSS Sprites能减少图片的字节,曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。