网站上线之后,从监控上看,网站的外网响应时长竟然是5秒多,这么长的响应时长,不用想了,流量流失很多,毕竟谁能忍得了这么长的白屏以及转转圈。优化吧。
网上有许多的网站检测服务,我在IsItWP的WordPress速度测试测试网站速度,它是一个免费的WP网站速度测试服务,测试完成之后,给出网站测试报告,在报告里面看到网站的速度影响因素。
关闭WP_CRON
先来看一下关闭之后的效果
响应时长从近6秒降低到600毫秒附近,这个时长跟我的部署有关,这是合理的。我的网站入口点在墙外,主机又在墙内,而且还是性能很弱的主机,监控又在墙内,这个时长是合理时长。
注: 如果真有兴趣了解我的网站部署架构,后续再开文章写一下。
在网站上线一段时间之后,从监控上观察到响应时长一直是5秒多,但同主机的其他网站,其实也就180+ms,观察access日志,确实duration是5.xx秒,并且每次请求都有WP_CRON的请求,自己请求自己。关掉了这个WP_CRON服务,再重启网站,果然响应时长就降下来了。
// 关闭WP_CRON的方法,在wp-config.php文件里面随便找个位置加入以下代码,修改后重启网站
define('DISABLE_WP_CRON', true);
关闭之后,网站的定时服务就不生效了,因此需要由其他定时器来触发,我这里选择了Linux的Cron来触发,每5分钟触发请求,这个参数可以根据自己网站的流量来,我这个小站就无所谓了。
# Linux的Cron请求方法
*/5 * * * * curl https://life.xiezhifeng.cn/wp-cron.php?doing_wp_cron > /dev/null 2>&1
# 上面的配置中,curl也可以使用wget来替代,选自己熟悉的方法,以下方法,任选其一
wget -q -O - https://life.xiezhifeng.cn/wp-cron.php?doing_wp_cron
curl https://life.xiezhifeng.cn/wp-cron.php?doing_wp_cron
启用redis缓存
主机内存有8G,可以安装个redis,当wp的缓存服务。安装并使用Redis Object cache
插件,再配置redis连接信息,就可以了,这是我所找到的最简单的redis缓存插件,也是免费的插件,作者还有个pro版本,付费的,可以根据自己的需求来选用。
安装并配置正确之后,就可以在admin页面的顶层导航栏中看到缓存信息,命中率还是不错的,也能加速响应。
启用SEO优化
安装Rank Math SEO插件,也可以选用其他SEO插件,这个会包含了site-map优化等。安装完成之后,网站的lighthouse报告里面的SEO测试就会满分。