Plugin & Theme Compatibility
Warp Performance includes built-in integrations for the most popular WordPress plugins, themes, and hosting environments. This page documents what works automatically, what needs configuration, and what conflicts to avoid.
Incompatible Plugins
These plugins do the same core work Warp does — page caching, minification, or JavaScript delay. Running them alongside Warp causes double-minified assets, cache poisoning, or broken pages. Warp shows an admin notice when it finds any of them active.
Deactivate these before using Warp Performance:
| Plugin | Reason for conflict |
|---|---|
| WP Rocket | Full caching & optimization suite — overlaps entirely |
| W3 Total Cache | Full caching & minification suite |
| WP Super Cache | Page caching — conflicts with Warp’s cache layer |
| WP Fastest Cache | Page caching & minification |
| LiteSpeed Cache | Full caching suite — use Warp’s Server-native cache mode instead |
| Hummingbird | Full caching & optimization suite |
| Cache Enabler | Page caching |
| Swift Performance | Full caching & optimization suite |
| Swift Performance Lite | Full caching & optimization suite |
| Autoptimize | CSS/JS minification & deferral |
| Fast Velocity Minify | CSS/JS minification |
| WP Optimize | Caching & optimization suite |
| instant.page | Prefetch library — conflicts with Warp’s speculative loading |
| WP Meteor | JS delay — conflicts with Warp’s Delay JavaScript |
E-Commerce
WooCommerceintegrated
No configuration required.
- Session cookies bypass the cache.
wp_woocommerce_session_andwoocommerce_items_in_cartare in the default bypass list, so any visitor with an active cart or session always gets an uncached response. Cart, checkout and account pages are never cached, and the Cloudflare integration also excludes/cart/,/checkout/and/my-account/at the edge. - Cart Fragments replaced. The default
wc-cart-fragmentsscript, which fires a heavy admin-ajax call on every page load, is dequeued and replaced with Warp’s own fragment endpoint. The cart count and total refresh through one lightweight REST request. - Product cache purged automatically. Creating, updating, deleting a product or reducing its stock purges the product page, the shop page and the related archives, then preloads them.
- Filter parameters stay in the cache key.
orderby,min_price,max_priceandrating_filterare cached as separate pages rather than being stripped.
WooCommerce Multilingual & Multi-Currency (WCML)integrated
Warp tracks the wcml_currency cookie and includes it in the cache key, so each currency gets its own cached copy of a page. Switching currency never serves a page priced in the previous one.
Page Builders
Elementorintegrated
- Lazy Render per section or container. A “Warp Performance” panel appears in the Advanced tab of every Section and Container. Turn on Lazy Render to defer that element until it is about to enter the viewport.
- Template changes purge everything. Saving a template, global widget or theme builder part purges the whole page cache and starts a preload, because those affect many pages at once.
- Video widgets become click-to-play. Elementor’s video widgets are converted to a lightweight placeholder so the embed’s own scripts only load when a visitor plays the video.
- The editor is never served from cache, because it runs as a logged-in administrator and admins are excluded from caching by default.
Bricks Builderintegrated
- Delay JavaScript is made safe for Bricks. Bricks holds elements at zero opacity until its own JavaScript runs, which would leave a delayed page blank. Warp supplies its own visibility rules for those elements and replays the events Bricks expects, so entrance animations run normally.
- Animations do not replay. Elements already on screen when the delayed scripts start are skipped, so nothing animates in a second time.
- Bricks bloat dequeued where it is not needed on the front end.
- Template saves purge all pages and start a preload.
Etchintegrated
Saving Etch global styles, global stylesheets or loops purges every cached page and starts a preload, because Etch’s styles are shared sitewide rather than scoped to one page.
Breakdanceintegrated
- Lazy Render per element. A “Warp Performance” section appears in every element’s settings.
- Template, header, footer and block saves trigger a full purge and preload.
Oxygen Builderintegrated
- Lazy Render per component, in the component’s Plus (+) tab.
- Template saves trigger a full purge and preload.
Diviintegrated
- Lazy Render per module, under Advanced → Custom CSS on every module.
- Divi library saves — layouts, headers, footers, body templates, theme options and code snippets — trigger a full purge and preload.
Gutenberg (Block Editor)integrated
- Lazy Render per block, through Warp’s block sidebar panel.
- Reusable blocks, navigation blocks, site templates, template parts and global styles trigger a full purge and preload when saved.
Beaver Builderauto-purge
Saving a Beaver Builder template purges all pages and starts a preload. No per-element Lazy Render control.
Brizyauto-purge
Saving a Brizy layout or global block purges all pages and starts a preload. No per-element Lazy Render control.
Optimization Plugins
When Warp detects an optimization plugin that duplicates one of its features, it turns off the overlapping feature in that plugin whenever you save Warp’s settings. This prevents double-minification, double lazy loading and similar conflicts. Nothing needs configuring by hand.
Perfmattersintegrated
Warp disables only the Perfmatters features it is replacing. Anything Warp is not handling stays active in Perfmatters.
| Warp feature enabled | Perfmatters feature switched off |
|---|---|
| Defer JS | Defer JavaScript |
| Delay JS | Delay JavaScript |
| Remove Unused CSS | Remove Unused CSS |
| Lazy Load Images | Lazy Loading & CSS Background Images |
| Add Missing Dimensions | Image Dimensions |
| Preload Critical Images | Critical Images |
| Lazy Load iFrames | Lazy Loading iFrames |
| Preload Cache | Instant Page |
| Optimize Google Fonts | Local Google Fonts |
| Font Display Swap | Display Swap and Disable Google Fonts |
| CDN | Enable CDN |
Breeze (Cloudways)integrated
Warp resets every Breeze setting that would conflict — caching, minification, lazy loading, defer and delay, preload, CDN and heartbeat control. Breeze stays installed but sits passive while Warp handles optimization.
EWWW Image Optimizerintegrated
Warp turns off EWWW’s lazy loading, which Warp handles itself. EWWW keeps doing image compression and format conversion without conflict.
ShortPixel Adaptive Imagesintegrated
Warp turns off ShortPixel AI’s lazy loading and image dimension rewriting. ShortPixel keeps serving optimized formats through its CDN.
SiteGround Optimizerintegrated
Warp disables the overlapping SiteGround Optimizer settings — caching, HTML/CSS/JS optimization, async JavaScript, font optimization, image lazy loading and emoji removal. The plugin stays installed, but Warp takes over.
Images & Media Offloading
Warp’s image optimizer writes converted copies beside your originals inside the uploads folder. That only works when the uploads folder is actually on your server, so Warp detects offloaders and steps aside.
| Detected | How |
|---|---|
| WP Offload Media | as3cf_get_attachment_url() or its classes |
| S3 Uploads | S3_UPLOADS_BUCKET |
| WP-Stateless | wpCloud\StatelessMedia\Bootstrap |
| Media Cloud | MEDIACLOUD_VERSION or its storage tool |
| Any remote uploads directory | The uploads base path is not local |
While an offloader is active, in-place compression of originals is disabled entirely, and individual attachments served from remote storage are skipped. Everything else in Warp carries on as normal.
WARP_PERFORMANCE_image_optimizer_offloaders filter. See the Hooks & Filters Reference.Hosting Providers
Warp coordinates its purges with the server-level cache of these hosts. Purging in Warp clears the host’s cache at the same time.
Kinstaintegrated
A full cache purge in Warp also clears Kinsta’s edge cache. Detected automatically through the KINSTA_CACHE_ZONE environment variable.
WP Engineintegrated
A full purge clears both WP Engine’s Memcached object cache and its Varnish cache. Detected through the WpeCommon class.
Cloudwaysintegrated
A full purge fires breeze_clear_all_cache, clearing the Breeze/Varnish layer. Detected when the Breeze plugin is active.
Rocket.netintegrated
A full purge fires rocketnet_purge_cache to clear Rocket.net’s server-level cache. Detected through the WP_Rocket_Net_Common class.
Web Servers & Cache Mode
LiteSpeed and OpenLiteSpeedintegrated
Under Cache → Cache Mode you can choose:
- Auto (recommended) — Warp uses the server’s own cache on LiteSpeed, and its file cache everywhere else.
- File-based — always use Warp’s file cache. Choose this if your host runs OpenLiteSpeed, or if pages stay stale.
- Server-native (LiteSpeed) — always use the server’s cache.
Warp purges the server cache after each optimization, so an optimized page appears without waiting for its cache entry to expire. Do not run the LiteSpeed Cache plugin alongside Warp; use Server-native mode instead.
Nginxmanual config
Nginx cannot read .htaccess, so Warp generates a configuration block for you under Cache → Nginx. Paste it into your server config and reload nginx. The block encodes your current settings, so Warp warns you and asks you to paste an updated block whenever a setting that affects it changes.
Apacheintegrated
Warp writes and maintains its own .htaccess block. It is removed again when the plugin is deactivated.
Varnishintegrated
Detected when the request carries both an X-Varnish and an X-Application header, and the application is not set to bypass. Purging one URL sends a URLPURGE request to the local Varnish instance at 127.0.0.1; purging all pages sends a PURGE.
Nginx Helperintegrated
When the Nginx Helper plugin is active, Warp calls its purge methods whenever the page cache is cleared, keeping the Nginx FastCGI cache in sync.
CDN
Cloudflareneeds credentials
Configure under CDN → Cloudflare with an API Token and Zone ID.
- Cloudflare’s cache is purged whenever Warp’s local cache is purged. Editorial purges — publishing, updating a post, the dashboard purge buttons — jump ahead of routine background purges, so an edit is never stuck behind a preload crawl.
- Warp can create and manage the Cloudflare cache rules that let HTML be cached at the edge, and verifies they are still in place rather than assuming.
- An optional “Cache Regardless of Query String” rule ignores tracking parameters at the edge.
- Rules are tied to the site that created them. A staging site sharing a zone will never adopt or delete the live site’s rules.
- If your domain changes, Warp notices and re-applies the rules.
Cloudflare APOintegrated
If the Cloudflare APO plugin is active and APO is on for your zone, Warp syncs its purges with APO, so purging a URL or the whole cache clears the APO copy at the same time.
Bunny CDNneeds credentials
Configure your API key and Pull Zone ID under CDN → Bunny. The pull zone is purged whenever Warp’s cache is purged, with pages that have just finished preloading given priority. A URL that repeatedly fails to purge is dropped after five attempts and logged once, rather than being retried forever.
Object Cache (Redis)
Warp can install its own Redis object cache drop-in, with no wp-config.php editing. It includes a connection tester, live hit-rate and memory figures, and encrypted password storage.
object-cache.php from another plugin is already present, Warp leaves it alone and tells you so. Remove the other drop-in first if you want Warp to manage it.Translation & Multilingual
All four work the same way: when Warp auto-purges a URL, it expands the operation to cover every language version of that URL. No configuration needed.
WPMLintegrated
Warp reads the active WPML languages and purges every translated version of a page together with the original.
Polylangintegrated
Auto-purge is expanded through pll_get_post_translations() and pll_get_term_translations() to cover translated posts and taxonomy archives.
TranslatePressintegrated
Warp uses TranslatePress’s URL converter to build the translated URLs for each language and purges them together. The cache file path is also adjusted so each language keeps its own cache file.
WeGlotintegrated
The cache file path is adjusted for the current WeGlot language, so each language version has its own cache file, and auto-purge covers every destination language.
Themes
Divi (Elegant Themes)integrated
See Page Builders → Divi above.
BuddyBossintegrated
- REST API access. BuddyBoss restricts the REST API by default; Warp adds its own endpoints to the exclusion list so the dashboard works.
- Minification conflict resolved. BuddyBoss’s built-in CSS/JS minification is switched off to avoid double-minification.
Other Plugins
Advanced Custom Fields (ACF)integrated
Saving a post through ACF purges and preloads that post’s page. Saving an ACF Options Page purges every cached page and starts a full preload, because options data usually affects the whole site.
PrettyLinksintegrated
Pretty link redirect URLs are excluded from caching, because they need to run their tracking and redirect logic on every visit.
AI Assistants (MCP)
Warp exposes an MCP endpoint so Claude, ChatGPT, the WordPress AI Client and other MCP-compatible assistants can read cache status, Core Web Vitals and optimization settings. Requires WordPress 6.9 or newer and an Application Password over HTTPS. Write access is off by default and opt-in; credentials, access roles and code injection settings are never exposed.
Quick Reference
| Plugin / Service | Category | Status | Action needed |
|---|---|---|---|
| WooCommerce | E-Commerce | Integrated | None |
| WCML (Multi-Currency) | E-Commerce | Integrated | None |
| Elementor | Page Builder | Integrated + Lazy Render | None |
| Bricks Builder | Page Builder | Integrated | None |
| Etch | Page Builder | Integrated | None |
| Breakdance | Page Builder | Integrated + Lazy Render | None |
| Oxygen Builder | Page Builder | Integrated + Lazy Render | None |
| Divi | Page Builder / Theme | Integrated + Lazy Render | None |
| Gutenberg | Page Builder | Integrated + Lazy Render | None |
| Beaver Builder | Page Builder | Auto-purge | None |
| Brizy | Page Builder | Auto-purge | None |
| Perfmatters | Optimization | Integrated | None |
| Breeze | Optimization | Integrated | None |
| EWWW Image Optimizer | Optimization | Integrated | None |
| ShortPixel Adaptive Images | Optimization | Integrated | None |
| SiteGround Optimizer | Optimization | Integrated | None |
| WP Offload Media / S3 Uploads / WP-Stateless / Media Cloud | Media offload | Detected, optimizer steps aside | None |
| Kinsta | Hosting | Integrated | None |
| WP Engine | Hosting | Integrated | None |
| Cloudways | Hosting | Integrated | None |
| Rocket.net | Hosting | Integrated | None |
| LiteSpeed / OpenLiteSpeed | Web server | Integrated | Check Cache Mode |
| Nginx | Web server | Config block provided | Paste and reload |
| Apache | Web server | Integrated | None |
| Varnish | Server cache | Integrated | None |
| Nginx Helper | Server cache | Integrated | None |
| Redis | Object cache | Native drop-in | Enter connection details |
| Cloudflare | CDN | Native | Enter API credentials |
| Cloudflare APO | CDN | Integrated | None |
| Bunny CDN | CDN | Native | Enter API credentials |
| WPML | Translation | Integrated | None |
| Polylang | Translation | Integrated | None |
| TranslatePress | Translation | Integrated | None |
| WeGlot | Translation | Integrated | None |
| BuddyBoss | Theme | Integrated | None |
| Advanced Custom Fields | Other | Integrated | None |
| PrettyLinks | Other | Integrated | None |