Docs menu
Getting started
Install and run your first test Point-and-click test creation Element tests vs URL split testsPrivacy and data
What the plugin storesCaching & CDN compatibility
Why tests keep working behind full-page caching.
Short answer
Tests keep working behind full-page caching and CDNs because the variant is assigned in the visitor's browser, so the same cached HTML serves everyone. Anti-flicker rules are inlined with a two-second failsafe, the roughly 11 KB visitor script loads deferred on every page by default, and the popular caches are purged when a test starts or stops.
Why caching does not break tests
Most testing tools break behind caching because they decide the variant on the server; the cache then freezes one variant for everyone. AB Test WP assigns variants in the visitor's browser instead, so the same cached HTML works for every visitor and no cache exclusions are needed.
Anti-flicker and the script
The anti-flicker rules are inlined: variant markup stays hidden until the runtime reveals the assigned version, with a failsafe that shows everything after two seconds even if the script is blocked. The visitor script is about 11 KB gzipped and loads deferred. By default it loads on every page, so a conversion handed back from a cross-domain split test is never missed; a filter (abtestwp_load_runtime_always) limits it to pages that actually run a test. With JavaScript off, the original is shown and nothing is recorded.
Cache purges on start and stop
Because the small head snippet changes when a test starts or stops, the plugin purges the popular caches at those moments: WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, WP Fastest Cache, Cache Enabler, Hummingbird, Breeze, Autoptimize, SiteGround Optimizer, Nginx Helper, WP Engine, Kinsta, Pantheon and the Cloudflare plugin, with a hook for anything else. If your CDN or proxy rewrites HTML aggressively, test one page first.
Want the longer read? See the full testing guide on the blog, or browse all docs.
Common questions
Which caching plugins are purged automatically?
WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, WP Fastest Cache, Cache Enabler, Hummingbird, Breeze, Autoptimize, SiteGround Optimizer, Nginx Helper, WP Engine, Kinsta, Pantheon and the Cloudflare plugin, with a hook for anything else.
What happens if JavaScript is blocked?
The original is shown and nothing is recorded. If the script loads slowly, a failsafe shows everything after two seconds.
Do I need to exclude tested pages from the cache?
No. Assignment happens in the browser, so no cache exclusions are needed.
Was this page helpful? Yes · NoEdit or report a problem
Ready to test it yourself?
Free, cookieless, no traffic limits, on any builder or theme.