描述
一款高效的 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 请求,无需额外添加排除规则
* 详细配置步骤请查看 配置教程
安装
方法一:上传安装
- 下载插件压缩包
- 登录 WordPress 管理后台
- 进入「插件」「安装插件」「上传插件」
- 选择并上传插件压缩包
- 启用插件
方法二:手动安装
- 将插件文件夹上传至
wp-content/plugins/目录 - 登录 WordPress 管理后台
- 进入「插件」页面
- 找到“奶爸笔记 EdgeOne 缓存清理器”插件并启用
常见问题
-
什么是 EdgeOne?
-
EdgeOne 是腾讯云推出的边缘计算与 CDN 服务,提供全球内容分发与安全防护能力。
-
为什么需要清理缓存?
-
更新 WordPress 内容后,EdgeOne 可能仍返回旧缓存。本插件可确保访客立即看到最新内容。
-
本插件安全吗?
-
支持,插件可在 wp-config.php 中存放 API 密钥,避免密钥保存在数据库或后台界面中。
-
文章更新时会清理哪些 URL?
-
The plugin automatically purges:
* The post/page URL
* Homepage
* Category archives the post belongs to
* Tag archives the post has
* Author archive
* Date-based archives -
Do I need the Nginx Cache Integration?
-
不需要,该功能为可选。仅当服务器使用 Nginx 层级页面缓存(FastCGI 或代理缓存)时才需开启。如果你使用 WP Rocket、W3 Total Cache、LiteSpeed Cache 等 WordPress 缓存插件,则无需启用。
-
Nginx 缓存与 EdgeOne CDN 缓存有什么区别?
-
EdgeOne CDN 缓存分布于全球边缘节点,通过腾讯云 API 管理。Nginx 缓存是存放在你服务器本地的页面缓存,由 Nginx 的
fastcgi_cache或proxy_cache指令控制。二者为独立缓存层,本插件可同时清理两类缓存。 -
插件为何只删除缓存文件,而不删除并重建 Nginx 缓存目录?
-
删除并重建目录会出现短暂窗口期,可能导致 Nginx 无法写入新缓存。仅删除目录内文件、保留目录本身,可让清理更安全,避免 Nginx 报错。
-
Nginx 缓存路径显示“不可写”,该如何解决?
-
PHP 进程(通常为
www-data或nginx)需要对缓存目录拥有写入权限。请根据服务器环境执行chown www-data:www-data /你的缓存路径或chmod 755 /你的缓存路径。
评价
此插件暂无评价。
贡献者及开发者
更新日志
2.3.1
- Fixed async purge not executing — multiple root causes addressed:
- Switched async task data storage from transient to wp-option to prevent data loss when object cache (Redis/Memcached) evicts keys
- Removed 5-second scheduling delay that caused trigger_cron() to fire before tasks were due
- Fixed trigger_cron() setting doing_cron transient that blocked server-side cron from running
- Uses spawn_cron() by default; falls back to direct non-blocking HTTP request to wp-cron.php when DISABLE_WP_CRON is set
- Fixed purge logs not being recorded when object cache evicts transients — switched log storage from transient to wp-option
- Added async task health monitoring: stuck tasks are detected and executed synchronously as recovery
- Added auto-degradation from async to sync mode with admin notice when WP-Cron is broken
- Added purge lock check in health recovery to prevent duplicate API calls
- Extended health check threshold to 15 minutes when DISABLE_WP_CRON is set (to accommodate server cron intervals)
2.3.0
- 增强 Nginx 缓存清理功能:将递归删除文件改为通过 ngx_cache_purge 模块发起 HTTP 请求,实现 URL 精准清理
- Nginx 缓存操作新增按 URL 记录清理日志功能
- 设置页面新增“测试 Nginx 清理连接”按钮,用于校验 ngx_cache_purge 模块配置
- 全站清理时新增文件删除降级方案
- 优化 Nginx 清理错误处理与状态反馈
2.2.0
- 优化「全部清除」行为:现在仅清理当前站点主机名的缓存(使用 purge_host 接口),而非清理整个区域缓存,避免误清除共享同一 EdgeOne 区域 ID 的其他子域名缓存。
2.1.0
- 品牌全面升级:插件正式更名为奶爸笔记 EdgeOne 缓存清理器
- 深度重构内部类、命名空间与文件结构,便于后续维护
- 所有内部数据库配置键统一改为小写标准前缀
nb_cache_purger_ - 统一所有钩子、临时数据与令牌前缀为
nb_cache_purger_ - 提升安全性与商标合规性
2.0
- 基于现代 PHP 命名空间架构完成代码重构
- 新增异步清理模式支持(可在设置中开关)
- 新增清理统计面板,展示总清理次数、成功率及触发原因分类
- 增强日志脱敏处理,保护 API 密钥等敏感信息
- 优化顶部导航菜单,采用二级结构(EdgeOne 清理全部 / 设置)
- 增强安全防护:在 wp-config.php 配置密钥后,后台敏感输入框自动隐藏
- 采用模块化代码结构,提升可维护性与扩展性
- 优化错误处理,新增详细 API 响应日志
- 更新界面交互,沿用 1.4 版本风格并保留 2.0 完整功能
- 恢复全部界面元素的中文翻译
- 插件列表页新增设置入口
- 优化手动清理界面,将文章 ID 与自定义 URL 分为独立区域
- 增强日志记录,优化错误提示与请求追踪
1.4
- 新增 Nginx 本地缓存集成支持(FastCGI / 代理缓存)
- 设置页面实时校验 Nginx 缓存路径(是否存在、是否可写)
- Nginx 缓存与 EdgeOne CDN 缓存独立清理,一方失败不影响另一方执行
- 开启日志后,Nginx 清理结果会记录在清理日志中
- 新增设置项默认关闭,并明确标注为可选,避免不使用 Nginx 缓存的用户混淆
- 插件列表页新增设置快捷入口
- 后台顶部导航栏新增 EdgeOne 入口,包含快速清理全站缓存与设置快捷链接
1.3
- 优化多语言支持与语言文件
1.2
- 新增静态资源(CSS、JS、图片)自定义 URL 清理功能
- 新增支持以斜杠结尾的目录前缀清理
- 修复缓存插件钩子检测逻辑
- 优化插件初始化执行时序
- 增强手动清理,新增全站清理支持
- 为缓存插件集成添加强制运行模式
- 优化日志展示,新增预加载结果显示
- 新增手动清空日志功能
- 修复 X-TC-Timestamp 请求头类型安全问题
- 更新兼容 WordPress 6.0 及以上版本
- 优化设置项说明文字,更易理解
1.1
- 新增主流缓存插件兼容集成
- 新增可选缓存预加载功能
- 优化错误处理与日志记录
1.0
- 初始版本发布
- 文章发布/更新/删除时自动清理缓存
- 新增手动清理功能
- 新增评论集成
- 新增灵活配置项
- 新增日志支持



