{"id":113817,"date":"2019-11-26T13:30:08","date_gmt":"2019-11-26T13:30:08","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wp-cloudflare-cache\/"},"modified":"2026-08-23T10:54:57","modified_gmt":"2026-08-23T10:54:57","slug":"wp-cloudflare-cache","status":"publish","type":"plugin","link":"https:\/\/fr.wordpress.org\/plugins\/wp-cloudflare-cache\/","author":15377746,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.8.0","stable_tag":"1.8.0","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"WP Cloudflare Cache","header_author":"Jumedeen Khan","header_description":"Cache HTML page on the Cloudflare when used cache everything page rule.","assets_banners_color":"fdcfb8","last_updated":"2026-08-23 10:54:57","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/buymeacoffee.com\/jumedeenkhan","header_plugin_uri":"https:\/\/www.mozedia.com\/","header_author_uri":"https:\/\/www.mozedia.com\/about","rating":4.2,"author_block_rating":0,"active_installs":60,"downloads":5075,"num_ratings":5,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2":{"tag":"1.2","author":"jumedeenkhan","date":"2024-05-09 21:43:12"},"1.2.1":{"tag":"1.2.1","author":"jumedeenkhan","date":"2024-05-11 12:07:51"},"1.5.0":{"tag":"1.5.0","author":"jumedeenkhan","date":"2026-08-22 16:30:37"},"1.6.0":{"tag":"1.6.0","author":"jumedeenkhan","date":"2026-08-23 02:37:47"},"1.8.0":{"tag":"1.8.0","author":"jumedeenkhan","date":"2026-08-23 10:54:57"}},"upgrade_notice":{"1.8.0":"<p>Fixes a duplicate-setting bug that ran Cloudflare sync twice per save, plus TTL label fixes.<\/p>","1.7.0":"<p>Broader cookie\/URL bypass matching for a more reliable cache. Update recommended.<\/p>","1.6.0":"<p>Bug-fix release: settings save, cache purging, and permission checks. Update recommended.<\/p>","1.5.0":"<p>Major update introducing Cloudflare Cache Rules, API Token authentication, edge-level cache bypass, TTL controls, Cache Exclude URLs, and improved security and settings management.<\/p>"},"ratings":{"1":"1","2":0,"3":0,"4":"1","5":"4"},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3660888,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3084953,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3660888,"resolution":"1544x500","location":"assets","locale":"","width":2203,"height":714},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3660888,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2","1.2.1","1.5.0","1.6.0","1.8.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3660888,"resolution":"1","location":"assets","locale":"","width":1349,"height":2758},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3660888,"resolution":"2","location":"assets","locale":"","width":1116,"height":1476}},"screenshots":{"1":"WP Cloudflare Cache settings page.","2":"Cloudflare installation guide."}},"plugin_section":[],"plugin_tags":[146,3863,3882,1513,247],"plugin_category":[52,54,59],"plugin_contributors":[166226],"plugin_business_model":[],"class_list":["post-113817","plugin","type-plugin","status-publish","hentry","plugin_tags-cache","plugin_tags-cdn","plugin_tags-cloudflare","plugin_tags-pagespeed","plugin_tags-performance","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_category-utilities-and-tools","plugin_contributors-jumedeenkhan","plugin_committers-jumedeenkhan"],"banners":{"banner":"https:\/\/ps.w.org\/wp-cloudflare-cache\/assets\/banner-772x250.png?rev=3660888","banner_2x":"https:\/\/ps.w.org\/wp-cloudflare-cache\/assets\/banner-1544x500.png?rev=3660888","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wp-cloudflare-cache\/assets\/icon-128x128.png?rev=3660888","icon_2x":"https:\/\/ps.w.org\/wp-cloudflare-cache\/assets\/icon-256x256.png?rev=3084953","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wp-cloudflare-cache\/assets\/screenshot-1.png?rev=3660888","caption":"WP Cloudflare Cache settings page."},{"src":"https:\/\/ps.w.org\/wp-cloudflare-cache\/assets\/screenshot-2.png?rev=3660888","caption":"Cloudflare installation guide."}],"raw_content":"<!--section=description-->\n<p>WP Cloudflare Cache adds real full-page caching to your WordPress site using a Cloudflare Cache Rule \u2014 including on the Cloudflare Free plan.<\/p>\n\n<p>It automatically creates and manages a single Cache Rule that caches your public pages while safely bypassing logged-in users, comment authors, password-protected pages, WordPress admin requests, and any URLs you exclude.<\/p>\n\n<p>When content changes, the plugin purges only the affected URL instead of clearing your entire Cloudflare cache.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li>Full-page HTML caching with a single Cloudflare Cache Rule.<\/li>\n<li>Works with the Cloudflare Free plan.<\/li>\n<li>Bypasses logged-in users, comment authors, and password-protected pages at Cloudflare's edge.<\/li>\n<li>Automatically excludes WordPress admin and login requests.<\/li>\n<li>Selective cache purging when posts, pages, or comments change.<\/li>\n<li>Optional homepage and Custom Purge URLs.<\/li>\n<li>Cache Exclude URLs for paths such as <code>\/cart\/<\/code> and <code>\/checkout\/<\/code>.<\/li>\n<li>Separate Browser Cache TTL and Edge Cache TTL controls.<\/li>\n<li>Cache-Control <code>max-age<\/code> and <code>s-maxage<\/code> controls.<\/li>\n<li>Optional bypass for <code>sitemap.xml<\/code> and <code>robots.txt<\/code>.<\/li>\n<li>Connect using a scoped API Token or Global API Key.<\/li>\n<li>Automatically loads available Cloudflare domains.<\/li>\n<li>Warns when the selected domain is not proxied through Cloudflare.<\/li>\n<li>One-click Purge All Cache, Purge Latest Post, and Reset Settings.<\/li>\n<li>Automatically migrates saved credentials from older versions.<\/li>\n<\/ul>\n\n<h4>Why use WP Cloudflare Cache?<\/h4>\n\n<p>By default, Cloudflare mainly caches static assets such as CSS, JavaScript, and images. Your WordPress HTML pages may still reach your server.<\/p>\n\n<p>WP Cloudflare Cache creates a Cache Rule that allows Cloudflare to cache eligible public pages while keeping requests that must remain dynamic outside the cache.<\/p>\n\n<p>Instead of purging your entire cache whenever content changes, only the affected URL is purged. Other cached pages remain available from Cloudflare.<\/p>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Connect your Cloudflare account using an API Token or Global API Key.<\/li>\n<li>Select your domain.<\/li>\n<li>Save your settings.<\/li>\n<li>The plugin automatically creates and manages the required Cloudflare Cache Rule.<\/li>\n<\/ol>\n\n<p>No manual Cache Rule configuration is required.<\/p>\n\n<h4>API Token permissions<\/h4>\n\n<p>For the recommended API Token setup, grant the permissions required by the plugin:<\/p>\n\n<ul>\n<li>Zone &gt; Cache Purge<\/li>\n<li>Zone &gt; Cache Rules<\/li>\n<li>Zone &gt; Zone Settings<\/li>\n<\/ul>\n\n<p>You can also use a Global API Key.<\/p>\n\n<h4>Upgrade from older versions<\/h4>\n\n<p>Older versions used a Global API Key. Your saved Cloudflare credentials are migrated automatically when updating.<\/p>\n\n<p>If your existing credentials cannot be verified, the plugin will display a notice asking you to reconnect Cloudflare.<\/p>\n\n<h4>More information<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/github.com\/jumedeenkhan\/wp-cloudflare-cache\">GitHub Repository<\/a><\/li>\n<li><a href=\"https:\/\/www.mozedia.com\/cloudflare-cache-everything-for-wordpress\/\">Setup Guide<\/a><\/li>\n<li><a href=\"https:\/\/www.mozedia.com\/contact\/\">Contact &amp; Support<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload and activate <strong>WP Cloudflare Cache<\/strong> from the WordPress admin.<\/li>\n<li>Go to the plugin settings page.<\/li>\n<li>Connect Cloudflare using an API Token or Global API Key.<\/li>\n<li>Select your domain.<\/li>\n<li>Configure your cache settings and save.<\/li>\n<\/ol>\n\n<p>The required Cloudflare Cache Rule will be created automatically.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20the%20cloudflare%20free%20plan%3F\"><h3>Does this work with the Cloudflare Free plan?<\/h3><\/dt>\n<dd><p>Yes. The plugin uses a Cloudflare Cache Rule to enable full-page caching and is designed to work with the Cloudflare Free plan.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20manually%20create%20a%20cache%20rule%3F\"><h3>Do I need to manually create a Cache Rule?<\/h3><\/dt>\n<dd><p>No. The plugin automatically creates and updates the required Cache Rule when you save your settings.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20cache%20logged-in%20users%3F\"><h3>Does the plugin cache logged-in users?<\/h3><\/dt>\n<dd><p>No. Logged-in users, comment authors, and password-protected pages are bypassed at Cloudflare's edge.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20update%20a%20post%20or%20page%3F\"><h3>What happens when I update a post or page?<\/h3><\/dt>\n<dd><p>The affected URL is purged automatically. Optional homepage and Custom Purge URLs can also be purged.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20purge%20my%20entire%20cache%20on%20every%20update%3F\"><h3>Does the plugin purge my entire cache on every update?<\/h3><\/dt>\n<dd><p>No. Normal content updates use selective purging so unaffected cached pages can remain in the cache.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20specific%20urls%20from%20caching%3F\"><h3>Can I exclude specific URLs from caching?<\/h3><\/dt>\n<dd><p>Yes. Add paths such as <code>\/cart\/<\/code> or <code>\/checkout\/<\/code> to Cache Exclude URLs.<\/p><\/dd>\n<dt id=\"can%20i%20bypass%20sitemap.xml%20or%20robots.txt%3F\"><h3>Can I bypass sitemap.xml or robots.txt?<\/h3><\/dt>\n<dd><p>Yes. Both <code>sitemap.xml<\/code> and <code>robots.txt<\/code> have separate bypass options.<\/p><\/dd>\n<dt id=\"should%20i%20use%20an%20api%20token%20or%20global%20api%20key%3F\"><h3>Should I use an API Token or Global API Key?<\/h3><\/dt>\n<dd><p>An API Token is recommended because it can be limited to only the permissions required by the plugin. A Global API Key also works.<\/p><\/dd>\n<dt id=\"will%20my%20existing%20settings%20work%20after%20upgrading%3F\"><h3>Will my existing settings work after upgrading?<\/h3><\/dt>\n<dd><p>Saved Cloudflare credentials from older versions are migrated automatically when possible.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>Fixed settings save running Cloudflare sync twice.<\/li>\n<li>Fixed duplicate\/incorrect Browser Cache TTL labels.<\/li>\n<li>Fixed Reset Settings defaults to match actual defaults.<\/li>\n<li>Improved code documentation.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Broadened bypass cookies to \"wordpress\" and \"comment_\" prefixes.<\/li>\n<li>Added \/wp-json bypass.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Fixed settings save skipping sanitization.<\/li>\n<li>Fixed purge on permanent post deletion.<\/li>\n<li>Fixed apex domain detection for .co.uk\/.com.au style TLDs.<\/li>\n<li>Broadened sitemap bypass to WordPress core sitemaps.<\/li>\n<li>Fixed deactivation erasing saved configuration.<\/li>\n<li>Tightened Reset Settings permission check.<\/li>\n<li>Fixed admin bar purge button and API Token show\/hide toggle.<\/li>\n<li>Prevented duplicate purge\/reset requests.<\/li>\n<li>Redesigned settings notices into a single popup and refreshed the UI.<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Added Cloudflare API Token authentication alongside Global API Key support.<\/li>\n<li>Added automatic Cloudflare domain selection.<\/li>\n<li>Changed full-page caching from legacy Page Rules to a Cloudflare Cache Rule.<\/li>\n<li>Added edge-level bypass for logged-in users, comment authors, and password-protected pages.<\/li>\n<li>Added Browser Cache TTL and Edge Cache TTL controls.<\/li>\n<li>Added Cache-Control <code>max-age<\/code> and <code>s-maxage<\/code> settings.<\/li>\n<li>Added Cache Exclude URLs.<\/li>\n<li>Added separate bypass options for <code>sitemap.xml<\/code> and <code>robots.txt<\/code>.<\/li>\n<li>Added a warning when the selected domain is not proxied through Cloudflare.<\/li>\n<li>Added connection status and Reset Settings.<\/li>\n<li>Added automatic migration for saved credentials from older versions.<\/li>\n<li>Improved selective cache purging.<\/li>\n<li>Improved AJAX permission and nonce protection.<\/li>\n<li>Fixed zone detection for apex domains.<\/li>\n<li>Fixed settings sanitization and escaping issues.<\/li>\n<li>Fixed PHP warnings caused by failed Cloudflare API or network requests.<\/li>\n<li>Removed an unrelated filter that disabled the block editor.<\/li>\n<li>Updated the license to GPLv2 or later.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Updated license details.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Added homepage purge.<\/li>\n<li>Added Custom Purge URLs.<\/li>\n<li>Added Purge Latest Post and Purge All Cache actions.<\/li>\n<li>Added Page Rule creation.<\/li>\n<li>Added Browser Cache TTL settings.<\/li>\n<li>Added support for cache purging from the block editor.<\/li>\n<li>Excluded search and 404 pages from caching.<\/li>\n<li>Added cache purging for comment activity.<\/li>\n<li>Improved compatibility with PHP 8.3.<\/li>\n<li>Fixed compatibility issues with newer WordPress versions.<\/li>\n<li>Tested up to WordPress 6.5.3.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Tested up to WordPress 5.8.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Updated the <code>max-age<\/code> behavior for Cloudflare caching.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Speed up your WordPress website via Cloudflare CDN with full-page caching \u2013 improve SEO, and overall performance.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/113817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=113817"}],"author":[{"embeddable":true,"href":"https:\/\/fr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jumedeenkhan"}],"wp:attachment":[{"href":"https:\/\/fr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=113817"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=113817"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=113817"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=113817"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=113817"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=113817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}