记WordPress博客优化过程
零.结果
受限于机器的带宽和硬件,优化后测速itdog快速测评只能做到良的水平,但是缓慢测评(没有并发限制),能跑出全国全深绿且无任何访问出错的情况。


在没有套CDN的情况下,可以看到平均延迟不到0.25s,意味着网页就是秒开。
特别说明<1>1>.本文章分享的是该博客的优化过程,并不适合所有WordPress博客,仅起到参考作用。
2.本文章借鉴https://www.cheshirex.com/wordpress-speeds (WordPress终极优化指南 | 柴郡猫)想要每个参数的更详细的解释以及设置可以参考他的文章,本教程基于自己的实际情况做了取舍。
一.前期准备
你需要以下WordPress插件:
(1)**Autoptimize **通过优化 CSS, JS, 图像, Google字体等来使您的网站更快。
注:本来一开始用的是WP Rocket,但是这个插件老是卡Bug,而且配置不会生效,所以就换用了这个Autoptimize插件。
(2)**Nginx Helper **Cleans nginx’s fastcgi/proxy cache or redis-cache whenever a post is edited/published. Also does few more things.
(3)Object Cache Pro A business class Redis object cache backend for WordPress.
你需要以下PHP扩展:
(1)opcache
(2)memcached
(3)redis
你需要以下软件:
(1)redis
二.设置
注:本教程均基于宝塔面板
(1)先安装Redis,并记住密码

(2)到软件商店安装三个PHP扩展

(3)打开网站根目录下的wp-config.php,加入以下代码
define('WP_REDIS_CONFIG', ['token' => 'XXXX', //自行获得'host' => '127.0.0.1','port' => 6379,'password' => '88888888', //如果没有设置密码,可以删掉这一块'database' => 0,'maxttl' => 3600 * 24 * 7,'timeout' => 1.0,'read_timeout' => 1.0,'prefetch' => true,'split_alloptions' => true,'strict' => true,'debug' => false,]);
(4)安装三个WordPress拓展,配置可以不用动
三.调整软件配置
(1)打开宝塔mysqld配置

按照自己的配置选,我这里选4-8G。
(2)更改Mysqld配置

把query_cache_size这项改成0
(3)重启Mysql
(4)打开redis配置,然后找到第599行

把前面的#号去掉,把后面修改成allkeys-lru。
(5)保存并重启redis。
四.禁用XML-RPC
打开 wp-include/functions.php,添加以下代码
add_filter( 'xmlrpc_enabled', '__return_false' );将以下代码加入到.htaccess,添加以下代码
<Files xmlrpc.php> <IfModule mod_authz_core.c> Require all denied </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule></Files>五.后续
(1)

本来,我以为一切都大功告成了,然后我在查看网页请求的时候,发现有几个JS请求失败了。

然后,这应该是我这个主题的bug,或者是插件的bug,有一些JS文件会压缩失败,但是插件又会请求他压缩后的文件,所以就会报错,所以我就到主题的目录把js文件都拷贝到了他请求的目录,404的问题就解决了。(每个JS压缩后只会降低0.0几KB,所以我就没有压缩了)
(2)
本来我以为一切再次大功告成了。然后我使用浏览器控制台检测我网页的覆盖率,发现有一个CSS覆盖率只有0.06%,几乎没有使用,然后有10多KB,所以我尝试把这个CSS移除,并没有影响网站访问,又节约了260ms的访问时间。

支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!












