

这是一个老生常谈的问题,作为一个Wordpress老用户,从上高中那会儿就开始接触Wordpress,转眼间已经过去十几年,从精神小伙用到了中年大叔😂,前前后后也用它建立了数百个网站。作为一个免费开源,且插件众多的CMS程序,强大的社区、灵活的自定义,有别于 Shopify 等一众程序,这让我实在想不出不用它的理由。
对于很多新手朋友来说,觉得它实在臃肿,实在吃力,其实这也不假!从最开始使用PHP 5.2到现在已经到了8.1、8.2,Wordpress也迭代了很多,特别是现在组合上 WooCommerce 以后简直可以说是 CPU 杀手😂!曾经我经常在一台2核服务器搭建很多个Wordpress站点,到现在4核服务器我只敢放两个上去。这也不奇怪。就像玩游戏一样,随着硬件的迭代更强大的性能,必然会带动软件的升级使用更多资源。
那么现在的 WordPress 是不是就没救了呢?其实也不然,如果做一个测试,在什么都不装的情况下,刚安装好的Wordpress速度还是很快的。那什么原因导致你越用越卡呢?根据我的个人经验简单总结下来有下面几点:
1.主机选择:首先说一下你是该去选择一个虚拟主机,还是一台VPS服务器。那什么是虚拟主机?什么是VPS?
简单的说 虚拟主机 是合租屋中的格子间,带家电拎包入住,很小很简陋,刚好满足你睡觉。大多东西不属于你,大家共享,只有房东可以控制,你有什么事都去找房东问,适合完全不懂的小白用户。
VPS主机 一台电脑(你把服务器想象成一台特殊用途的电脑)如果硬盘空间够、内存够、CPU性能够,理论上可以建立无数的VPS虚拟机。你购买的 VPS 就像一栋楼里面的一套,你拿到的只是毛胚,啥都没有。装修自己来,你自己控制水电、家电,按时缴房贷租金就好。你也可以把你的这套隔成很多小间,做成虚拟主机出租给别人,你来当房东。VPS主机更适合有点基础的用户。
从价格而言 VPS 更具性价比,一般常见的 WordPress 主机提供商如:hostinger、siteground、bluehost 等大多最便宜价格在$2.95/月,一年下来最便宜大概在 $35 刀左右。如果选择 VPS 如 Racknerd 、 Cloudcone 等活动期间的机器价格只需 $18-40刀左右一年,很多 VPS 价格和 虚拟主机 是一个价,或者说相差不大。那既然都是付出同样或差不多的价格,那肯定是更大的空间,更强的性能,更大的带宽更有性价比。就我而言我会选择 VPS,那么什么样的 VPS 能满足 WordPress + WooCommerce 独立站的搭建?在最近的测试中,给我感觉 VPS 至少要满足 2核2G 才能满足 WordPress + WooCommerce 独立站的搭建,特别是你如果还使用最新版的 WordPress 和 WooCommerce。如果你想在一台 VPS 上搭建多个站点,那么至少 4核4G 当然这不是硬性标准,这取决于你站点所使用的服务多少。2核2G 感觉是一个最低的标准,我也试图在单核机器上运行,结论是能运行,但如果存在 WooCommerce 那么很容易让 CPU 满载,感觉网站随时像被DDos攻击很卡顿,并且随着你使用的时间增长最终不得不搬家,流出足够的冗余很有必要。
我整理了一下去年黑五活动 Racknerd 、 Cloudcone 还有货的机型,使用 VPS 还有一点是为了使用 Cloudflare CDN, 对于外贸独立站而言使用Cloudflare很有必要,他们的机房遍布全球,能很好为站点起到加速作用,Cloudflare会自动缓存站点图片、JS、CSS,当用户访问的时候从最近的节点向用户提供数据,从而加快访问速度,同时也给站点安全一定保障。如果使用虚拟主机大多需要将域名DNS绑定主机提供商,从而无法使用CDN,或主机提供商有提供CDN服务,但需要单独收费。
| CPU核心数 | RAM | 硬盘容量(SSD) | 每月流量 | 费用(年付) | 网络带宽 | 购买链接 |
| 2核 | 2.5 GB | 40 GB | 3000G | $18.93 | 1 Gbps | 前往购买 (入门) |
| 2核 | 3 GB | 60 GB | 5500G | $27.89 | 1 Gbps | 前往购买(超值!) |
| 3核 | 4.5 GB | 100 GB | 8500G | $39.88 | 1 Gbps | 前往购买(进阶) |
| 4核 | 5 GB | 130 GB | 12000G | $55.93 | 1 Gbps | 前往购买(冗余) |
| CPU核心数 | RAM | 硬盘容量(SSD) | 每月流量 | 费用(年付) | 网络带宽 | 购买链接 |
| 3核 | 2 GB | 120 GB | 3T | $24 | 1 Gbps | 前往购买 |
| 6核 | 4 GB | 240 GB | 4T | $44 | 1 Gbps | 前往购买 |
是否有必要将 WordPress 升级到最新?如果你需要使用的东西只能在 PHP8.0 以上运行,那没办法只能升级,反之则不必!其实我更鼓励不要经常升级,1是升级以后可能覆盖之前的代码导致不必要的问题,2是升级以后可能会产生更大的性能损耗。而且很有可能升级以后的新功能你完全不想用,对于一个运营站点稳定压倒一切。如不是很有必要,建议不要轻易升级。
2.插件及主题选择:这是一个需要平衡的问题,功能、外观、性能,这三样肯定不可能全都要。需要有所取舍,有的主题很好看,功能很多。但过多的功能和效果就代表过多的JS与CSS,稍不注意很可能就是你网站卡顿的最大元凶。尽量少的安装插件,如无必要插件一定要能省则省,每实现一个功能都需要更多的代码和JS,开发者可能并无法兼顾到所有人的实际情况,很可能它的某一段代码就让整个站点冲突。一段不兼容的JS也很可能让你数据库进入一个死循环,上线之前最好先进行测试,确认没问题再使用。
举个简单的例子,Elementor 是一个很普遍的页面编辑器,很多新手都很喜欢使用,因为够直观。但如果用不好它将会是个灾难,它本身默认的很多JS是在所有页面前端后台都会加载,很可能你编辑的一个效果使用了一段JS,但这段代码或JS你仅仅是想在某个页面才使用,但你并没有对它进行限制,它将会无时不刻的在网站任意页面加载,这种死循环怎么会让网站不慢?更建议你使用Wordpress自带的block进行编辑,因为生成的代码仅仅是在当前页面而不是整个网站。类似 Elementor 这种直观编辑器本身就是很复杂的PHP和大量的JS构建而成,它的存在本身就需要更多资源和性能。
如可以的情况最好是静态页面+静态JS和CSS,开启CDN不仅会提升一定的安全度,也会更好的加载JS和CSS。
在测试了很多主流主题插件后,比较推荐的是使用 Blocksy Pro 主题,它是迄今为止本人找到速度最快,功能最多、自定义范围最大的主题,它支持古腾堡编辑器,同时也支持 Elementor,如你使用 Elementor 请注意一定对它的JS进行部分限制,最推荐的方式还是使用古腾堡编辑器进行页面编辑。不仅仅是原生编辑器支持最好,同时也避免 Elementor 出问题的时候所有页面编辑尽失或无法编辑的情况。
3.媒体文件:如同前面的JS和CSS一样,媒体文件的大小远远超过它们的大小。如果JS和CSS都能造成站点卡顿,过大的媒体文件会进一步加剧这个问题。很多用户喜欢首页出现巨大的轮转banner,但图片本身又未压缩,很可能他使用的一个JPG文件超过500KB,当多个图片需要加载无疑也很容易拖慢网站速度。
合理的做法是使用压缩后的 Webp 格式图片,如果能用代码表示就一定不使用图片,如果非要用图片那也最好是透明背景并且压缩过的图片,能使用代码实现动态效果,就一定不要用GIF或者视频。
如果非要使用视频,那视频一定是点击以后弹出窗口再加载,而不是直接在打开页面时候加载。很多用户还喜欢在网站打开的时候播放音乐,但音频文件是最没必要在网站加载中出现的东西。如果非要加载音频文件,和之前提到的视频文件同理,它也应该是弹出窗口或者点击播放以后才加载。如果一个页面超过3秒没能正常加载,很可能浏览者失去耐心关闭页面,这是非常得不偿失的行为。
4.数据库:过大的数据库也会导致网站无比卡顿,随着使用时间的增长,数据库本身会记录很多内容,特别是当你使用了采集插件的时候。WordPress新的版本,本身来说已经不算轻量,类似如果采集的内容使用插件写入大量不必要代码,每次访问都要反复查询,这会让整个网站卡顿情况进一步加剧。定期清理不必要的数据,减少暂存,减少暂存频率都有助于有效降低数据库大小。曾经遇见过一个用户,光数据库大小就超过2G,这在站点运行的时候对内存和CPU都造成巨大压力。当清理他数据的时候发现不仅仅站点本身文件就超过5G,数据库文件也超过2G,基本等于网站无法正常使用,最终只能舍弃站点。不要在站点中留下很多草稿,某些内容一段时间以后如已经没存在的价值就应当清理掉。定期查看数据库大小,找到导致数据库增大的原因并解决,同时还应当配合 redis 、fileinfo、opcache等PHP插件使用。
5.JS使用否合理:相信这是一个绕不过去的问题,如同前面提到的,无论主题,还是插件都包含大量的JS文件。当你每增加一个插件,相信至少会增加1-2个JS文件,但只要其中任意JS代码有问题,比如代码不合理,或者引用数据库内容不合理,或和其他的文件、插件冲突等,都会导致资源大量消耗,从而导致卡顿。在之前就遇见过JS中仅仅有一处不太合理,让浏览器使用资源飙升,一旦屏蔽这段JS 本地电脑CPU使用量骤减70%。JS代码不仅仅会导致服务器问题,也很容易导致你本地电脑浏览时出现资源使用超标的问题。
6.服务器安全:如果站点存在大量机器人蜘蛛程序扫描,也很容易消耗服务器大量资源,从而导致服务器资源不足造成卡顿。在前一段时间就发现大量的openai蜘蛛程序爬取,配合 robots.txt 文件都爬取内容进行声明的同时,还应该限制很多恶意机器人和爬虫程序扫描,仅允许安全你熟知的bots通过。
总结下来:选择合适的主机;尽量减少插件,不用的主题和插件都应当删除;使用合理的编辑器;压缩你的媒体文件并缓存;定期清理数据库;尽量减少JS代码;做好服务器安全。
如果这一切你都尽力了,还是无法解决也欢迎 联系我们 寻求帮助!