作者记录了个人WordPress网站的优化过程,将加载速度从数秒提升到一秒以内。主要措施包括使用Docker部署以显著提升性能,配置Redis缓存来消除数据库查询延时,以及通过自定义脚本自动将图片转换为WebP格式。
其他关键优化涉及延长服务器和CDN的静态资源缓存时间,并利用WP Rocket等插件压缩和优化JS与CSS文件的加载。作者还参考了PageSpeed Insights和Cloudflare的建议,例如启用Rocket Loader功能,以进一步改善实际体验。
优化效果展示
最近建立了自己的WordPress的网站,欣喜若狂。
但是在实际自己测试的时候,发现不管是前台还是后台的加载速度都好慢啊,点一下要等两三秒之后才会加载。
不禁觉得这是一个大的问题,毕竟我自己都觉得速度太慢的话,你们用起来的体验肯定不会好。
所以研究了3天左右吧,将速度优化到现在,这个速度还是很满意的。
![图片[1]-【真实记录】WordPress速度优化指北 | docker容器 | Webp格式 | JS CSS优化 | Redis配置-Appstoy](https://appstoy.com/wp-content/uploads/2026/07/20260713205526872-image-1080x646.png)
我觉得自己值得吹嘘的了,效果如下:
- 可以看到,页面加载的时候基本上不需要查询数据库,因为我做了数据库的缓存,页面的生成时间也只有 200ms 左右。
- 网站中的图片和元素基本上都换成了 WebP 格式。对比其他格式,它具有文件大小更小、清晰度不会打折的优点。
- 网站中添加了很多乱七八糟的元素,变色、闪烁、角标等都有,并没有特地为了速度而牺牲网站的整体表现。
不仅如此,谷歌的 PageSpeed Insights 对于我的网站在电脑端有 99 的高分。
![图片[2]-【真实记录】WordPress速度优化指北 | docker容器 | Webp格式 | JS CSS优化 | Redis配置-Appstoy](https://appstoy.com/wp-content/uploads/2026/07/20260713205913467-image-1080x786.png)
当然,我不是专业的,也说不上是表现最好的网站。大家在使用中发现有什么问题,可以在评论区进行留言。
下面就和大家分享一下具体都做了哪些优化。以及每个步骤的效果如何,可以借鉴一下。
优化内容
下面分享不同的优化方向,并给出实际的代码或步骤。排序按照我能想到的,从最重要到稍微不那么重要进行排列。
docker部署
对于这一个,我是非常震惊的。但是我测试了很多次,发现确实有一个很大的影响因素,那就是我使用 Docker 部署的时候,速度表现很好。
如下面两张图所示:
第一张图是我使用 PHP 直接部署的 WordPress 网站,在后台加载一个页面的时间需要 1 秒以上。
但是当我使用 Docker 部署,安装同样的插件、全新的项目,进入同样的页面,时间只需要 0.45 秒,差了两倍以上。
![图片[3]-【真实记录】WordPress速度优化指北 | docker容器 | Webp格式 | JS CSS优化 | Redis配置-Appstoy](https://appstoy.com/wp-content/uploads/2026/07/20260713210556130-image-1080x497.png)
非docker部署页面,加载需要1秒以上
![图片[4]-【真实记录】WordPress速度优化指北 | docker容器 | Webp格式 | JS CSS优化 | Redis配置-Appstoy](https://appstoy.com/wp-content/uploads/2026/07/20260713210736575-image-1080x500.png)
同样的项目
在docker里面部署页面加载只需要0.45秒
所以说,Docker 部署这条因素算是一个基本项吧。原理的话,有专业的大佬可以在评论区科普一下是为什么。
当然,Docker 部署有利有弊:好处是部署比较简单,前台和后台的加载速度都比较快;劣势是配置起来相对来说比较麻烦,需要有一定的基础。
比如说,对于数据库和 Redis 的配置,都需要一定的 Docker 知识。我开始的时候不知道该如何配置 IP,也是学习了之后才慢慢了解的。
Redis
第二个非常推荐的优化的内容就是配置Redis,它属于无脑配置的选项。
先说一下原理:因为我们在访问网页的时候,不管是前台还是后台都需要查询数据库,而数据库的查询比较耗时间,并且次数也比较多。
而 Redis 就可以将我们查询过的数据缓存在内存里面。当下一次再查询同样的内容时,就不需要再查询数据库了,直接在内存之中进行调取,因此可以大幅改善数据库访问的延时问题。这也是我在第一章的效果表现中提到的,数据库查询基本为 0 的原因。
它的配置也很简单。首先,你需要在你的服务器上安装 Redis。我以 Docker 为例,因为 Docker 是比较复杂的,其他的话会更简单一点:
- 安装Docker版的Redis。
- 在WordPress的后台安装插件:Redis object cache,点我进行跳转。
- 如果是普通PHP安装的话,到这里进入插件打开就可以了。
- 对于 Docker 部署来说,需要配置一下 redis 的项目地址。
配置方法如下:
- 进入你的WordPress的HTML根目录。(可以在 Docker 的项目配置中找到,具体路径因人而异,我的为
/www/dk_project/dk_app/wordpress/wordpress_7Jrn/html) - 修改
wp-config.php文件,在/* Add any custom values between this line and the "stop editing" line. */下面添加如下代码
/* Add any custom values between this line and the "stop editing" line. */
// Redis Object Cache 配置
define('WP_REDIS_HOST', 'redis_aktp-redis_akTp-1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_DATABASE', 0);
define('WP_REDIS_PASSWORD', 'tw3a573ACRC68xH4');
其中 Host 是你的 Redis 容器的名称。如果它们在同一个网络里面,是可以直接使用名称的(大概就在一个网络里面)。
Port和database基本不用变,默认都是这个。第四项 password 是你 Redis 容器的密码,这个可以在容器的环境变量 .env 文件中找到。
修改好之后,进入 WordPress 后台的 Redis 插件中刷新,就可以看到连接成功,点击启用就可以启用 Redis 缓存了。
![图片[5]-【真实记录】WordPress速度优化指北 | docker容器 | Webp格式 | JS CSS优化 | Redis配置-Appstoy](https://appstoy.com/wp-content/uploads/2026/07/20260713212223406-image-1080x781.png)
这样你就可以看到你的数据库文件开始被缓存。在指标中,也可以查看花费的时间以及缓存比例等信息。
图片格式webp
对于图片的优化也是花费了我比较多的时间和精力,并且我觉得也是非常重要的一个内容。
在这个方面,我自己踩了很多坑,也调整了三四次才确定。现在这个方案,不仅在同样的图片表现下具有更小的尺寸、更快的加载速度,并且也可以自动化进行处理。
我对图片格式的使用经历了以下过程:
- 使用 JPG 压缩;
- 用 PS 导出对于WEB优化的图片;
- 手动导出 AVIF 格式;
- 自动处理所有的 WebP 格式。这是现在我在用的方案。
![图片[6]-【真实记录】WordPress速度优化指北 | docker容器 | Webp格式 | JS CSS优化 | Redis配置-Appstoy](https://appstoy.com/wp-content/uploads/2026/07/20260713212759500-image-1080x525.png)
如上图所示。我这个方案不仅对于原生加载的图片有用,并且对于后续ajax加载的图片也是起作用的。
图片缓存时间
默认情况下,图片的缓存时间只有 4 个小时,因此很容易过期。每次过期之后(也就是说 4 个小时之后),都要在你的网站上重新加载一遍所有的图片。这不仅会导致用户访问时比较耗时,并且对你的服务器负载也会比较严重。
因此,你需要配置一下你的服务器端以及 CDN 端,让你的静态资源缓存时间变长,我是设置了 1 年。
具体配置流程如下:
- 对于你的服务器,你应该在网站设置里开启缓存,并将缓存时间改为 365 天。这样可以尽可能地将静态资源(比如图片等内容)长时间缓存在用户的浏览器端。
你也可以参照一下 nginx 配置文件,代码如下:
#GLOBAL-CACHE START
proxy_cache appstoy_com_cache;
proxy_cache_key $host$uri$is_args$args;
proxy_ignore_headers Set-Cookie Cache-Control expires X-Accel-Expires;
proxy_cache_valid 200 304 301 302 365d;
proxy_cache_valid 404 1m;
location ~ .*\.(css|js|jpe?g|gif|png|webp|woff|eot|ttf|svg|ico|css\.map|js\.map)$
{
expires 365d;
error_log /dev/null;
access_log /dev/null;
}
#GLOBAL-CACHE END
- 你也需要在你的 CDN 端配置缓存时间。比如,我使用的是 Cloudflare,因此我在 Cloudflare 中进行了如下配置:
点击你的域名,在左侧找到“缓存”,然后找到“配置”,点击选择“浏览器缓存 TTL”,将它修改为一年。
![图片[7]-【真实记录】WordPress速度优化指北 | docker容器 | Webp格式 | JS CSS优化 | Redis配置-Appstoy](https://appstoy.com/wp-content/uploads/2026/07/20260713215228696-image-1080x443.png)
这样,你的静态资源(比如图片)的缓存时间就变成了长时间缓存,它可以存在用户浏览器的本地文件中。当用户下次再访问你的网站时,就不需要再重新从服务器进行调用,直接调用本地缓存就可以了。
![图片[8]-【真实记录】WordPress速度优化指北 | docker容器 | Webp格式 | JS CSS优化 | Redis配置-Appstoy](https://appstoy.com/wp-content/uploads/2026/07/20260713215336308-image.png)
因为我们的图片没有很频繁的变动,这种时长是足够保证我们的显示效果的。
JS和CSS优化
我们的网站会加载很多的JS代码以及CSS样式的代码,有很多会导致延迟、加载资源过多以及无效的请求。
对于这个问题,我直接安装了 WP Rocket插件进行优化。这方面的插件有很多,你可以选择任意你喜欢的,或者听到的其他插件都是 OK 的。
总之,这一方面优化的目的和方向就是尽可能地减少 JS 和 CSS 文件的加载。并且,启用它们的优化还可以进一步禁止字体文件等其他文件的加载。
总之,在这一方面,你可以根据 PageSpeed Insights 的报告内容进行特定的优化,我就不展开多说了。
我只想说一个点:如果你使用的是 Cloudflare 进行网站的解析和加速的话。你也可以在控制台的“速度合成监视”下面进行网站的浏览器测试。
它可以帮助你测试网站的速度,最关键的是会给出优化建议,你可以直接点击建议,进行具体功能的打开和关闭。
![图片[9]-【真实记录】WordPress速度优化指北 | docker容器 | Webp格式 | JS CSS优化 | Redis配置-Appstoy](https://appstoy.com/wp-content/uploads/2026/07/20260714211844670-image-1080x436.png)
我就是在这个功能里面,看到他推荐打开 Rocket Loader这个功能。打开之后,发现网站的加载速度确实有了明显的体感提升。
此外,你甚至可以使用 Cloudflare 里面的 Zaraz 功能来远程注入 JS 代码,比如 Google Analytics 和一些其他网站的统计代码。
这一部分就不详细展开了,你自己根据具体的分析报告去探索就行。
其他
不同网站、不同内容、不同配置的网页优化是一项比较复杂的工程,对于上面分享的这几点,我也不能保证完全能够解决你的问题。
有的时候,体感和纸面的速度是不一样的。比如我在优化的时候发现,网页的渲染速度并没有数据上的提高,但是体感上的加载速度快了很多。这是一项宝贵的经验。
但是,对于我的网站来说,它们是提高加载速度非常重要的几个点。不仅将我网页的加载速度从 4~5 秒变成了 1 秒以内,并且还优化了用户的体验,我觉得是很重要的。
在这个过程中,我也学到了很多知识,比如 Docker 的配置、JS 代码和图片格式等其他内容的知识。
如果你们有任何疑问,或者有任何更好的办法,非常欢迎在评论区进行留言。





















暂无评论内容