针对wordpress加载速度慢的原因:
1. 由于Wordpress系统默认使用谷歌字体,在国内谷歌域名被屏蔽,所以导致操作反应慢。对于很多商业主题默认使用了谷歌字体、谷歌ajax库、谷歌地图等谷歌服务,所以导致网站前台访问速度慢。
解决方法:
找到Wordpress这个文件 wp-includesscript-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张图片的字节总和。
ref:https://www.cnblogs.com/cheryshi/p/7601046.html
谷歌类库优化
disable-wordpress-updates.zip可以帮助禁用后台更新提示,包含系统、插件和主题的更新检测。
安装方法:后台-插件-安装插件-上传,启用。
后台主程序wordpress有更新可以更新,但是更新后的wordpress内代码存在google字库,影响网站速度,所以建议会优化掉谷歌字库的用户更新,不知道优化的建议不要更新。
数据库优化
wp-optimize.zip安装启用后,进入后台的wp-optimize菜单即可对数据库清理优化,正如插件的提示,建议不确定的操作前先备份数据库。
CDN加速
使用七牛、阿里云的oss对静态资源加速
目前在wordpress网站维护上,有不少的朋友选择将网站的静态资源,如图片、css、js等放入CDN进行加速处理,那么如果我们已经设置好了cdn的一些数据,并已经同步好了本地数据,那么我们如何调用cdn的数据呢?
一般来说,我们使用集中方式来调用,一种是使用插件,比如七牛就有专门适配的wordpress插件进行操作,如果你在使用静态化插件WP Super Cache ,那么你也可以使用这个插件的CDN功能对url进行替换,从而达到加速的效果。
如果你不想要使用插件,那么下面我们就来介绍一些代码,教你如何对网站的本地资源url替换为CDN资源的url。
使用代码将wordpress本地资源替换为CND资源
将文章附件图片url替换为cdn资源,这里指的是,文章内插入的本地图片、本地附件以及设置的特色图片,加入以下代码之后,所有url均会更改为你的CNDurl:
注意替换掉你的cdn的链接,这个cdn链接将会替换你的本地url:
define('CDN_HOST','http://你的CDN链接'); add_filter('the_content','z_cdn_content'); function z_cdn_content($content){ return str_replace(home_url().'/wp-content/uploads', CDN_HOST.'/wp-content/uploads', $content); } add_filter('wp_get_attachment_url','z_get_attachment_url',10,2); function z_get_attachment_url($url, $post_id){ return str_replace(home_url(), CDN_HOST, $url); }
加入上面的代码之后,你插入文章内的图片和其他附件以及特色图片都会被替换为cdn的url了,这样也就达到了加速的效果。
如果你想要将主题的css、图片以及js等静态资源替换为CDN 的url进行加速,那么可以使用以下代码:
define('CDN_HOST','http://你的CDN链接'); add_filter('stylesheet_directory_uri','z_cdn_stylesheet_directory_uri',10,3); function z_cdn_stylesheet_directory_uri($stylesheet_dir_uri, $stylesheet, $theme_root_uri) { return str_replace(home_url(), CDN_HOST, $stylesheet_dir_uri); } add_filter('template_directory_uri','z_cdn_template_directory_uri',10,3); function z_cdn_template_directory_uri($template_dir_uri, $template, $theme_root_uri) { return str_replace(home_url(), CDN_HOST, $template_dir_uri); }
将代码放入主题的function.php中即可实现了.
后台设置
禁用评论头像:网站后台,设置 -讨论-头像显示,取消勾选显示头像后点击保存更改;主要因为是gravatar在国内的服务无法使用将影响网站后台加载速度。
缓存加速
WordPress网站系统较全面,网站优化可以通过静态加速(七牛)和缓存(wp super cache缓存插件)来实现,相关教程正在制作给大家。
文件优化
网站图片优化:静态加速+PNG压缩,JPG图片压缩,对比了国内外N多压缩工具,目前这个是我常用的网站图片压缩工具:
JPG压缩:http://compressjpeg.com/
PNG压缩:http://compresspng.com/