WordPress

如何加快缓慢的 WordPress 网站:切实可行的处理顺序

网站变慢通常只有少数几个可以修复的原因。本文教你如何测量、找出瓶颈,并按正确的顺序逐一解决,避免在无关紧要的地方白费功夫。

作者:Zebra Hosting Cloud

缓慢的 WordPress 网站很少只有一个原因,通常是一堆小问题叠加在一起:臃肿的主题、未经优化的图片、没有缓存、过时的 PHP 版本,以及资源不足的主机套餐。好消息是,其中大多数都是可以修复的,而按正确的顺序处理能省下大量无谓的功夫。本指南就带你走一遍这个顺序。

先测量,再区分是服务器慢还是页面太重

凭猜测是最常见的错误。在调整任何设置之前,先记录一个基准值,这样你才能判断某项改动是否有效。用 PageSpeed Insights 或 WebPageTest 等免费测试工具检测页面,并记下三项数据:服务器发出第一个字节需要多长时间,主要内容多久出现,以及页面加载了多少个请求、多少 KB 数据。

测试你的首页,以及一两个重要的内页,比如产品页或联系页。要多测几次,因为单次结果会有波动。把这些数字记在笔记里,日后用来对比。

区分服务器慢与页面太重

缓慢大致分为两类,需要不同的修复办法。

  • 服务器响应慢。浏览器要等很久才收到任何内容。这指向缺少页面缓存、数据库查询缓慢、插件太重或主机账户过载。
  • 页面太重。服务器响应很快,但页面很大:图片大、脚本多、网页字体、轮播图和第三方小工具。这指向前端方面的工作。

如果第一个字节耗时很长,就从服务器端入手。如果它很快,但页面依然感觉慢,就从图片和脚本入手。

按影响大小排序的修复步骤

WordPress 运行在 PHP 之上,较新的受支持 PHP 版本通常比旧版本更快。请查看你的网站运行的是哪个版本,并在控制面板中切换到当前受支持的版本。如果使用较旧的插件,请先在副本上测试,因为无人维护的代码可能在新版 PHP 上出错。知识库是查找 Plesk 中具体操作步骤的好地方。

开启页面缓存

没有缓存时,WordPress 会为每位访客从头构建每个页面:加载 PHP、执行数据库查询并组装 HTML。页面缓存则会保存生成好的 HTML 并直接提供。对于大多数展示网站、博客以及页面以静态为主的网店,仅这一项改动就能最大幅度地改善服务器响应时间。

只使用一个缓存插件,不要同时装好几个。启用页面缓存、浏览器缓存和压缩,并排除必须保持动态的页面,比如网店中的购物车和结账页。

处理好图片

图片通常是页面中最重的部分。常见问题是照片直接以相机原图的几千像素宽度上传,以及图片显示出来的尺寸远小于其真实尺寸。

  1. 把图片调整到它实际显示的最大尺寸。
  2. 压缩图片。WebP 等现代格式在画质相近时通常比 JPEG 更小。
  3. 对首屏以下的图片启用懒加载。WordPress 默认对大多数图片这样做,但请确认你的主题没有把它撤销。
  4. 不要对页面顶部的主图启用懒加载,因为那会延迟访客最先看到的部分。

审查插件和主题

插件的数量不如每个插件的功能重要。一个只添加简码的小插件几乎没有开销;而一个在每个页面上执行繁重查询、到处加载大型脚本或调用外部服务的插件,自己就能拖慢整个网站。

在测试副本上逐个停用插件并重新测试,找出开销大的那些。删除所有用不上的。也看看你的主题:集成了轮播图、动画和页面构建器库的多用途主题,往往会加载你从未用到的文件。

减少第三方脚本

聊天小工具、跟踪像素、嵌入式地图和社交动态,都会向你无法控制的服务器增加请求。保留确有价值的,在页面可用之后再加载它们,其余的删除。将视频嵌入为点击播放的预览图,而不是完整的播放器,也能节省不少体积。

使用 CDN

内容分发网络会从离访客更近的节点提供你的静态文件,比如图片、CSS 和 JavaScript。当你的受众遍布多个国家时,它的帮助最大。托管在我们这里的网站可以使用 Cloudflare 的 CDN;其涵盖的内容请参阅 CDN 页面。

检查数据库

随着时间推移,WordPress 数据库会积累文章修订版本、过期的 transient、垃圾评论以及已删除插件遗留的数据。臃肿的 options 表,尤其是带有大量自动加载条目的,会拖慢每一个请求。请在备份之后谨慎清理,并考虑在 wp-config.php 中限制修订版本数量。

当主机本身成为瓶颈

如果你已经完成了以上步骤,第一个字节依然很慢,那么套餐对这个网站来说可能太小了。迹象包括:繁忙时段变慢、出现内存限制错误,以及在导入或备份时超时。从共享主机迁移到资源更多的套餐,或者较大的网站换用 VPS,可以解决任何插件都无法解决的问题。想进一步了解这一时刻何时到来,请阅读我们的 VPS 选项。

重新测试并保留记录

每次改动之后,运行同样的测试并与基准值对比。一次只改一处,这样你才知道什么起了作用。性能优化也不是一劳永逸的:新装的插件或一批大图都可能抵消你的成果,所以重大变更之后要重新检查。

Zebra Hosting 能帮你什么

我们的 WordPress 主机套餐在付款后几分钟内自动开通,配有用于管理 PHP 版本和数据库的 Plesk,并包含免费 SSL。托管网站可使用 Cloudflare CDN,如果你的网站在别处已经很慢,我们的团队可以免费为你迁移。