一、准备工作(必做)
1.1 开通阿里云 CDN 服务
- 登录阿里云 CDN 控制台,完成实名认证
- 选择全站加速套餐(推荐企业版,支持规则引擎等高级功能)
- 准备加速域名(如
www.你的域名.com),确保已完成ICP 备案
1.2 添加加速域名(核心步骤)
| 配置项 | 取值 | 说明 |
|---|---|---|
| 加速域名 | www.你的域名.com |
需与网站主域名一致或为子域名 |
| 业务类型 | 网站加速 | 选择 “全站加速” 模式 |
| 源站类型 | 域名 | 填写网站源站域名(如origin.你的域名.com) |
| 回源协议 | HTTPS | 推荐启用 HTTPS,确保数据安全 |
| 端口 | 443 | HTTPS 默认端口 |
操作步骤:
- 控制台 → 域名管理 → 添加域名
- 填写上述配置,完成源站信息设置
- 提交后获取CNAME 地址(如
xxx.cdn.aliyun.com)
1.3 配置 DNS 解析(关键)
- 登录域名注册商 DNS 控制台(如阿里云 DNS)
- 添加CNAME 记录:
- 主机记录:
www - 记录类型:
CNAME - 记录值:填写 CDN 分配的 CNAME 地址
- 主机记录:
- 保存解析,等待10-30 分钟生效(TTL 设置为 600 秒)阿里云帮助中心
1.4 配置 HTTPS 证书(安全必备)
- 控制台 → 域名管理 → 选择加速域名 → HTTPS 配置
- 勾选 “HTTPS 安全加速”,选择证书类型:
- 阿里云购买证书:选择 “云盾”,自动导入
- 第三方证书:手动上传证书文件和私钥
- 启用HTTP 强制跳转 HTTPS,提升安全性
二、后台排除规则配置(核心重点)
2.1 必须排除的关键路径(原理与作用)
| 路径 / 文件 | 作用 | 排除原因 | 缓存策略 |
|---|---|---|---|
/wp-admin/ |
WordPress 后台管理目录 | 缓存会导致登录状态异常、设置不生效 | 0 秒(不缓存) |
/wp-login.php |
登录入口文件 | 缓存会导致登录失败、验证码失效 | 0 秒(不缓存) |
/wp-register.php |
注册页面 | 缓存会导致注册流程异常 | 0 秒(不缓存) |
/wp-cron.php |
定时任务文件 | 缓存会导致定时任务(自动更新、备份)无法执行 | 0 秒(不缓存) |
/*?preview=true |
文章预览链接 | 缓存会导致预览内容不更新 | 0 秒(不缓存) |
/wp-json/* |
REST API 接口 | 缓存会导致 API 数据异常 | 0 秒(不缓存) |
2.2 阿里云 CDN 后台排除规则设置步骤
- 进入 CDN 控制台 → 域名管理 → 选择加速域名 → 管理
- 左侧导航栏 → 缓存配置 → 缓存过期时间 → 添加规则阿里云帮助中心
- 按以下顺序添加5 条核心规则(优先级从高到低):
规则 1:排除 /wp-admin/ 目录(最高优先级)
| 配置项 | 取值 | 说明 |
|---|---|---|
| 规则名称 | 排除 WP 后台目录 | 便于识别规则用途 |
| 规则类型 | 目录 | 匹配整个后台目录及所有子路径 |
| 匹配内容 | /wp-admin/ |
必须包含末尾斜杠,确保完整匹配 |
| 缓存时间 | 0 秒 | 不缓存该目录下任何内容 |
| 优先级 | 1 | 最高优先级,优先于其他规则 |
| 备注 | WordPress 后台管理目录,防止缓存导致操作异常 |
规则 2:排除 /wp-login.php 文件(次高优先级)
| 配置项 | 取值 | 说明 |
|---|---|---|
| 规则名称 | 排除 WP 登录页面 | 便于识别规则用途 |
| 规则类型 | 文件 | 精确匹配登录入口文件 |
| 匹配内容 | /wp-login.php |
完整文件名,确保精确匹配 |
| 缓存时间 | 0 秒 | 不缓存登录页面 |
| 优先级 | 2 | 次高优先级,仅次于后台目录规则 |
| 备注 | WordPress 登录入口,防止缓存导致登录失败 |
规则 3:排除注册与定时任务文件
| 规则名称 | 规则类型 | 匹配内容 | 缓存时间 | 优先级 | 备注 |
|---|---|---|---|---|---|
| 排除注册页面 | 文件 | /wp-register.php |
0 秒 | 3 | 防止注册流程异常 |
| 排除定时任务 | 文件 | /wp-cron.php |
0 秒 | 3 | 确保定时任务正常执行 |
规则 4:排除预览链接与 API 接口
| 规则名称 | 规则类型 | 匹配内容 | 缓存时间 | 优先级 | 备注 |
|---|---|---|---|---|---|
| 排除文章预览 | 全路径正则 | /*?preview=true |
0 秒 | 3 | 确保预览内容实时更新 |
| 排除 REST API | 目录 | /wp-json/ |
0 秒 | 3 | 确保 API 数据实时性 |
规则 5:全站缓存与静态资源长缓存
| 规则名称 | 规则类型 | 匹配内容 | 缓存时间 | 优先级 | 备注 |
|---|---|---|---|---|---|
| 全站动态缓存 | 目录 | / |
5 分钟 | 4 | 首页及动态页面缓存 |
| 静态资源长缓存 | 文件后缀 | jpg,png,gif,js,css,woff,woff2 |
30 天 | 5 | 静态资源长期缓存,提升性能 |
2.3 高级排除配置(规则引擎,推荐)
对于需要更精细控制的场景(如已登录用户排除缓存):
- 进入 CDN 控制台 → 域名管理 → 选择域名 → 规则引擎阿里云帮助中心
- 创建规则:
- 规则名称:已登录用户不缓存
- 匹配条件:
http_cookie 包含 wordpress_logged_in - 执行操作:
缓存过期时间设置为0秒 - 优先级:2(仅次于后台目录规则)
- 保存规则,确保已登录用户所有请求直接回源
三、回源配置与防盗链设置(配合排除规则)
3.1 回源配置(确保动态内容正常传递)
- 进入 CDN 控制台 → 域名管理 → 选择域名 → 回源配置
- 开启以下选项:
- 携带 Cookie 回源:选择 “全部“,确保登录状态正常传递
- 携带 Query String 回源:选择 “全部“,确保预览、分页等参数正常
- 回源跟随 3xx 重定向:开启,确保源站重定向正常
- 保存配置,避免动态内容传递异常
3.2 防盗链设置(防止资源盗用)
- 进入 CDN 控制台 → 域名管理 → 选择域名 → 访问控制
- 开启Referer 防盗链:
- 防盗链类型:白名单
- 允许的 Referer:
*.你的域名.com(添加主域名及子域名) - 允许空 Referer:关闭(防止直接访问资源)
- 保存配置,保护静态资源不被其他网站盗用
四、WordPress 插件联动配置(提升加速效果)
推荐选择支持中文的缓存插件,以下以LiteSpeed Cache(免费,官方中文)为例:
4.1 插件安装与基础设置
- WordPress 后台 → 插件 → 安装插件 → 搜索 “LiteSpeed Cache”
- 安装并启用插件,进入LiteSpeed Cache设置页面
- 基础设置 → 启用页面缓存、对象缓存、数据库缓存
4.2 CDN 配置(与阿里云 CDN 联动)
- 进入插件设置 → CDN → 启用 CDN
- 填写以下信息:
- CDN URL:
https://www.你的域名.com(阿里云 CDN 加速域名) - 包含目录:
wp-content/,wp-includes/,uploads/ - 排除目录:
wp-admin/,wp-login.php,wp-cron.php(与 CDN 排除规则一致)
- CDN URL:
- 勾选 “自动替换静态资源 URL“,插件自动将静态资源路径替换为 CDN 地址
4.3 缓存排除规则同步(插件侧)
- 进入插件设置 → 缓存 → 排除
- 添加以下排除规则:
- 永不缓存 URL:
/wp-admin/*,/wp-login.php,/wp-cron.php,/*?preview=true - 永不缓存 Cookie:
wordpress_logged_in_*
- 永不缓存 URL:
- 保存设置,确保插件排除规则与 CDN 排除规则一致
4.4 wp-config.php 优化(强化排除效果)
在 WordPress 根目录的
wp-config.php文件中添加以下代码:php
运行
// 确保后台不被缓存
if (strpos($_SERVER['REQUEST_URI'], '/wp-admin/') !== false ||
strpos($_SERVER['REQUEST_URI'], '/wp-login.php') !== false ||
strpos($_SERVER['REQUEST_URI'], '/wp-cron.php') !== false ||
strpos($_SERVER['REQUEST_URI'], 'preview=true') !== false) {
define('DONOTCACHEPAGE', true);
}
// 解决CDN环境下的HTTPS检测问题
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}
// 确保Cookie路径正确
define('COOKIEPATH', '/');
define('SITECOOKIEPATH', '/');
这段代码强化后台、登录页面等路径的不缓存设置,同时解决 CDN 环境下的 HTTPS 检测问题
五、排除规则验证方法(必做)
5.1 命令行响应头验证(推荐)
使用
curl命令检查响应头,验证排除规则是否生效:bash
运行
# 验证后台目录(预期X-Cache: MISS,不缓存)
curl -I https://www.你的域名.com/wp-admin/
# 验证登录页面(预期X-Cache: MISS,不缓存)
curl -I https://www.你的域名.com/wp-login.php
# 验证静态资源(预期X-Cache: HIT,缓存命中)
curl -I https://www.你的域名.com/wp-content/themes/你的主题/style.css
# 验证已登录用户(预期X-Cache: MISS,不缓存)
curl -I -b "wordpress_logged_in_xxx=xxx" https://www.你的域名.com
预期结果:
- 后台、登录页面、已登录用户请求:
X-Cache: MISS,Cache-Control: no-cache - 静态资源请求:
X-Cache: HIT,Cache-Control: max-age=2592000(30 天)
5.2 浏览器开发者工具验证
- 打开浏览器 → 访问网站 → F12 打开开发者工具 → Network
- 访问后台(/wp-admin/)和登录页面(/wp-login.php)
- 查看响应头:
- 确认
Cache-Control: no-cache, must-revalidate(不缓存) - 确认
X-Cache: MISS(CDN 未缓存)
- 确认
- 访问首页,确认静态资源响应头包含
X-Cache: HIT(缓存命中)
5.3 功能验证(确保后台操作正常)
- 登录 WordPress 后台,执行以下操作:
- 修改文章并发布,确认前台实时更新
- 更改网站设置(如标题、描述),确认前台实时生效
- 上传媒体文件,确认媒体库正常显示
- 预览文章,确认预览内容为最新编辑版本
- 退出登录后重新登录,确认登录流程无异常,无验证码失效问题
六、常见问题与解决方法
6.1 后台仍被缓存的排查步骤
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 后台页面显示旧内容 | 缓存规则优先级错误 | 确认后台排除规则优先级高于全站缓存规则 |
| 登录后跳转到旧页面 | CDN 缓存未清除 | 手动刷新 CDN 缓存(控制台 → 缓存管理 → 刷新目录:https://www.你的域名.com/wp-admin/) |
| 后台操作无响应 | Cookie 传递异常 | 检查回源配置,确保携带 Cookie 回源已开启 |
| 部分后台页面仍缓存 | 规则匹配不完整 | 确认规则类型为 “目录” 时末尾包含斜杠(如/wp-admin/) |
| 已登录用户仍缓存 | 规则引擎未配置 | 配置规则引擎,对包含wordpress_logged_in Cookie 的请求设置缓存时间为 0 秒 |
6.2 规则不生效的快速修复
- 检查规则状态:确保所有排除规则已启用
- 清除 CDN 缓存:在控制台执行目录刷新(
https://www.你的域名.com/) - 清除浏览器缓存:使用 Ctrl+Shift+Del 清除缓存,或使用无痕模式测试
- 重启 CDN 配置:在域名管理页 → 配置生效 → 手动触发配置更新
- 检查插件设置:确保插件中 CDN 排除规则与 CDN 后台一致
七、总结与维护建议
- 核心原则:后台排除规则必须优先级最高,确保覆盖所有敏感路径
- 定期维护:
- 每季度检查一次规则配置,确保未被误修改
- 网站更新后,手动刷新 CDN 缓存,避免旧内容残留
- 更换插件时,同步更新 CDN 排除规则,保持一致性
- 性能监控:
- 使用阿里云 CDN 控制台监控功能,查看缓存命中率、回源率
- 使用 Google PageSpeed Insights 或 GTmetrix 测试网站速度,优化缓存策略
通过以上配置,你的 WordPress 网站将实现全站加速,同时确保后台操作正常、动态内容实时更新,加载速度提升50%-80%,为用户提供更好的访问体验。


暂无评论