我看了很多评论,感觉大家的建议都差不多。
我打不开你留的链接,所以就从常规的角度聊聊吧。
尽量把WordPress升级到最新版本,并禁用一些国内不需要的服务
像谷歌字体、Emoji、Auto OEmbed、Trackbacks这些功能,基本上我们用不上。
PHP也尽量更新到WordPress支持的最高版本
别忘了安装Opcache扩展
OPcache通过把PHP脚本预编译成字节码存进共享内存,来提高性能。这样每次加载时就不需要再解析PHP脚本,省去了不少开销——来自百度百科。
一定要开启缓存(让wp_cache发挥作用)
一般来说,使用Redis或Memcached都是不错的选择。
这是为什么呢?因为WordPress为了方便开发者,提供的基础方法往往比较耗资源。例如,获取文章列表时,正常情况下一条SQL就能搞定,但WordPress却会查找对应的文章并返回整行数据。特色图片并不存储在post表里,如果你想展示,就得去postmeta表里根据ID查找。如果还自定义了其他值,比如文章展示次数,查询的复杂度就更高了,通常情况下,查询一个列表可能需要40条SQL语句。
网站优化到最后,最难的部分往往是从数据库到网站的过程。所以,SQL查询越少越好,甚至没有查询就是最理想的。
WordPress意识到了这个问题,所以大部分消耗性能的操作都做了缓存。因此,开启缓存对性能的提升非常有帮助。
(有些不靠谱的插件根本不提供优化方法,都是自己写SQL,甚至不存数据,所以选择插件时尽量选用安装次数多的。)
其次,基于页面的缓存插件也是可以考虑的
比如WP Super Cache这个插件。
CDN能用就用,但云存储要谨慎选择。
如果你没有备案,国内的CDN是无法使用的。我用过阿里云的CDN,因为它方便,只需要配置域名解析就能生效,不用安装任何插件。
说说为什么不推荐使用云存储。CDN能够提升访问速度,但存储空间和上传速度的问题就留给你自己去解决了。
这主要取决于你的网站类型。如果是小博客或公司官网,基本上是不需要云存储的。
现在普通云服务器提供的硬盘一般都是40G,网站为了优化性能,图片都需要压缩,通常保持在300KB以下,所以这40G一般是足够的。
云存储是按量收费,虽然看起来便宜,但长期来看,买一个存储盘可能更划算。
最重要的是,如果哪天你不想用了,撤回来会非常麻烦。
不过,如果未来需要使用云存储,直接上也是比较方便的。
所以,云存储最好好好权衡再决定,优先考虑使用CDN。
JS和CSS要做好压缩,但不需要合并
之前我们提到要合并,是因为HTTP 1.1虽然允许复用TCP连接,但同一连接中的所有数据通信是 按顺序进行的。服务器只有在处理完一个请求后,才会处理下一个请求。如果前面的处理特别慢,那么后面的请求就会排队,这样就会引发“队头堵塞”。所以以前的性能优化建议是尽量把JS和CSS合并成一个文件。
但如今普遍使用HTTP 2.0,它支持多路复用,因此不需要再合并,反而建议拆分开,优先加载核心文件,并做好压缩和缓存。
尽量减少图片的体积
上传图片前最好先压缩,使用体积小的格式,比如WebP或JPEG。
TinyPNG – 一款著名的图片压缩网站,且提供WordPress插件,每月可以免费压缩500张。
安装PageSpeed模块(效果非常显著)
PageSpeed是谷歌主导的前端自动优化项目,可以自动实施多项优化,显著改善前端性能,非常适合WordPress使用。
这个模块可以解决 https://pagespeed.web.dev/?utm_source=psi&utm_medium=redirect 检测中提出的大部分建议。
常用功能包括:
- 将HTML页面链接转换为小写
- 根据响应头中指定的内容安全策略进行优化
- 重写CSS文件,以便优先加载渲染页面的CSS规则
- 精简CSS文件
- 压缩空白过滤器
- 预解析DNS查询
- 缩小JavaScript文件
- 延迟加载图片
- 懒加载
- 将图片转换为WebP格式
如果服务器是Nginx,还可以开启fastcgi_cache
fastcgi_cache用于缓存用户请求,当用户再次访问时,直接返回缓存结果,避免了Nginx向上游请求的过程,从而显著提高服务性能。如果服务是静态可缓存的,使用这个模块能明显缩短用户请求时间,同时节省服务器资源,大幅提升服务的QPS。
如果以上都做好了,效果如何呢?
这是我在香港的一个2H2G服务器上跑的Demo站(非大陆请求会被防火墙影响,所以尽量用正常网络访问)。

如果不开启缓存,下面这个截图是我在本地环境下运行的,耗时不具备参考性。

静态文件方面,第一次访问加载正常后,第二次就完全走缓存了。

所以,即便是在香港的服务器上,访问速度依然相当不错。
——————
其他补充:
我收集了一些最新的服务器优惠信息,有意搬家的朋友或者想续费的可以去看看。
https://xxoo.press/

看了文章后发现,减少SQL查询确实是个好办法。
能用的插件真的不多,选择时是不是得多花点时间?
每次加载都要解析PHP脚本,真是太耗资源了!
我觉得更新到最新版本很关键,很多问题都能解决。
文章中的技术细节很有帮助,感谢分享!
建议除了使用缓存插件外,定期清理数据库也是保持网站流畅的重要步骤。
CDN的使用真的让人纠结,国内备案的问题又是个大麻烦。有没有什么好的解决方案?
每次加载都要解析脚本,听着就觉得慢,果然要好好优化!
我尝试过WP Super Cache,效果真的不错,你们有试过其他缓存插件吗?
开启Opcache绝对是个好主意,提高性能的确很明显!
关于云存储的建议很中肯,确实要根据网站类型来选择,不然容易浪费。
升级到最新版本是个好主意,特别是安全性和性能上都有提升。
听说WP User Avatar插件会影响速度,大家有遇到类似问题吗?
这篇文章提到的升级PHP版本,很多人可能忽视了,值得关注!