{"id":19014678,"date":"2026-09-08T15:33:45","date_gmt":"2026-09-08T15:33:45","guid":{"rendered":"https:\/\/wordpress.org\/support\/topic\/po-never-purges-automatically-wordpress-plugin-does-not-call-the-api\/"},"modified":"2026-09-08T15:49:25","modified_gmt":"2026-09-08T15:49:25","slug":"po-never-purges-automatically-wordpress-plugin-does-not-call-the-api","status":"publish","type":"topic","link":"https:\/\/wordpress.org\/support\/topic\/po-never-purges-automatically-wordpress-plugin-does-not-call-the-api\/","title":{"rendered":"PO never purges automatically \u2014 WordPress plugin does not call the API"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Hi,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thanks for the reply. I can&#8217;t run that test any more: I have disabled APO on<br \/>the zone and removed the Cloudflare WordPress plugin. Here is everything I<br \/>measured while it was still in place, so you have the full picture.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">TIMELINE \u2014 8 September 2026, all times UTC, measured from an external client<br \/>12:09 APO enabled on buzzarena.com (zone 50be6de476b26998d44cc7ec18a24253).<br \/>Every page cached at this moment.<br \/>12:00, 12:05, 13:00, 14:06 Four articles published.<br \/>14:21 Every navigation page still serving the copy stored at activation:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>     \/                HIT  age 7555s  copy of 12:09  latest article: NO\n     \/geek            HIT  age 7384s  copy of 12:10  latest article: NO\n     \/bons-plans      HIT  age 7488s  copy of 12:10  latest article: NO\n     \/guides-dachat   HIT  age 6094s  copy of 12:10  latest article: NO\n     \/high-tech       HIT  age 7384s  copy of 12:10  latest article: NO\n\n   All responses carried cf-apo-via: tcache.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">14:47 After clicking Purge Cache inside WordPress, and with the plugin<br \/>reporting itself as connected and Automatic Cache Management ON, the<br \/>API token still showed &#8220;Last used: May 27, 2026&#8221; \u2014 unchanged through<br \/>all four publications of the day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">14:57 I called the purge endpoint by hand with the same credentials:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>     POST \/client\/v4\/zones\/50be6de...\/purge_cache\n     {\"files\":&#091;\"https:\/\/www.buzzarena.com\/\"]}\n     -&gt; {\"success\":true}\n\n   The homepage updated within seconds (age 0, correct content).<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">15:25 APO disabled. Site back to cf-cache-status: DYNAMIC, TTFB 89-344 ms.<br \/>15:43 Cloudflare WordPress plugin removed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So the token, its permissions and the zone were never the problem. Whatever the<br \/>plugin was doing during those two hours, it was not purging \u2014 and a front page<br \/>frozen on a two-hour-old copy is not viable for a site that publishes several<br \/>times a day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A SECOND, SEPARATE ISSUE<br \/>Throughout, the plugin displayed &#8220;cf-edge-cache response header is missing!<br \/>Please clear any server cache used via other plugins.&#8221; Clearing every cache<br \/>layer did not change it. The header was in fact present on every response type<br \/>I could produce:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudflare cache HIT cf-edge-cache: cache,platform=wordpress<br \/>PHP-generated (unknown query) cf-edge-cache: cache,platform=wordpress<br \/>HEAD request cf-edge-cache: cache,platform=wordpress<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The plugin&#8217;s own verification was therefore wrong about my origin. Your<br \/>community forum and the WordPress.org support forum both have long-running<br \/>threads on this exact warning, several of them pointing at a conflict with<br \/>another page-cache plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">QUESTIONS<\/p>\n\n\n\n<ol>\n<li>Is there a way to inspect the purge requests the plugin believes it is<br \/>sending, so a user can tell &#8220;connected&#8221; from &#8220;actually calling the API&#8221;?<\/li>\n\n\n\n<li>GitHub issues #404, #456 and #484 on cloudflare\/Cloudflare-WordPress describe<br \/>the same failure to purge across several plugin versions, and your community<br \/>forum has threads titled &#8220;APO does not clear the homepage after publishing a<br \/>post&#8221; going back to 2021. Is this the same defect, and is a fix planned?<\/li>\n\n\n\n<li>If the plugin cannot be relied upon for invalidation, is calling the purge<br \/>API directly from the site a supported way to run APO?<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">I am happy to re-enable APO on a staging basis if that would help you reproduce.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Best regards,<br \/>Bernard David Corroy \u2014 buzzarena.com<\/p>\n","protected":false},"template":"","class_list":["post-19014678","topic","type-topic","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/19014678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic"}],"about":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":2,"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/19014678\/revisions"}],"predecessor-version":[{"id":19014693,"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/19014678\/revisions\/19014693"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/media?parent=19014678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}