WordPress速度优化实操:缓存、图片压缩、数据库清理完整步骤
外贸站的速度问题,客户不会告诉你,他直接关掉走人。Google 也不会告诉你怎么改,它只是在排名里给你一个位置。
优化这件事最忌讳的是凭感觉。有人一上来就装个"一键加速"插件,CSS、JS 全合并全压缩,结果前台按钮点不动,表单提交失败,询盘直接断掉。正确的做法是先测、再改、改完复测,每次只动一个变量。
下面按层级拆开讲,从最底下的服务器往上走。越靠下的优化,收益越大。
一、先测一个基线
工具用 PageSpeed Insights(区分移动端和桌面端)和 GTmetrix,各跑三次取中间值。重点看四个数:
- TTFB(首字节时间)。超过 600ms 说明主机或后端有问题,再怎么优化前端也没用。
- LCP(最大内容绘制)。目标 2.5 秒内,通常是首屏大图或标题。
- CLS(布局偏移)。目标 0.1 以下,广告位、图片没写宽高最容易出问题。
- 总页面体积。企业站控制在 1.5MB 以内比较理想。
把改动前的数字截图存档。没有基线,你无法判断优化是有效还是自我安慰。
二、服务器层:一半的问题在这里
PHP 版本。 后台看"站点健康",PHP 8.1 或 8.2 相比 7.4,同等代码执行速度能快一倍以上。这一步不改,前面所有优化都是零。
OPcache 打开。 PHP 脚本编译结果缓存到内存,减少每次请求的解析开销。主机面板里一般有开关。
对象缓存。 装 Redis,配 Redis Object Cache 插件。WordPress 默认每次请求都查数据库,Redis 把常用查询结果放内存里。产品多、装了 WooCommerce 的站,收益明显。
Web 服务器。 LiteSpeed 环境开 LSCache 模块;Nginx 环境配 FastCGI Cache。这两者比任何 PHP 层缓存插件都快,因为缓存在 Web 服务器层就返回了,不用启动 PHP。
HTTP/2 或 HTTP/3。 主机支持就开。HTTP/2 下多文件并发加载,是"合并 CSS"这件事变成不需要的技术前提。
三、页面缓存:配置里几个必须注意的开关
用 LiteSpeed Cache 举例子,WP Rocket 的思路一致。
要开的:
- 页面缓存(Page Cache),TTL 设长一点,比如一周
- 浏览器缓存(Browser Cache),图片、CSS、JS 让浏览器本地存
- 移动端单独缓存(如果主题对移动端有独立布局)
要谨慎的:
- CSS/JS 合并。HTTP/2 之后合并收益很小,反而容易把某些插件的脚本顺序打乱。开了出问题就立刻关掉。
- 延迟加载 JS。表单、滑块、支付相关的脚本要排除,不然用户点了没反应。
- 排除规则。购物车页、结账页、会员中心、带查询参数的页面,一律不缓存。缓存的表单页面会让两个客户看到同一个询盘提交结果,这是真实发生过的安全事故。
- CDN 缓存要和插件缓存同步清。改了内容只清插件缓存,Cloudflare 上还是旧版本,你会在后台刷半小时怀疑人生。
四、图片:体积的大头
外贸站首页动辄一堆产品图,一张原图 3MB 是常态。
处理顺序:
- 上传前压一遍。设计给的图先缩到实际显示尺寸。首页轮播 1920 宽够了,产品详情 1200 宽够了,别拿 6000 像素的原图直接上传。
- 转 WebP。同画质下体积比 JPG 小三到五成。ShortPixel 或 Imagify 可以批量转,还能保留原图做回退。
- 按需生成尺寸。WordPress 上传会自动切几个尺寸,但主题常常没用上,结果页面调用的是最大那张。媒体设置里把"大尺寸"上限调到 1600 像素,减少无用文件。
- 懒加载。首屏那张图必须排除懒加载,否则 LCP 反而变差。WordPress 5.5 之后自带懒加载,要在主题或插件里把首屏图加上
no-lazyload类。 - 写死宽高。每张图有明确的 width/height 属性,CLS 才不会跳。
图片这一项做完,通常能砍掉 40% 以上的页面体积。
五、数据库清理:最容易搞坏站的一步
数据库会自己长大,主要来自这几处:
- 文章修订版本(post revisions)。每保存一次生成一条,改十次就有十条。
- wp_postmeta 垃圾。插件卸载后留下的孤儿数据,有的站这张表比文章表大十倍。
- transient 选项。过期了但没删的临时缓存记录。
- wp_options 的 autoload 数据。每次请求都会加载,超过 1MB 就是明显负担。
- 垃圾评论、待审核评论。
用 WP-Optimize 或 Advanced Database Cleaner,动手之前一定先完整备份数据库,并且在低峰时段做。清理工具删错表的案例不少,恢复靠的就是那份备份。
wp-config.php 里加一行 define('WP_POST_REVISIONS', 5);,把修订版本限制在 5 个,防止无限膨胀。
wp_options 的 autoload 部分,用插件查看哪些选项占空间最大,通常是某个停用插件的残留,可以安全删除——前提是你确认它不是主题或核心需要的。
六、前端和其他细节
- 字体。别一次加载五套字重。本地托管字体比引 Google Fonts 快,欧洲客户也不会因为 GDPR 相关问题被投诉。
- 图标。用 SVG 图标集,别加载整套图标字体库。一个 Font Awesome 全量包能有几百 KB。
- 第三方脚本。在线聊天、统计、像素、地图,每一个都是外部请求。地图换成静态截图,聊天工具改成点击后才加载。
- 首页滑块。能不用的别用。真要放,图片数量控制在三张,别搞自动轮播。
- 预加载关键资源。首屏字体和主图加
preload,能明显改善 LCP。
七、优化后的复测和记录
改完按这个表记录,方便以后回查是哪一步起了作用:
| 项目 | 优化前 | 优化后 | 手段 |
|---|---|---|---|
| TTFB | 1.2s | 0.3s | 换 PHP 8.2 + 开 OPcache |
| 页面体积 | 4.1MB | 1.3MB | WebP + 压缩 + 懒加载 |
| LCP | 5.4s | 2.1s | 首屏图预加载、去滑块 |
| 移动端得分 | 32 | 78 | 综合 |
三项原则记住:一次只改一个变量,改完立刻测,测完记下来。这样出问题能回退,也积累得下经验。
最后提醒一句:优化到 90 分之后的收益很小,把时间放到内容和询盘转化上更值。速度是门槛,不是目标。