一款高效的 WordPress 插件,可在文章、页面或自定义文章类型发布、更新、删除时,自动清理腾讯云 EdgeOne 缓存。
外部服务
本插件通过调用腾讯云 EdgeOne API(https://teo.tencentcloudapi.com)实现缓存清理与预加载功能。
触发清理或预取操作时(如文章更新、手动清理),插件会向腾讯云发送以下信息: * 腾讯云 API 密钥(SecretId):用于请求鉴权与签名 * EdgeOne 区域 ID:用于定位 EdgeOne 中的对应站点 * 目标 URL 或路径:需要在 CDN 节点清理或预取的具体资源
功能特性
自动缓存清理
- 文章发布、更新、删除时自动清理缓存
- 支持所有公开文章类型(文章、页面、自定义文章类型)
- 智能清理:自动刷新文章页、首页、分类、标签、作者、日期归档页缓存
评论集成
- 评论通过审核时,自动清理对应文章缓存
手动清理
- 支持手动清理单篇文章或全站缓存
- 后台提供近期文章快速清理按钮
灵活配置
- 可选择清理方式:直接删除缓存(delete)或标记过期(invalidate)
- 可选择开启缓存清理日志
- 支持在 wp-config.php 中安全配置密钥
缓存插件集成
- 主流 WordPress 缓存插件清理缓存时,自动同步清理 EdgeOne 缓存
- 兼容 WP Super Cache、W3 Total Cache、WP Rocket、LiteSpeed Cache
- 强制模式可确保即使关闭自动清理,缓存插件集成依然生效
- 合理的执行时序控制,兼容各类缓存插件加载顺序
缓存预加载
- 支持清理后自动预加载缓存(默认关闭)
- 仅预加载文章 URL,不预加载归档页,节省 EdgeOne 预加载额度
- 确保首个访客即可直接访问缓存内容
- 预加载结果展示在清理日志中,方便查看
增强日志记录
- 记录所有清理操作详情,包含成功/失败状态
- 支持手动清空日志,便于调试
- 预加载结果与清理结果同步展示
- 返回任务 ID 与错误信息,方便排错
高级手动清理
- 针对指定主机的「全部清除」功能,已通过 purge_host 方法完成优化。
- 手动清理不受自动清理设置影响
- 支持缓存插件集成强制模式
- 文章相关缓存清理覆盖全面 URL
自定义 URL 清理
- 可清理指定 URL 缓存(CSS、JS、图片等静态资源)
- 支持以斜杠结尾的目录前缀清理
- 支持批量处理,每行填写一个 URL
- 自动校验与过滤 URL
- 智能类型识别:文件使用精准 URL 清理,目录使用前缀清理
Nginx 缓存集成
- 可在清理 EdgeOne CDN 缓存的同时,同步清理 Nginx 本地页面缓存(FastCGI 或代理缓存)
- 需单独配置——大多数仅使用 WordPress 缓存插件的站点无需开启
- Nginx 缓存与 EdgeOne 缓存独立清理,一方失败不影响另一方执行
- 设置页面支持路径实时验证与状态反馈
- 基于 ngx_cache_purge 模块实现 URL 精准清理,速度更快、效率更高
- 新增“清理接口路径”选项,可自定义 Nginx 清理 URL 路径(建议使用随机字符串如 /xK9mPurge_q7z 提升安全性)
- 通过 HTTPS 请求向自身域名发起清理,避免 HTTP 强制跳转 HTTPS 带来的问题
- 清理日志采用友好错误提示:清晰说明某 URL 未被缓存的原因(如“未缓存——返回页面而非清理响应”),不再显示原始 HTML
- 全站清理时支持降级为直接删除缓存文件
- Nginx 缓存操作支持按 URL 记录详细清理日志
无需 SDK
- 直接调用 API,无需安装腾讯云 SDK
- 兼容所有 WordPress 5.5 及以上版本
配置说明
获取腾讯云 API 密钥
- 访问 腾讯云 API 密钥控制台
- 创建或获取你的
SecretId和SecretKey
获取 EdgeOne Zone ID
- 访问 EdgeOne 控制台
- 选择对应站点,获取 Zone ID(格式:zone-xxxxxx)
插件配置
提供两种配置方式:
方法一:通过 wp-config.php 配置(推荐)
将以下常量添加到 WordPress 的 wp-config.php 文件中:
define( 'NB_CACHE_PURGER_SECRET_ID', 'your-secret-id' );
define( 'NB_CACHE_PURGER_SECRET_KEY', 'your-secret-key' );
随后在 WordPress 后台操作: 1. 进入「设置」→「EdgeOne 缓存清理器」 2. 填写 Zone ID(Secret ID 与 Secret Key 会从常量自动加载) 3. 选择其他选项并保存设置
方法二:后台直接配置
- 登录 WordPress 管理后台
- 进入「设置」→「EdgeOne 缓存清理器」
- 填写以下信息:
- Secret ID:腾讯云 API 密钥 ID
- Secret Key:腾讯云 API 密钥
- Zone ID:EdgeOne 站点区域 ID
- 按需选择其他设置:
- 启用自动清理:文章更新时是否自动清理缓存
- 清理方式:
delete:直接删除节点缓存invalidate:标记为过期,从源站重新校验
- 启用日志:是否记录缓存清理操作
Nginx 缓存集成(可选)
仅当服务器使用 Nginx FastCGI 缓存或代理缓存(在 nginx.conf 中通过 fastcgi_cache_path 或 proxy_cache_path 配置)时需要。大多数使用 WordPress 缓存插件的网站无需配置此项。
- 进入「设置」→「EdgeOne 缓存清理器」,滚动至页面底部的Nginx 缓存集成区域
- 勾选启用 Nginx 缓存清理
- 设置清理接口路径——为安全起见建议使用随机字符串(如
/xK9mPurge_q7z),这样即可在 Nginx 中使用allow all;而不会暴露接口风险 - 填写 Nginx 缓存目录的绝对路径(如
/var/run/nginx-cache)——该路径仅在全站清理时作为备用方案使用- Web 服务进程(如
www-data)必须对该目录拥有写入权限 - 设置页面会自动验证路径,并显示是否可写
- Web 服务进程(如
- 保存设置——此后每次清理 EdgeOne 缓存时,都会自动同步清理 Nginx 缓存
Nginx 清理配置
如需使用 ngx_cache_purge 模块集成,需在 Nginx 站点配置中添加对应的清理规则。将 /xK9mPurge_q7z 替换为你自定义的清理路径:
nginx
location ~ /xK9mPurge_q7z(/.*) {
allow all;
deny none;
fastcgi_cache_purge YOUR_CACHE_ZONE "https$request_method$host$1";
# Or for proxy cache:
# proxy_cache_purge YOUR_CACHE_ZONE "https$request_method$host$1";
}
将 YOUR_CACHE_ZONE 替换为你实际的 Nginx 缓存区域名称(如 wordpress)。
重要说明:
* fastcgi_cache_purge 缓存键("https$request_method$host$1")必须与 fastcgi_cache_key 完全一致,包括 https 前缀
* 若你使用宝塔面板并开启了 HTTP 跳 HTTPS 规则,插件会直接向你的域名发送 HTTPS 请求,无需额外添加排除规则
* 详细配置步骤请查看 配置教程
