WordPress速度优化菜鸟实用版

2024年12月20日

WordPress的性能一直被大家所诟病,稍微高点并发就会导致服务器资源爆满。但是WordPress的建站生态一直很好,主题和插件非常之全,版本更新非常及时极少出现大规模漏洞这也导致大部分人离不开WordPress的生态。

今天整理下个人的速度优化经验给大家做一个参考。此优化教程是边整理边查找资料和测试写完的,所以时间跨度会长一些。另外后续过程如果发现文章错误的地方会做二次修改,大家如果按照本文内容做了相关操作,后期也可以关注下文章看是否有更新。

2026年1月28日更新:  新增2篇文章

WordPress优化–使用Query Monitor插件监测页面耗时

WordPress优化–开启 Nginx FastCGI 缓存教程

 

前言

在正式开始写优化教程之前,非常有必要先说下本人的操作思路和步骤。便于您理解并根据自己站点的实际情况进行调整。

不同站点的内容不同,所面对的群体也不一样,站点后期管理维护过程也不同。所以大部分人都不要照抄本文的操作方式,一定要按照自己的实际情况进行优化。

首先优化原则是尽可能提高页面加载速度,同时保证网站的“动态性能”。让网站的评论提交、商品购买等动态交互保证可用并提高响应速度。

在优化步骤上,优先保证后期的程序备份、升级、迁移、后期维护移交等操作的简便性。所以本文中对于WordPress以及服务器上PHP和MySQL等程序上的操作会优先使用插件,而尽量避免(并非不使用)在配置文件使用代码的操作。对于个人和企业站点,便于后期工作交接及站点过多导致长时间不维护后,遇到故障维护无法找到修改内容位置的情况。

一般来说常见3种类型站点:

1.本站这种偶尔更新,评论数量不多(评论全部人工审核显示,无其他提交表单)。会经常查看网站后台,没有其他动态交互内容的网站。

此类网站可以将页面进行全静态化处理,可以极大提高页面响应速度。

2.网站内容以展示为主,但需要一部分动态性能的站点(评论、询盘表单提交、内容搜索等需求)。

可以将大部分页面选择静态化,将表单提交等页面以动态展示。静态化页面内有评论需求的则设置评论后自动刷新关联页面。

3.网站内容需要经常更新,并且有 WooCommerce 等商店购买与支付、评论与表单提交等全动态站点。

此类站点大部分都是做电商的站点,优化上也是最费心,效果也是最差的。博主会尽量写一些能提高这类站点性能的文章。

优化对象有哪些?

根据本人的实际使用体验来说,常见占用资源的程序是MySQL和PHP程序。基本在服务器资源出现高占用时都是MySQL或者PHP导致的。

优化中也是尽量减少数据库查询以及PHP的执行。

再进行本站的优化步骤前,建议先备份网站文件和数据库

 

服务器的位置和性能选择

WordPress优化–服务器地理位置区域的选择

服务器位置尽量选靠近我们业务地区,详细的可以阅读上面文章来做选择。

CPU分数

服务器除了地理位置之外,我们还需要关注它的性能水平。我们买的VPS云主机99%都是超开的。比如物理机是32核32G的配置,开出来云主机一般会是64个1核1G的配置,甚至数量更多。我甚至见过一个E3 4核8线程处理器开出来60多个1核云主机的商家。

云主机的配置无法代表真实的性能水平,一般来说可以使用一些性能测试脚本来检测服务器性能。不过性能检测仅代表当时的性能参数,后续商家可能会继续在机器上新开其他云主机导致性能下降。

测试脚本可以用Yabs.sh、融合怪测评脚本、Unix Bench等。

CPU分数中 Sysbench、Geekbench 5 和 Geekbench 6 目前市面上都是这三种跑分,一般建议参考 Geekbench 6 和 Sysbench 的分数,更贴近实际使用场景。Sysbench的分数要比Geekbench的高4倍,有时候高2倍不到差异较大。

Sysbench测试维度:CPU、内存、磁盘IO、数据库等方面性能,更适合服务器相关运维场景。

Geekbench 6测试维度:CPU、内存性能,网页浏览、社交、照片编辑、AI推理等使用场景。

Sysbench测试可以使用融合怪测试脚本

Geekbench 6 能在1000分以上,都算是性能不错的机器了。6要比5版本的分数高,一般是参考 Geekbench 6 的分数比较准确,更贴近实际使用场景。一些商家的AMD 7950X和9950X CPU单核 Geekbench 6 能跑到3000的分数,这是性能非常好的服务器了。

Geekbench 6 测试可以使用 Yabs.sh 测试脚本。

宝塔面板自带的CPU跑分,一般是 Geekbench 6 测试的两倍甚至更多,建议统一参考 Geekbench 6 和 Sysbench 的分数来综合考虑。

请注意,目前市面上仍然有很多服务器使用 E5-2650v1 等很老的CPU。这些老架构的处理器在使用最新的服务器程序时有可能遇到意料之外的卡顿情况(比如执行PHP动态请求)。很多大公司经常更新换代服务器硬件也有这方面原因。

一般建议使用新架构的处理器,起码要intel V3及以上的处理器。AMD因为历史上不被大众接受,目前市面上运行的服务器基本都是比较新的处理器,无需考虑此问题。

内存分数

内存一般不需要我们太关注分数,内存的速度都非常快。极少会成为我们的性能瓶颈。

如果您对内存有较高速度要求,可以在选购时买内存是 DDR4 及 DDR5 代的云主机。

磁盘分数

磁盘速度对我们的性能至关重要!我们所有的网站文件都要从磁盘读取,MySQL等程序也要大量使用磁盘存储。磁盘速度慢会严重影响我们服务器的运行速度,特别是数据库的数据读写请求频率高的情况。

其中大部分都是小文件的读写请求,所以我们使用任意测试脚本关注他的4K性能。

常规云主机的4K带宽速度在 10MB/s 左右,一些性能较好的服务器4K速度能达到 几十MB/s 的速度,一般这些都是 NVME SSD 接口的磁盘,不是常规的SSD固态盘。

一些商家还使用NVME的磁盘做了磁盘阵列速度会更快,高达590MB/s的4K速度。

专业点来讲是4K性能建议参考iops参数,而不是常见的读写带宽速度。比如上图的IOPS148K。

内存盘

如果您的服务器内存比较大,但是磁盘速度比较慢。可以使用宝塔面板Linux工具箱里的内存盘将内存分出一部分,挂载到文件的缓存目录。

内存盘在服务器断电时会丢失数据,请不要将它作为长期文件存储。建议作为网站页面缓存的目录,这即便文件丢失也不会影响我们的数据安全。

服务器环境程序优化

选择了一台高性能的服务器之后,我们还需要对服务器上安装的环境程序做一些设置。

比如宝塔我们在安装完需要的程序后,建议开启离线模式,可以提高宝塔面板操作的流畅性。

然后就是PHP和MySQL的优化了,其中MySQL的设置最为重要。后期使用当中,大部分是MySQL降低了我们网站的响应速度。

调整 MySQL 和 PHP 参数

WordPress优化–MySQL数据库参数调整

WordPress优化–PHP性能参数调整

使用 Redis 缓存

Redis可以极大的减少我们对数据库的使用,实测可以提高很多响应速度。

下面是一些关于Redis的使用文章。

宝塔linux面板环境wordpress网站安装开启Redis缓存
上面这个文章里面的WordPress Redis插件建议使用下面的 Redis Object Cache Pro

WordPress 数据库缓存插件 Redis Object Cache Pro

Redis数据淘汰策略设置

宝塔Linux面板Redis进程守护(使用Supervisor)

对普通网站来说,如果网站 MySQL 数据库和网站 PHP 文件是分开不同服务器使用的。将 Redis 和网站 PHP 文件放在一台服务器上,尽量避免PHP远程调用数据库的行为。Redis放在本地可以提高我们数据的响应速度。

如果网站比较庞大,Redis单独使用了一台主机,要保证Redis和PHP在一个内网上,通过内网1ms及以下的延时来互相通讯。

Redis和PHP通讯延迟高会增加PHP任务等待时间,在遇到高并发或者攻击流量时,很容易就会使服务器宕机。

网站程序优化

设置好了服务器的网络和程序,我们就需要继续对网站程序进行优化设置了。

网站速度检测

一般是先对网站测个速,看看自己站点的实际情况,然后再针对性的设置。

网站的速度检测与网站速度慢的原因排查可以查看下文。

WordPress优化–网站速度的检测与原因判断

合并CSS和JS文件

WordPress优化–合并CSS和JS文件

合并这些文件可以降低页面请求数量,一些不适合合并的资源需要我们手动排查下,将其加入排除列表。

使用页面缓存插件

WordPress优化–使用页面缓存插件

页面缓存插件是提升我们网站响应速度的利器。开启页面缓存,如果您是一个不经常更新的博客,它可以将你的网站提升到几乎和静态网站一样的速度。

不同的缓存插件设置有些不同,上面文章没有介绍每个插件的设置,需要您自己设置一下。

使用CDN加速网站

在处理了服务器和网站程序的设置后,我们可以再开启CDN来加速我们的网站。

国内加速

如果您是面向国内用户访问,可以考虑阿里腾讯这些大公司的CDN产品。

个人推荐国内使用腾讯的 EdgeOne CDN ,这个产品有免费的网站防护功能。而且计费合理,对于一些攻击流量不会产生计费。如果被攻击消耗了很多流量可以发工单找客服免掉这些流量。

EdgeOne CDN 设置可以看:腾讯云 EdgeOne CDN设置介绍

国际加速

国际加速仅推荐 CloudFlare CDN 免费而强大,在全球都分布有加速节点,抗攻击性能极其出色。

需要注意考虑CDN回源问题,如果你网站服务器在大陆境内,CloudFlare的回源速度会比较慢,建议网站服务器也放到境外地区。比如美国和欧洲地区,或是香港和新加坡也可以考虑。

CDN缓存设置

CDN加速各家有一些不用设置,这里说下网站基础的加速规则,在各家CDN都通用。

静态文件加速

jpg、jpeg、png、gif、svg、webp、bmp、tif、avif、ico、mp3、mp4、webm、zip、7z、rar、exe、gz

上面这些文件可以设置为最长的缓存时间,此类文件基本不会二次修改。

css、js、woff、woff2、xml

这类文件修改的频率就相对高了一些,每次我们更改网站设置和页面都会产生变动,一般是设置7天左右的缓存时间。如果是不更新的站点,可以将此类似文件时间提高。

节点缓存

各家CDN都有设置节点缓存时间的选项,节点缓存可以设置为1天或7天。你设置高了也没有用,CDN厂商那里不会一直缓存你的文件。如果网站更新少,也可以设为30天。

浏览器缓存

建议设置为12小时,这个是在访客浏览器本地缓存的文件,设置过高可能影响访客下次打开页面的内容更新。

也可以设置更长的缓存时间,比如设为1个月或3个月。网站通过版本参数来控制更新。

其他可选优化设置

Redis Object Cache Pro 除了默认之外,还有一个高性能模式可以查看下面文章来开启。

WordPress优化–使用 Redis Object Cache Pro 高性能模式

 

给这篇文章做个评分吧。

平均评分 5 / 5. 投票数: 6

2024年12月20日

Posted by 柴郡猫