今天分享一些WordPress经验,一步步排查WordPress速度慢、响应慢、加载慢的原因,优化WordPress提高网站速度,彻底解决WordPress慢的问题。
WordPress慢的原因多种多样,我们就根据不同原因制定不同的优化策略,从根本上解决WordPress慢的问题,提升WordPress访问速度。导致WordPress慢的原因我把它们分为这几个方面,WordPress响应慢、WordPress加载慢、WordPress主题慢。这些原因综合起来就出现我们看到的现象,WordPress打开慢、访问慢。
排查WordPress慢的原因在哪儿并指定优化措施
要找到WordPress究竟是哪里慢,我们才好针对性的做出WordPress优化策略,下面我们就用前面总结的几个方面来做讲解。
WordPress响应慢
查找慢的原因:想要判断你的WordPress是不是存在响应慢、运行慢的问题,我们可以通过浏览器的ttfb参数判读,ttfb的意思就是从你发起请求到服务器接收到的第一个字节为止花费的时间,一般静态页面在服务器未做任何优化时,ttfb一般在100ms左右。一般来说,这个数字与访问者的网络情况有关,所以为了测试出你的WordPress网站是否真的ttfb时间过长,你可以使用各大机房测速,比如17测、站长之家测速。他们都会提供详细的访问时间数据,分析这个份数据,我们就能判断出是否是因为ttfb时间过长导致的WordPress响应慢的问题了。ttfb的时间可以在chrome内核浏览器下,按F12在network标签下看到,看不见的刷新下网页即可。下图是代码狗博客首页的ttfb时间图,大家参考下。
从图中可以看出, 代码狗博客虽然也是WordPress驱动,但是ttfb只耗费了10ms,几乎让人没有延迟的感觉,怎么样,你还觉得WordPress网站速度慢吗?
优化措施:我们明白ttfb是指从你发起请求到服务器接收到的第一个字节为止花费的时间,那么我们只需要让服务器尽快接收到我们的请求即可,影响ttfb的因素主要有这几个:
- 服务器机房的网络情况。不同的网络,访问者连接到服务器的路径是不一样的,大家可以在路由跟踪里看到,有些网络只需要5层路由就到服务器,有些却需要十多层,多绕好几圈速度肯定慢。
- 域名解析速度。在你发起请求时,浏览器会先请求解析域名找到你的服务器地址,如果这一步耗时长,那就需要等待更长的时间才能到服务器那边,所以一个靠谱的域名解析服务非常重要,一般来说阿里云腾讯云百度的解析速度已经够用了。
- 将你的WordPress网页做下缓存优化,尽量减少数据库查询时间,这样网页更趋近于静态文件,服务器省去编译读取的过程,可以极大的提高响应速度。缓存优化之前说的很多,不懂的可以参考下前面的文章。
- 提高服务器的软件版本,目前php7.2的响应速度是php5.6的10倍以上,可想而知php的版本可以节省多少响应时间!
注意:我说的是测试静态文件的ttfb时间,不是动态文件,因为某些动态文件需要比较长的耗时操作,测试出来的时间不准!
WordPress加载慢
查找WordPress慢的原因:WordPress加载慢的现象非常明显,仔细观察过浏览器的响应状态的朋友就非常清楚,这里我们就不描述了,为了更方便的看到我们的网页各项资源的加载时间,我们可以通过浏览器F12的network标签下看到详细记录,注意content download项,它就是我们的资源下载耗时。针对可能出现的原因,我这里做一些优化措施。
优化措施:WordPress加载慢一般是资源加载慢引起的,比如你的网页文件有1M大小,如果你的服务器带宽只有1M,那么你的理想下载时间为T=1024kb/128kb,需要整整8秒才能完成下载,相信都觉得可怕。
- 尽量减小网页需要的资源体积,把对网页显示影响不大的js等文件放在网页底部,这样底部的文件还未加载,我们的网页就被浏览器解析显示出来了,可以让人感觉速度提升了。
- 提升服务器带宽(使用CDN也可)。既然下载速度不够,那我们提高下载速度即可,服务器带宽太贵,建议使用cdn服务器,不仅可以减少访客访问时经过的路由,降低ttfb时间,还能提高WordPress响应速度。另外CDN的带宽是非常大的,基本上下载我们网页的资源也就几毫秒的样子(相对于机房网络而言)。
- 服务器使用GZIP压缩网页体积。我们1M的网页经过GZIP压缩后,可以只剩200KB,具体的压缩比需要你设置。GZIP压缩的网页不影响浏览器解析显示,对小带宽服务器来说是非常有必要的。
WordPress主题慢
做了上面的优化,你的WordPress网站应该可以做到秒开了(开启缓存后)。如果你仍然对你的WordPress访问速度不满意,那么你可以精简下你的主题。国内拿来卖的主题一般都非常臃肿,很多功能用不上,如果你有能力的话,可以尝试修改它,去掉一些不必要的功能。如果你的服务器安装了memcached内存缓存系统,你可以为没有使用缓存的地方新增内存缓存功能,进一步减少数据库查询次数提升WordPress访问速度。
还有些朋友说WordPress在本地调试时速度慢,一般来说我们大部分人使用的都是Windows机器,PHPstudy做的环境,响应要快大家可以换块固态硬盘。或者虚拟机安装个Linux系统,再安装网站的运行环境。要知道Linux才是网站最佳的运行环境,适当的提高php版本也可以解决WordPress本地慢的问题。
下面是worpress的memcached优化教程