“Cache control by Cacholong” plugin automates purging of Nginx FastCGI cache on your Nginx server(s). It is a backend plugin that is able to: Purge Nginx FastCGI cache. Purge cache automatically, manually, with WordPress cronjobs and WP-CLI. Purge caches on one or more servers (See hosts.json sectio
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 4.3.1 and PHP 8.2.
SourceWordPress plugins · Oct 30, 2026
01 / Source details
Aboutthistool.
“Cache control by Cacholong” plugin automates purging of Nginx FastCGI cache on your Nginx server(s). It is a backend plugin that is able to:
Purge Nginx FastCGI cache.
Purge cache automatically, manually, with WordPress cronjobs and WP-CLI.
Purge caches on one or more servers (See hosts.json section for more details).
Use commandline (WP-CLI) to purge caches or reset to factory settings.
Allow purging of other cached items (see Settings > Cache control).
Inform user of purge status.
Support for single site and network sites
Support for WP-CLI
Support for WPML (including language negotiation type domain)
When will it purge?
This plugin will work with default and custom post types. It will purge on a save, regular update, quick edit update, slug change, delete and undelete. The user is informed with one or more messages. There are a few caveats:
When a user is using the Gutenberg editor, purge messages will not be displayed.
When the user uses “Quick edit” and “Updates” the post, no messages will be displayed, because there’s no page refresh. Those messages will be shown on the next request.
It is possible to purge with WordPress cronjobs. Adjust the ‘Cronjob settings’ to perform a daily purge of caches.
You can also purge items manually. Go to the WordPress dashboard and navigate to:
Settings > Cache control > purge single item
Settings > Cache control > purge all caches
Admin Toolbar > purge all caches
Settings
File with hosts (JSON): File with information about one or more hosts for this WordPress installation. See hosts.json section for more details.
Purge settings default post types: Select one or more options when purging a default post type. Possible to purge post url (default), home page, all connected WordPress categories or all caches.
Purge settings default custom type(s): Select one or more options when purging a custom post type. Possible to purge post url (default), home page, all connected WordPress categories or all caches.
Cronjob Settings
Cronjob purging: Enable or disable cronjob purging.
Cronjob time of each day: Enter HH:MM in 24 hour notation for cronjob time of day. Will fallback to 00:00 when wrong format is given.
Purge caches Select caches to purge on given cronjob time.
hosts.json
Hosts.json is a JSON file with information about one or more servers for this WordPress installation. Remember that this file must contain information about all servers, including the one with this plugin. Default path is: wp-content/uploads/cacholong-cache-control/hosts.json.
“Cache control by Cacholong” empties partial or full cache for Nginx FastCGI cache. WordPress HTTP API is used to make (post) request to specific urls to trigger purges. Based on the http header responses this plugin determines if a purge is successful or not. The user is informed with messages, which are loaded after a purge and page refresh.
There are several settings to tweak purging, see Settings > Cache control.
WP-CLI
There are several commands available for the commandline with wp-cli. Commands generate text output which can be suppressed with –quiet. When an error occurs, text will always be displayed.
WP-CLI exit codes
Exit codes are 0 (no errors) or 1 (generic error).
Purge all caches for ip address 127.0.0.1 and 127.0.0.2:
wp cacholong_cc purge --ips=127.0.0.1,127.0.0.2
Factory reset options for given site_id or current blog if no site_id is given:
wp cacholong_cc factory_reset [--site_id=site_id]
Debug
Plugin will log basic purge information when WP_DEBUG is true (can be set in wp-config.php). Logs information in file wp-content/cacholong-cache-control.log. Plugin will log wp_remote_request details when CACHOLONG_CACHE_DEBUG_HTTP_API_REQUEST is true (can be set in wp-config.php). Logs information in file wp-content/cacholong-cache-control.log.
See it in action
A closer look.
“Cache control by Cacholong" settings panel.
02 / Source details
Gettingstarted.
Minimum Requirements
01WordPress 4.3.1+
02Nginx server with fastcgi_cache enabled
Optional Requirements
03hosts.json file. File contains information about hosts and which caches are active. See hosts.json section for more details. When not available, plugin assumes localhost with all caches active.
Automatic installation
04Log in to your WordPress dashboard and navigate to the plugins menu.
05Click “Add New”.
06Search for “Cache control by Cacholong”.
07Once you find this plugin, click “Install Now”.
08Activate the plugin
09Configure the plugin at Settings > Cache control
Manual installation
10Log in to your WordPress dashboard and navigate to the plugins menu.
11Click “Add New”.
12Click “Upload Plugin”.
13Locate zip file on your computer and click “Install Now”.
14Activate the plugin
15Configure the plugin at Settings > Cache control
Updating
Although updates are thoroughly tested, make a backup of your website (files and database) before you install an update.
03 / Source details
Frequently asked questions.
Why doesn’t this plugin work?
This plugin has several requirements. Please check the minimum and optional requirements, before installing this plugin. Open a support topic if you require additional help.
When i use “Quick edit” to edit a post, nothing is happening!
Although no message is displayed, the purge was activated! You can see the purge message when you refresh the page. This is a technical limitation.
Why do my cronjobs execute later then I expect?
WordPress cronjobs are not the same as real cronjobs. WordPress cronjobs will start if someone visits your website after (or on the) scheduled time. This might be later then expected. It is possible to disable WordPress cronjobs and use a real cronjob that polls wp-cron.php on a regular base.
Why does my cronjob execute immediately?
If you enter a time of day that has already passed, the first cronjob is set to this time of day and is executed the first time the site is loaded (or wp-cron.php is called).
What should I do when WordPress cronjobs are disabled?
WordPress cronjobs are disabled (‘DISABLE_WP_CRON’ = true). Please use a different type of cronjob to poll wp-cron.php on a regular base. If cronjob cache purging fails make sure the hosts.json file is in place with the proper settings. See hosts.json section on the plugins page for more details.
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati