{"id":296113,"date":"2026-04-08T12:52:30","date_gmt":"2026-04-08T12:52:30","guid":{"rendered":"https:\/\/cn.wordpress.org\/plugins\/edgeone-cache-purge\/"},"modified":"2026-04-10T13:07:39","modified_gmt":"2026-04-10T13:07:39","slug":"naibabiji-cache-purger-for-edgeone","status":"publish","type":"plugin","link":"https:\/\/fa.wordpress.org\/plugins\/naibabiji-cache-purger-for-edgeone\/","author":17142072,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.2.0","stable_tag":"2.2.0","tested":"6.9.4","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"Naibabiji Cache Purger for EdgeOne","header_author":"Naibabiji","header_description":"Automatically purge Tencent Cloud EdgeOne cache when WordPress posts are published, updated, or deleted","assets_banners_color":"edf3f8","last_updated":"2026-04-10 13:07:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/blog.naibabiji.com\/files\/wordpress-plugins\/edgeone-purge.html","header_author_uri":"https:\/\/blog.naibabiji.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":91,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.1.0":{"tag":"2.1.0","author":"naibabiji","date":"2026-04-10 13:07:39"},"2.2.0":{"tag":"2.2.0","author":"naibabiji","date":"2026-04-10 13:07:39"}},"upgrade_notice":{"2.0":"<p>Major update with complete code refactoring, asynchronous mode support, statistics dashboard, and enhanced security. Backup your settings before upgrading.<\/p>","1.4":"<p>Adds optional Nginx server-side cache integration. Disabled by default \u2014 no action needed unless your server uses Nginx FastCGI or Proxy cache.<\/p>","1.3":"<ul>\n<li>Improved localization and language files<\/li>\n<\/ul>","1.2":"<ul>\n<li>Cache plugin integrations now work correctly with proper hook detection<\/li>\n<li>Manual purge now supports host-specific &quot;Purge All&quot; using the purge_host method<\/li>\n<li>Added manual log clearing functionality for easier debugging<\/li>\n<li>Improved compatibility with WordPress 6.0+ and various PHP versions<\/li>\n<\/ul>","1.1":"<ul>\n<li>Added cache plugin integration and optional prefetching functionality<\/li>\n<\/ul>","1.0":"<p>Initial release - No upgrade required<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3501680,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3501680,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3501675,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3501675,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.1.0","2.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Plugin settings page - Configure your EdgeOne credentials and purge options","2":"Quick purge buttons - Manual purge options for recent posts","3":"Log viewer - View detailed purge operation logs"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[146,3863,244095,7914,188717],"plugin_category":[52,59],"plugin_contributors":[246815],"plugin_business_model":[],"class_list":["post-296113","plugin","type-plugin","status-publish","hentry","plugin_tags-cache","plugin_tags-cdn","plugin_tags-edgeone","plugin_tags-purge","plugin_tags-tencent-cloud","plugin_category-performance","plugin_category-utilities-and-tools","plugin_contributors-naibabiji","plugin_committers-naibabiji"],"banners":{"banner":"https:\/\/ps.w.org\/naibabiji-cache-purger-for-edgeone\/assets\/banner-772x250.png?rev=3501675","banner_2x":"https:\/\/ps.w.org\/naibabiji-cache-purger-for-edgeone\/assets\/banner-1544x500.png?rev=3501675","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/naibabiji-cache-purger-for-edgeone\/assets\/icon-128x128.png?rev=3501680","icon_2x":"https:\/\/ps.w.org\/naibabiji-cache-purger-for-edgeone\/assets\/icon-256x256.png?rev=3501680","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>A powerful WordPress plugin that automatically purges Tencent Cloud EdgeOne cache when your posts, pages, or custom post types are published, updated, or deleted.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the Tencent Cloud EdgeOne API (https:\/\/teo.tencentcloudapi.com) to provide cache purging and prefetching functionality.<\/p>\n\n<p>It sends the Following information to Tencent Cloud when a purge or prefetch operation is triggered (e.g., when a post is updated, or when manual purge is used):\n*   Tencent Cloud API Credentials (SecretId): Used for request authentication and signing.\n*   EdgeOne Zone ID: Used to identify the specific site\/zone in EdgeOne.\n*   Target URLs or Paths: The specific resources that need to be cleared or prefetched from the CDN nodes.<\/p>\n\n<p>This service is provided by \"Tencent Cloud\": <a href=\"https:\/\/cloud.tencent.com\/document\/product\/301\/127483\">Terms of Service<\/a>, <a href=\"https:\/\/cloud.tencent.com\/document\/product\/301\/11470\">Privacy Policy<\/a>.<\/p>\n\n<h3>Features<\/h3>\n\n<h4>Automatic Cache Purge<\/h4>\n\n<ul>\n<li>Automatically purges cache when posts are published, updated, or deleted<\/li>\n<li>Supports all public post types (posts, pages, and custom post types)<\/li>\n<li>Smart purge: automatically refreshes post pages, homepage, category archives, tag archives, author archives, and date archives<\/li>\n<\/ul>\n\n<h4>Comment Integration<\/h4>\n\n<ul>\n<li>Automatically purges related post cache when new comments are approved<\/li>\n<\/ul>\n\n<h4>Manual Purge<\/h4>\n\n<ul>\n<li>Support for manual purge of specific posts or entire site<\/li>\n<li>Quick purge buttons in admin panel for recent posts<\/li>\n<\/ul>\n\n<h4>Flexible Configuration<\/h4>\n\n<ul>\n<li>Choose purge method: delete cache (delete) or mark as expired (invalidate)<\/li>\n<li>Optional logging of purge operations<\/li>\n<li>Secure key configuration via wp-config.php constants<\/li>\n<\/ul>\n\n<h4>Cache Plugin Integration<\/h4>\n\n<ul>\n<li>Automatically purges EdgeOne cache when popular WordPress cache plugins clear their cache<\/li>\n<li>Supports WP Super Cache, W3 Total Cache, WP Rocket, and LiteSpeed Cache<\/li>\n<li>Force mode ensures cache plugin integrations work even when auto purge is disabled<\/li>\n<li>Proper timing control ensures compatibility with all cache plugin loading sequences<\/li>\n<\/ul>\n\n<h4>Cache Prefetching<\/h4>\n\n<ul>\n<li>Optional cache prefetching after purging (disabled by default)<\/li>\n<li>Only prefetches post URLs, not archive pages to conserve EdgeOne prefetch quota<\/li>\n<li>Ensures first visitor gets cached content immediately<\/li>\n<li>Prefetch results are displayed in the purge logs for easy monitoring<\/li>\n<\/ul>\n\n<h4>Enhanced Logging<\/h4>\n\n<ul>\n<li>Detailed logging of all purge operations with success\/failure status<\/li>\n<li>Manual log clearing functionality for easier debugging<\/li>\n<li>Prefetch operation results displayed alongside purge results<\/li>\n<li>Job IDs and error messages for easy troubleshooting<\/li>\n<\/ul>\n\n<h4>Advanced Manual Purge<\/h4>\n\n<ul>\n<li>Optimized host-specific \"Purge All\" using the purge_host method<\/li>\n<li>Manual purge operations are not affected by auto purge settings<\/li>\n<li>Force mode support for cache plugin integrations<\/li>\n<li>Comprehensive URL coverage for post-related purges<\/li>\n<\/ul>\n\n<h4>Custom URL Purge<\/h4>\n\n<ul>\n<li>Purge cache for specific URLs (CSS, JS, images, etc.)<\/li>\n<li>Support for directory prefix purge using trailing slash (\/)<\/li>\n<li>Batch processing: enter multiple URLs, one per line<\/li>\n<li>Automatic URL validation and filtering<\/li>\n<li>Smart type detection: files use purge_url, directories use purge_prefix<\/li>\n<\/ul>\n\n<h4>Nginx Cache Integration<\/h4>\n\n<ul>\n<li>Optionally clear Nginx server-side page cache (FastCGI cache or Proxy cache) alongside EdgeOne CDN cache<\/li>\n<li>Configured separately \u2014 most sites using only WordPress cache plugins do not need this<\/li>\n<li>Nginx cache and EdgeOne cache are cleared independently; either can succeed even if the other fails<\/li>\n<li>Includes path validation with real-time feedback in the settings page<\/li>\n<\/ul>\n\n<h4>No SDK Required<\/h4>\n\n<ul>\n<li>Direct API calls, no need to install Tencent Cloud SDK<\/li>\n<li>Compatible with all WordPress versions 5.5+<\/li>\n<\/ul>\n\n<h3>Configuration<\/h3>\n\n<h4>Get Tencent Cloud API Keys<\/h4>\n\n<ol>\n<li>Visit <a href=\"https:\/\/console.cloud.tencent.com\/cam\/capi\">Tencent Cloud Console<\/a><\/li>\n<li>Create or get your <code>SecretId<\/code> and <code>SecretKey<\/code><\/li>\n<\/ol>\n\n<h4>Get EdgeOne Zone ID<\/h4>\n\n<ol>\n<li>Visit <a href=\"https:\/\/console.cloud.tencent.com\/teo\">EdgeOne Console<\/a><\/li>\n<li>Select your site and find the Zone ID (format: zone-xxxxxx)<\/li>\n<\/ol>\n\n<h4>Configure Plugin<\/h4>\n\n<p>There are two configuration methods:<\/p>\n\n<h3>Method 1: Using wp-config.php (Recommended)<\/h3>\n\n<p>Add these constants to your WordPress <code>wp-config.php<\/code> file:<\/p>\n\n<pre><code>`\n<\/code><\/pre>\n\n<p>define( 'NB_CACHE_PURGER_SECRET_ID', 'your-secret-id' );\ndefine( 'NB_CACHE_PURGER_SECRET_KEY', 'your-secret-key' );\n    `<\/p>\n\n<p>Then in WordPress admin:\n1. Go to \"Settings\" \u2192 \"Naibabiji Cache Purger\"\n2. Fill in the <strong>Zone ID<\/strong> (Secret ID and Secret Key will be automatically loaded from constants)\n3. Choose other options and save<\/p>\n\n<h3>Method 2: Direct Configuration in Admin<\/h3>\n\n<ol>\n<li>Log in to WordPress admin<\/li>\n<li>Go to \"Settings\" \u2192 \"Naibabiji Cache Purger\"<\/li>\n<li>Fill in the following information:\n\n<ul>\n<li><strong>Secret ID<\/strong>: Tencent Cloud API Secret ID<\/li>\n<li><strong>Secret Key<\/strong>: Tencent Cloud API Secret Key<\/li>\n<li><strong>Zone ID<\/strong>: EdgeOne Zone ID<\/li>\n<\/ul><\/li>\n<li>Choose other options:\n\n<ul>\n<li><strong>Enable Auto Purge<\/strong>: Whether to automatically purge cache when posts are updated<\/li>\n<li><strong>Purge Method<\/strong>:\n\n<ul>\n<li><code>delete<\/code>: Directly delete node cache<\/li>\n<li><code>invalidate<\/code>: Mark as expired, revalidate from origin<\/li>\n<\/ul><\/li>\n<li><strong>Enable Logging<\/strong>: Whether to log purge operations<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<h4>Nginx Cache Integration (Optional)<\/h4>\n\n<p>Only needed if your server uses Nginx FastCGI cache or Proxy cache (configured via <code>fastcgi_cache_path<\/code> or <code>proxy_cache_path<\/code> in nginx.conf). Most sites using WordPress cache plugins do not need this.<\/p>\n\n<ol>\n<li>In \"Settings\" \u2192 \"Naibabiji Cache Purger\" \u2192 scroll to the <strong>Nginx Cache Integration<\/strong> section at the bottom<\/li>\n<li>Check <strong>Enable Nginx Cache Purge<\/strong><\/li>\n<li>Enter the absolute filesystem path to your Nginx cache zone directory (e.g. <code>\/var\/run\/nginx-cache<\/code>)\n\n<ul>\n<li>The web server process (e.g. <code>www-data<\/code>) must have write permission to this directory<\/li>\n<li>The settings page will validate the path and show whether it is writable<\/li>\n<\/ul><\/li>\n<li>Save settings \u2014 Nginx cache will now be cleared automatically every time EdgeOne cache is purged<\/li>\n<\/ol>\n\n<!--section=installation-->\n<h4>Method 1: Upload<\/h4>\n\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Log in to WordPress admin dashboard<\/li>\n<li>Go to \"Plugins\" \u2192 \"Add New\" \u2192 \"Upload Plugin\"<\/li>\n<li>Select and upload the plugin zip file<\/li>\n<li>Activate the plugin<\/li>\n<\/ol>\n\n<h4>Method 2: Manual Installation<\/h4>\n\n<ol>\n<li>Upload the plugin folder to the <code>wp-content\/plugins\/<\/code> directory<\/li>\n<li>Log in to WordPress admin dashboard<\/li>\n<li>Go to \"Plugins\" page<\/li>\n<li>Find \"Naibabiji Cache Purger for EdgeOne\" plugin and activate it<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20edgeone%3F\"><h3>What is EdgeOne?<\/h3><\/dt>\n<dd><p>EdgeOne is Tencent Cloud's edge computing and CDN service that provides global content delivery and security features.<\/p><\/dd>\n<dt id=\"why%20do%20i%20need%20to%20purge%20cache%3F\"><h3>Why do I need to purge cache?<\/h3><\/dt>\n<dd><p>When you update content on your WordPress site, EdgeOne may serve cached versions. This plugin ensures visitors see the latest content immediately.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20secure%3F\"><h3>Is this plugin secure?<\/h3><\/dt>\n<dd><p>Yes, the plugin supports storing API credentials in wp-config.php, keeping them out of the database and admin interface.<\/p><\/dd>\n<dt id=\"what%20urls%20are%20purged%20when%20a%20post%20is%20updated%3F\"><h3>What URLs are purged when a post is updated?<\/h3><\/dt>\n<dd><p>The plugin automatically purges:\n* The post\/page URL\n* Homepage\n* Category archives the post belongs to\n* Tag archives the post has\n* Author archive\n* Date-based archives= Do I need the Nginx Cache Integration? =<\/p>\n\n<p>No, it is optional. Only enable it if your server uses Nginx-level page caching (FastCGI cache or Proxy cache). If you use WordPress cache plugins such as WP Rocket, W3 Total Cache, or LiteSpeed Cache, you do not need this feature.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20nginx%20cache%20and%20edgeone%20cdn%20cache%3F\"><h3>What is the difference between Nginx cache and EdgeOne CDN cache?<\/h3><\/dt>\n<dd><p>EdgeOne CDN cache is distributed across edge nodes worldwide and is managed via the Tencent Cloud API. Nginx cache is a server-side page cache stored on your own server's filesystem, managed by Nginx's <code>fastcgi_cache<\/code> or <code>proxy_cache<\/code> directives. They are separate caching layers; this plugin can clear both at the same time.<\/p><\/dd>\n<dt id=\"why%20does%20the%20plugin%20keep%20the%20nginx%20cache%20directory%20itself%20instead%20of%20deleting%20and%20recreating%20it%3F\"><h3>Why does the plugin keep the Nginx cache directory itself instead of deleting and recreating it?<\/h3><\/dt>\n<dd><p>Deleting and recreating the directory creates a brief window where Nginx may fail to write new cache entries. By only deleting the contents and keeping the directory, the purge is safer and avoids potential Nginx errors.<\/p><\/dd>\n<dt id=\"the%20nginx%20cache%20path%20shows%20%22not%20writable%22%20%E2%80%94%20how%20do%20i%20fix%20it%3F\"><h3>The Nginx cache path shows \"not writable\" \u2014 how do I fix it?<\/h3><\/dt>\n<dd><p>The PHP process (typically <code>www-data<\/code> or <code>nginx<\/code>) needs write permission on the cache directory. Run <code>chown www-data:www-data \/your\/cache\/path<\/code> or <code>chmod 755 \/your\/cache\/path<\/code> as appropriate for your server setup.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Improved \"Purge All\" behavior: It now only clears the cache for the current site's hostname (using purge_host) instead of the entire zone. This prevents unintentional cache clearing of other subdomains sharing the same EdgeOne Zone ID.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Complete rebranding: Renamed plugin to Naibabiji Cache Purger for EdgeOne.<\/li>\n<li>Deep refactoring of all internal classes, namespaces, and file structures for better maintenance.<\/li>\n<li>Switched all internal database option keys to standardized lowercase <code>nb_cache_purger_<\/code> prefix.<\/li>\n<li>Updated all hooks, transients, and nonces to use unified <code>nb_cache_purger_<\/code> branding.<\/li>\n<li>Improved security and trademark compliance.<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Complete code refactoring with modern PHP namespace architecture<\/li>\n<li>Added asynchronous purge mode support (configurable via settings)<\/li>\n<li>Added purge statistics dashboard showing total purges, success rate, and breakdown by reason<\/li>\n<li>Enhanced log sanitization to protect sensitive API credentials<\/li>\n<li>Improved admin bar menu with parent-child structure (EdgeOne \u2192 Purge All \/ Settings)<\/li>\n<li>Enhanced security: sensitive input fields hidden when constants are defined in wp-config.php<\/li>\n<li>Modular code structure for better maintainability and extensibility<\/li>\n<li>Improved error handling and detailed API response logging<\/li>\n<li>Updated UI\/UX to match 1.4 interface while maintaining 2.0 functionality<\/li>\n<li>Restored Chinese translations for all interface elements<\/li>\n<li>Added settings entry on plugin list page<\/li>\n<li>Improved manual purge interface with separate sections for Post ID and Custom URLs<\/li>\n<li>Enhanced logging with better error messages and request tracking<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Added Nginx server-side cache integration (FastCGI cache \/ Proxy cache)<\/li>\n<li>Nginx cache path is validated in real time on the settings page (existence, writeability)<\/li>\n<li>Nginx cache and EdgeOne CDN cache are cleared independently \u2014 failure of one does not block the other<\/li>\n<li>Nginx purge result is recorded in the purge log when logging is enabled<\/li>\n<li>New settings are disabled by default and clearly marked as optional to avoid confusion for users who do not use Nginx cache<\/li>\n<li>Added Settings shortcut link on the Plugins list page<\/li>\n<li>Added EdgeOne node to the admin bar with quick Purge All Cache and Settings links<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Improved localization and language files<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Added custom URL purge functionality for static resources (CSS, JS, images)<\/li>\n<li>Added directory prefix purge support using trailing slash (\/)<\/li>\n<li>Fixed cache plugin hook detection logic<\/li>\n<li>Improved timing control for plugin initialization<\/li>\n<li>Enhanced manual purge with full site purge support<\/li>\n<li>Added force mode for cache plugin integrations<\/li>\n<li>Improved logging with prefetch result display<\/li>\n<li>Added manual log clearing functionality<\/li>\n<li>Fixed X-TC-Timestamp header type safety<\/li>\n<li>Updated WordPress 6.0+ compatibility<\/li>\n<li>Enhanced settings descriptions for clarity<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Added cache plugin integration (WP Super Cache, W3 Total Cache, WP Rocket, LiteSpeed Cache)<\/li>\n<li>Added optional cache prefetching functionality<\/li>\n<li>Improved error handling and logging<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Automatic cache purge on post publish\/update\/delete<\/li>\n<li>Manual purge functionality<\/li>\n<li>Comment integration<\/li>\n<li>Flexible configuration options<\/li>\n<li>Logging support<\/li>\n<\/ul>","raw_excerpt":"Automatically purge Tencent Cloud EdgeOne cache when WordPress posts are published, updated, or deleted.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/296113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=296113"}],"author":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/naibabiji"}],"wp:attachment":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=296113"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=296113"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=296113"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=296113"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=296113"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=296113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}