惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
V
V2EX
Engineering at Meta
Engineering at Meta
美团技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
I
InfoQ
S
SegmentFault 最新的问题
博客园 - 叶小钗
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
IT之家
IT之家
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
月光博客
月光博客
The Cloudflare Blog
U
Unit 42
GbyAI
GbyAI
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog

杜老师说

dusays.com Python 脚本自动化实战:让重复工作一键完成 Web 应用常见漏洞与防御:OWASP Top 10 实战讲解 Home Assistant 智能家居搭建:从零打造自动化生活 从零理解 TCP/IP 协议栈:网络世界的通用语言 运维工程师面试全攻略:从简历到 Offer 的完整指南 免费学习平台精选:这 15 个网站让你省下几万培训费 开发者必备工具集:这 30 个工具让我的效率提升了 300% Hugo 静态博客从零部署:5 分钟搭建自己的个人网站 图床服务故障修复公告 周末的 3 种过法 居家办公 5 个减少分心的动作 给猫拍照的 3 个小技巧 通勤路上听播客 vs 听音乐的 2 个选择 会议室投影仪连不上的 3 个排查 雨天出差的 3 件必备 桌面零食收纳的 2 个分区 演示前一晚的 2 个检查清单 培训讲师的 PPT 怎么"听完" 出差住酒店插座的 3 个用法 培训笔记只记关键字的 3 个好处 通勤最后 10 分钟的"减速"技巧 两人吃外卖的 2 个小默契 深夜吃夜宵的 3 个节制技巧 橘猫经常跳上书桌的 3 个应对 居家办公桌前的 4 个微习惯 培训归来:把新命令收纳到 shell 的命名约定 高铁出差路上的电源与网络 3 个 fallback 夏季骑行通勤的 3 个小习惯 推荐酷鸭数据主机
WordPress 性能优化实战:从 5 秒加载到 1 秒的蜕变
Teacher Du · 2026-07-31 · via 杜老师说

朋友的电商网站用 WordPress 搭建,但打开首页要 5 秒以上,跳出率高得吓人。经过两轮优化后,加载时间压到了 1.2 秒,转化率提升了 35%。本文把这套完整的优化方案分享给你,从服务器配置、WordPress 设置到前端优化,逐步击破性能瓶颈。

性能瓶颈定位

优化之前先测量,推荐工具:

  • PageSpeed Insights:Google 官方,综合评分
  • GTmetrix:详细瀑布流分析
  • WebPageTest:多地点测试
  • Chrome DevTools:本地调试

核心指标(Google Core Web Vitals)

第一层:服务器与 PHP 优化

1. 升级 PHP 版本

PHP 8.0 比 PHP 7.0 性能提升50% 以上

1
2
3
4
5

yum install -y epel-release yum-utils
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php80
yum update -y
1
2
3

add-apt-repository ppa:ondrej/php
apt install -y php8.1 php8.1-fpm php8.1-mysql php8.1-curl php8.1-xml

2. PHP-FPM 调优

1
2
3
4
5
6
7

pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500

PHP-FPM 状态监控:

1
pm.status_path = /fpm-status

访问 http://yourdomain.com/fpm-status 查看活跃进程。

3. OPcache 配置

1
2
3
4
5
6
7
8

opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.validate_timestamps=1
opcache.revalidate_freq=2
opcache.fast_shutdown=1

启用 OPcache 后 PHP 性能可提升 30%-50%

4. 数据库优化(MySQL)

1
2
3
4
5
6
7
8

[mysqld]
innodb_buffer_pool_size = 4G
innodb_log_file_size = 512M
max_connections = 200
query_cache_size = 0
tmp_table_size = 64M
max_heap_table_size = 64M

慢查询排查:

1
2
3
4
5
6
7
8
9

SHOW VARIABLES LIKE 'slow_query%';


SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 1;


SELECT * FROM mysql.slow_log ORDER BY start_time DESC LIMIT 10;

第二层:WordPress 自身优化

1. 安装必备插件

缓存插件(选一个)

  • WP Super Cache(免费、简单)
  • W3 Total Cache(功能全)
  • WP Rocket(付费、最强)

推荐 WP Rocket(付费但物超所值),它包含了 80% 的优化功能:页面缓存、浏览器缓存、Gzip 压缩、JS/CSS 合并、懒加载等。

图片优化

  • ShortPixel / Imagify:压缩图片
  • WebP Express:生成 WebP 格式
  • WP Smush:免费版功能够用

数据库优化

  • WP-Optimize:清理无用数据(修订版本、自动草稿、回收站等)
  • Advanced Database Cleaner:深度清理

安全(不能忽视)

  • Wordfence / Sucuri:WAF + 恶意流量拦截

2. wp-config.php 调优

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

define('WP_POST_REVISIONS', 5);


define('AUTOSAVE_INTERVAL', 120);


define('EMPTY_TRASH_DAYS', 7);


define('DISALLOW_FILE_EDIT', true);


define('FORCE_SSL_ADMIN', true);


define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

3. 主题与插件优化原则

  • 主题:选轻量级的(Astra、GeneratePress、Kadence),避免多功能臃肿主题
  • 插件:能少则少,功能类似只留一个(三个缓存插件 = 没缓存)
  • 定期清理:每季度审查一次插件列表

第三层:Nginx 反向代理 + 静态资源缓存

静态资源由 Nginx 直接服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
server {
listen 80;
server_name example.com;
root /var/www/wordpress;
index index.php;


location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff2?|ttf)$ {
expires 30d;
add_header Cache-Control "public, immutable";
access_log off;
}


location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Nginx FastCGI 缓存

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
http {
fastcgi_cache_path /var/cache/nginx/fastcgi levels=1:2 keys_zone=WORDPRESS:100m
inactive=60m max_size=1g use_temp_path=off;

server {


location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;


fastcgi_cache WORDPRESS;
fastcgi_cache_valid 200 301 302 60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
add_header X-FastCGI-Cache $upstream_cache_status;

set $skip_cache 0;
if ($request_method = POST) { set $skip_cache 1; }
if ($query_string != "") { set $skip_cache 1; }
if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
set $skip_cache 1;
}
}
}
}

启用 FastCGI 缓存后,90% 的请求可以直接由 Nginx 返回,完全不经过 PHP

第四层:CDN 加速

Cloudflare(免费)

  1. 域名 DNS 改到 Cloudflare
  2. 开启 “Caching” → “Caching Level: Standard”
  3. 开启 “Speed” → “Auto Minify”(HTML/CSS/JS)
  4. 开启 “Brotli” 压缩
  5. 配置 Page Rules:
    • example.com/wp-admin/* → Cache Level: Bypass
    • example.com/wp-login* → Security Level: High
    • example.com/*.jpg → Cache Level: Cache Everything, Edge TTL: 1 month

国内 CDN

如果主要用户在国内:

  • 腾讯云 CDN / 阿里云 CDN:全站加速(动静结合)
  • 七牛云 / 又拍云:老牌稳定

第五层:前端资源优化

1. JS/CSS 合并与压缩

WP Rocket 自带,或者用 Autoptimize 插件:

1
2
3



2. 图片优化(WebP + 懒加载)

1
2
3
4
<picture>
<source srcset="image.webp" type="image/webp">
<img src="image.jpg" alt="..." loading="lazy">
</picture>

或者用插件 WebP Converter for Media 自动转换。

3. 字体优化

1
2
3
4
5


<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=...">

4. 关键 CSS 内联(Critical CSS)

把首屏渲染需要的 CSS 直接 inline 到 <head>,其他 CSS 异步加载:

1
2
3
4
5
6
7
<style>

body { font-family: ...; margin: 0; }
.header { ... }
</style>

<link rel="preload" href="/style.css" as="style" onload="this.onload=null;this.rel='stylesheet'">

WP Rocket 一键开启 Critical CSS 功能。

第六层:高级优化

1. 对象缓存(Object Cache)

WordPress 默认每次都查数据库,可以用 Redis/Memcached 做对象缓存:

1
2
3
4

define('WP_CACHE', true);
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);

安装 Redis Object Cache 插件。启用后数据库查询数能降低 50%-80%

2. 分离数据库

把数据库放到独立服务器,Web 服务器和数据库之间用内网通信,降低延迟。

3. 启用 HTTP/2 或 HTTP/3

1
listen 443 ssl http2;

HTTP/2 多路复用,大幅减少 TCP 连接数。

4. 图片响应式

1
2
3
4
5
6
<img srcset="
image-320.jpg 320w,
image-640.jpg 640w,
image-1280.jpg 1280w
" sizes="(max-width: 640px) 100vw, 640px"
src="image-640.jpg" alt="...">

优化效果对比

以朋友的电商网站为例:

业务指标:跳出率从 65% 降到 38%,转化率提升 35%。

持续监控

优化不是一次性的,需要持续监控:

  • Pingdom / UptimeRobot:在线监控
  • New Relic / Blackfire:性能剖析
  • Query Monitor(WordPress 插件):数据库查询分析

总结

WordPress 性能优化的核心思路是减少请求数、减少计算量、减少网络传输:

  1. 服务器层:PHP 8 + OPcache + 充足内存
  2. WordPress 层:好插件 + 轻量主题
  3. Web 服务器层:Nginx FastCGI 缓存
  4. CDN 层:静态资源就近分发
  5. 前端层:压缩、合并、懒加载、WebP
  6. 高级层:对象缓存、HTTP/2

按这个顺序逐步优化,你的 WordPress 也能跑出飞一般的速度。

插件缓存加载