{"id":328208,"date":"2026-07-08T01:00:40","date_gmt":"2026-07-08T01:00:40","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/fastcgi-cache-for-ploi\/"},"modified":"2026-07-08T01:00:18","modified_gmt":"2026-07-08T01:00:18","slug":"fastcgi-cache-for-ploi","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/fastcgi-cache-for-ploi\/","author":14238832,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.5","requires_php":"8.2","requires_plugins":null,"header_name":"FastCGI Cache for Ploi","header_author":"Filipe Seabra","header_description":"Automatically flush a Ploi-managed site's FastCGI cache when content changes.","assets_banners_color":"2d384d","last_updated":"2026-07-08 01:00:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/fastcgi-cache-for-ploi\/","header_author_uri":"https:\/\/github.com\/filipecsweb","rating":0,"author_block_rating":0,"active_installs":0,"downloads":30,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"filiprimo","date":"2026-07-08 01:00:18"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3599671,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3599671,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3599671,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3599671,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3599671,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[146,270531,2437,247,7914],"plugin_category":[52,54],"plugin_contributors":[81047],"plugin_business_model":[],"class_list":["post-328208","plugin","type-plugin","status-publish","hentry","plugin_tags-cache","plugin_tags-fastcgi-cache","plugin_tags-nginx","plugin_tags-performance","plugin_tags-purge","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_contributors-filiprimo","plugin_committers-filiprimo"],"banners":{"banner":"https:\/\/ps.w.org\/fastcgi-cache-for-ploi\/assets\/banner-772x250.png?rev=3599671","banner_2x":"https:\/\/ps.w.org\/fastcgi-cache-for-ploi\/assets\/banner-1544x500.png?rev=3599671","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/fastcgi-cache-for-ploi\/assets\/icon.svg?rev=3599671","icon":"https:\/\/ps.w.org\/fastcgi-cache-for-ploi\/assets\/icon.svg?rev=3599671","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>FastCGI Cache for Ploi keeps your Ploi-hosted site fast <em>and<\/em> fresh. When you publish or update content, it calls the Ploi API to flush your site's Nginx FastCGI cache automatically, so visitors never see stale pages \u2014 and you never have to purge by hand.<\/p>\n\n<p><strong>What it does<\/strong><\/p>\n\n<ul>\n<li>Flushes the FastCGI cache automatically on the events you choose: post publish\/update, post deletion, comments, theme switch, Customizer saves, and navigation-menu changes.<\/li>\n<li>Coalesces bursts of changes into a single flush so a bulk edit doesn't hammer the API.<\/li>\n<li>One-click <strong>Flush now<\/strong> button for manual purges.<\/li>\n<li>A <strong>Recent flushes<\/strong> log so you can see what triggered each flush and whether it succeeded.<\/li>\n<li>Stores your Ploi API token encrypted at rest.<\/li>\n<\/ul>\n\n<p><strong>How it works<\/strong><\/p>\n\n<p>Connect the plugin to Ploi with a Ploi API token, pick the server and site to target, and choose which events should trigger a flush. From then on it runs in the background.<\/p>\n\n<p>This plugin requires a third-party service (the Ploi API) to function \u2014 see the <em>External services<\/em> section below.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the <strong>Ploi API<\/strong> (https:\/\/ploi.io), a third-party service, to flush your site's Nginx FastCGI cache. This connection is required for the plugin to do its job.<\/p>\n\n<p><strong>When data is sent to Ploi<\/strong><\/p>\n\n<ul>\n<li>When you click <strong>Connect<\/strong> \u2014 to validate your token and list your servers.<\/li>\n<li>When you select a server \u2014 to list that server's sites.<\/li>\n<li>When a flush runs \u2014 either automatically (on a content change you enabled) or manually (the <strong>Flush now<\/strong> button).<\/li>\n<\/ul>\n\n<p><strong>What data is sent to Ploi<\/strong><\/p>\n\n<ul>\n<li>Your <strong>Ploi API token<\/strong> \u2014 sent as an authorization header on every request.<\/li>\n<li>The <strong>server ID<\/strong> and <strong>site ID<\/strong> you selected \u2014 sent in the request URL when listing sites and when flushing.<\/li>\n<li>The <strong>flush request<\/strong> itself \u2014 an instruction to purge the selected site's FastCGI cache.<\/li>\n<\/ul>\n\n<p>No post content, personal data, or visitor information is sent to Ploi. Requests are made to <code>https:\/\/ploi.io\/api\/...<\/code>.<\/p>\n\n<p>Your use of the Ploi service is governed by Ploi's legal terms:<\/p>\n\n<ul>\n<li>Terms of Service: https:\/\/ploi.io\/terms-of-service<\/li>\n<li>Privacy Policy: https:\/\/ploi.io\/privacy-policy<\/li>\n<\/ul>\n\n<h3>Source code &amp; build<\/h3>\n\n<p>The compiled admin assets in <code>public\/build\/<\/code> are minified. The complete, human-readable source (front-end included) and the build steps live in the plugin's public repository: https:\/\/github.com\/filipecsweb\/wp-plugin-fastcgi-cache-for-ploi<\/p>\n\n<h3>Disclaimer<\/h3>\n\n<p>Ploi is a trademark of its respective owner. This plugin is not affiliated with or endorsed by Ploi.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/fastcgi-cache-for-ploi\/<\/code>, or install it from the <strong>Plugins \u2192 Add New<\/strong> screen in your WordPress admin.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Go to <strong>Settings \u2192 FastCGI Cache<\/strong>.<\/li>\n<li>Paste a <strong>Ploi API token<\/strong> (create one at https:\/\/ploi.io\/profile\/api-keys) and click <strong>Connect<\/strong>. A valid token is saved (encrypted) automatically.<\/li>\n<li>Choose the <strong>server<\/strong> and <strong>site<\/strong> whose FastCGI cache should be flushed.<\/li>\n<li>Pick which <strong>events<\/strong> should trigger an automatic flush, then click <strong>Save settings<\/strong>.<\/li>\n<\/ol>\n\n<p><strong>Optional, recommended:<\/strong> define a dedicated encryption key in <code>wp-config.php<\/code> so the stored token is encrypted with a key independent of your database:<\/p>\n\n<pre><code>define( 'FASTCGI_CACHE_FOR_PLOI_KEY', 'a-long-random-string' );\n<\/code><\/pre>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20ploi%20account%3F\"><h3>Do I need a Ploi account?<\/h3><\/dt>\n<dd><p>Yes. This plugin flushes the FastCGI cache of a site managed by Ploi (https:\/\/ploi.io), so you need a Ploi account, a Ploi-managed server\/site with FastCGI caching enabled, and a Ploi API token.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20a%20ploi%20api%20token%3F\"><h3>Where do I get a Ploi API token?<\/h3><\/dt>\n<dd><p>In your Ploi account under <strong>Profile \u2192 API keys<\/strong> (https:\/\/ploi.io\/profile\/api-keys). Create a key, give it a recognizable name (for example \"FastCGI Cache \u2014 yourdomain.com\"), and paste it into the plugin's Connection card.<\/p><\/dd>\n<dt id=\"a%20flush%20fails%20with%20an%20error%20about%20caching%20not%20being%20enabled.%20what%27s%20wrong%3F\"><h3>A flush fails with an error about caching not being enabled. What's wrong?<\/h3><\/dt>\n<dd><p>Ploi can only flush FastCGI cache for a site that has it enabled. Enable FastCGI caching for the site in Ploi, then try again.<\/p><\/dd>\n<dt id=\"is%20my%20api%20token%20stored%20securely%3F\"><h3>Is my API token stored securely?<\/h3><\/dt>\n<dd><p>Yes. The token is encrypted at rest and is never displayed again after it is saved. For the strongest protection, define <code>FASTCGI_CACHE_FOR_PLOI_KEY<\/code> in <code>wp-config.php<\/code> (see Installation) so the encryption key is independent of your database.<\/p><\/dd>\n<dt id=\"can%20i%20flush%20the%20cache%20manually%3F\"><h3>Can I flush the cache manually?<\/h3><\/dt>\n<dd><p>Yes \u2014 use the <strong>Flush now<\/strong> button on the settings screen.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. Flushes happen via a background request to the Ploi API after content changes; they do not block your visitors, and bursts of changes are coalesced into a single flush.<\/p><\/dd>\n<dt id=\"how%20do%20i%20stop%20the%20plugin%20from%20contacting%20ploi%3F\"><h3>How do I stop the plugin from contacting Ploi?<\/h3><\/dt>\n<dd><p>Click <strong>Disconnect<\/strong> on the settings screen to remove the saved token, or deactivate\/uninstall the plugin. With no token saved, the plugin makes no requests to Ploi.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Automatically flush your Ploi-managed site&#039;s Nginx FastCGI cache the moment content changes \u2014 no manual purging.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/328208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=328208"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/filiprimo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=328208"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=328208"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=328208"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=328208"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=328208"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=328208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}