WordPress 网站打开慢,八成不是单一问题,而是主机、插件、缓存、图片、数据库几处叠加的结果。先按下面十条逐项排查,通常能解决大部分卡顿。
一、主机性能不足或超售
虚拟主机 CPU 和内存被邻居挤占,PHP 执行慢,页面自然打不开。解决方法:换独立资源或 VPS,至少 2 核 4G 起步。
# 用 ab 压测看响应时间
ab -n 100 -c 10 https://你的域名/
二、缺少页面缓存
每次访问都跑 PHP 和数据库,速度必然差。装缓存插件生成静态 HTML:
推荐:WP Rocket、LiteSpeed Cache、W3 Total Cache
开启页面缓存 + 浏览器缓存 + 对象缓存(Redis/Memcached)
三、图片未压缩且尺寸过大
首页一张 3MB 的图就能拖慢几秒。上传前用工具压缩,并启用 WebP。
# 用 cwebp 批量转 WebP
cwebp -q 80 image.jpg -o image.webp
插件可选 Smush、ShortPixel、Imagify,开启懒加载。
四、插件过多或劣质插件
每个插件都可能加载额外 CSS/JS 和数据库查询。建议:
- 停用并删除不用的插件
- 用 Query Monitor 查看慢查询和钩子
- 避免功能重复的插件
五、数据库未优化
wp_options、wp_postmeta 表膨胀会拖慢查询。定期清理修订版本、垃圾评论、瞬态数据。
-- 删除修订版本
DELETE FROM wp_posts WHERE post_type = 'revision';
-- 优化表
OPTIMIZE TABLE wp_posts, wp_options, wp_postmeta;
六、PHP 版本过低
PHP 7.4 已停止支持,PHP 8.x 性能提升明显。在主机面板切换:
PHP 8.0 / 8.1 / 8.2 均可,优先 8.1+
七、未启用 CDN 和 HTTP/2
静态资源走 CDN 能降低延迟。Cloudflare 免费版即可开启 HTTP/2、HTTP/3 和 Brotli 压缩。
# Nginx 开启 Brotli 示例
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/javascript image/svg+xml;
八、主题代码臃肿
多用途主题带大量演示功能,加载慢。换轻量主题如 GeneratePress、Astra、Blocksy,并用子主题精简。
九、外部脚本拖累
Google Fonts、统计代码、广告脚本会阻塞渲染。把非关键 JS 加 defer 或 async,字体本地化。
<script src="xxx.js" defer></script>
十、未开启 Gzip/Brotli 与浏览器缓存
文本资源压缩后能小 70%。Nginx 配置示例:
gzip on;
gzip_types text/css application/javascript application/json;
gzip_min_length 1000;
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
按顺序做:先换好主机和 PHP 8,再开缓存和 CDN,然后压缩图片、清理数据库、精简插件。每步用 PageSpeed Insights 或 GTmetrix 复测,通常能把加载时间从 5 秒压到 1 秒内。


