Skip to main content

Breeze Cache on Cloudways: FAQ Guide to Caching, Purging & Optimization

Get answers to common Breeze cache questions on Cloudways — enabling page caching, purging Varnish and Cloudflare, excluding URLs, mobile caching, and troubleshooting tips.

Written by Syed Abuzar Mehdi

Breeze is Cloudways' built-in caching plugin, designed to work alongside server-level Varnish and CDN layers like Cloudflare to speed up WordPress sites.

Because these three systems interact, and sometimes behave differently from one another, questions often come up around how caching actually works, when it clears, and how to fine-tune it for specific pages or content types.

This FAQ-style article walks through the most common questions about enabling and verifying Breeze's cache, purging behavior across Varnish and Cloudflare, excluding dynamic content, handling query strings, mobile caching, and troubleshooting, so you can configure Breeze with confidence and keep your site both fast and accurate.


Enabling and Verifying Page Caching

1. How do you enable the Breeze cache system on a WordPress site?

Go to Settings > Breeze in your WordPress admin panel, click the Basic Options tab, check the box next to Cache System, and click Save Changes. This turns on Breeze's core page caching, which is the setting everything else in this subsection builds on.

2. What does enabling the cache system actually do to speed up the site?

Instead of WordPress rebuilding a page from the database and running PHP on every single visit, Breeze stores a static, ready-to-serve version of the page once it's generated. Repeat visitors get that stored copy directly, which cuts server processing time and speeds up load times, especially under traffic.

3. How do you confirm that Breeze is caching a page after turning it on?

Visit your site, right-click anywhere on the page, and choose View Page Source. Breeze inserts an HTML comment in the source code confirming the page was served from cache. If that comment is present, caching is active for that page.

4. Does enabling One-Click Optimization (Standard, Advanced, or Expert) also turn on page caching, or does it only handle file and asset optimization?

One-Click Optimization does not enable the Cache System. All three plans (Standard, Advanced, Expert) bundle file and asset-level settings, things like Gzip compression, minification, lazy loading, and file combination, but page caching itself has to be turned on separately in Basic Options.

The one exception worth flagging is Browser Cache, which is included in the Standard plan and does relate to caching, though it's a different mechanism from full-page caching. Don't assume clicking a One-Click plan puts your site into a fully cached state.


Caching for Logged-in Users

5. How do you enable caching for logged-in visitors, and can you control it by role?

In Basic Options, under Cache Logged-in Users, Breeze exposes a separate toggle for each standard WordPress role: Administrator, Editor, Author, Contributor, and Subscriber. Turn on the roles you want cached and click Save Changes. This is useful for membership or community sites, where you may want caching enabled for lower-privilege roles like Subscriber, but left off for Administrators or Editors who need to see live, uncached content while managing the site.

6. How do you confirm that logged-in user caching is active for a given role?

Log in as a user with the role you enabled, then view the page source the same way you would for anonymous caching. If the Breeze cache comment appears while you're logged in as that role, caching is active for it. Repeat for each role you've enabled, since each one is controlled independently.


Clearing and Purging the Cache

7. What happens across Breeze, Varnish, and Cloudflare when you click "Clear Cache" on a single post?

Clicking Clear Cache on a specific post triggers three different responses at once:

  • Varnish (server-level cache): fully purged

  • Cloudflare (CDN/global cache): fully purged

  • Breeze (WordPress/plugin cache): cleared only for that specific post

8. Why does clicking Clear Cache on a post only clear that post's Breeze cache, while fully purging Varnish and Cloudflare?

This is intentional. Varnish and Cloudflare sit in front of WordPress and don't have the same page-by-page awareness that Breeze does, so a full purge at those layers is the safest way to guarantee freshness.

Breeze, on the other hand, can target just the changed post, which means the rest of your site's cached pages stay warm instead of getting wiped and rebuilt unnecessarily. The net effect is that your update shows up everywhere it needs to, without a full-site cache cold start.

9. Does saving changes in the Breeze settings automatically trigger a purge?

Yes. Clicking Save Changes anywhere in Breeze's settings also triggers a purge request, so you don't need to separately clear the cache every time you adjust a setting.

10. What is Auto Purge Varnish, and which actions trigger it automatically?

Auto Purge Varnish is a setting in the Varnish tab. When enabled, Breeze automatically clears the Varnish cache whenever you take actions like publishing a new post or page, or adding a comment. It also covers broader content changes, including updates, deletions, and theme or plugin modifications. Cloudways recommends keeping this enabled at all times, since disabling it means Varnish won't know when your content has changed.

11. How do you manually purge the entire Varnish cache from Breeze?

Go to the Varnish tab and click Purge Varnish Cache. This clears the entire Varnish cache instantly, which is useful after a bigger change, like a theme switch or a design overhaul, where you want every visitor to see the new version immediately.


Excluding Content from the Cache

12. How do you exclude specific URLs or URL patterns from the Breeze cache?

In the Advanced Options tab, use the Never Cache These URLs field. You can enter exact URLs or use a wildcard pattern to exclude a whole group of pages, for example a specific product category: http://yourdomain.com/shop/category-1(.*). This is commonly used for dynamic content you never want served from a static cache.

13. Are WooCommerce cart, checkout, and account pages automatically excluded from caching?

Yes. If you're running WooCommerce, the Cart, Checkout, and My Account pages are excluded from Breeze caching by default. No manual setup is needed for those specific pages.

14. How do you confirm that a URL is correctly excluded?

Visit a page that should be excluded and view its page source. There should be no Breeze cache tag present. For comparison, visit a page that isn't excluded. It should show the cache tag. Seeing that difference confirms the exclusion is working as expected.


Caching Dynamic URLs and Query Strings

15. Does Breeze cache URLs with query strings by default?

No. Out of the box, Breeze does not cache URLs that include query strings, things like ?model=mercedes or ?country=RO. These are treated as dynamic by default and bypassed unless you configure otherwise.

16. How do you configure Breeze to cache specific query string parameters?

In Advanced Options, use the Cache Query Strings field to list the specific parameter names you want Breeze to cache, for example country and tester. Once added, pages using those parameters can be cached rather than bypassed.

17. How does Breeze decide which cached version to serve when a URL has multiple query strings, some tracked and some not?

Breeze creates a separate cache file for each unique combination of the parameters you've told it to track, and it ignores any parameter you haven't listed. For example, if country and tester are set to be cached:

  • ?country=RO&tester=Mike gets cached as one version

  • ?country=RO&tester=Mike_testing gets its own, separate cache file, since tester changed

  • ?utm_source=google&country=RO is served the same cached version as country=RO alone, since utm_source isn't tracked and gets ignored

This lets you cache meaningfully different versions of a page while not fragmenting the cache over parameters that don't actually change the content, like tracking tags.


Varnish Cache Behavior

18. How does Varnish work together with Breeze on a Cloudways server?

Varnish is a server-level cache that Cloudways pre-installs and pre-configures. Breeze's Varnish tab gives you a way to manage that cache from inside WordPress, mainly by controlling when it gets purged. You don't strictly need Breeze for Varnish to function, but using them together is recommended, since Breeze is what tells Varnish when your content has actually changed.

19. What happens to content freshness if Varnish runs without Breeze (or a similar plugin)?

Without Breeze (or an equivalent plugin), Varnish has no way to detect that WordPress content has been updated. That means it may keep serving an outdated version of a page until its cache naturally expires, with a default TTL of 4 hours, or until someone manually purges it. In practice, this can mean visitors see stale content for hours after you've made a change.

20. Where do you find and configure the Varnish server settings inside Breeze?

Go to Settings > Breeze > Varnish. You'll see the Auto Purge Varnish toggle, the Varnish Server field (pre-filled with your Cloudways server's IP, no changes needed), and the Purge Varnish Cache button for manual purges.


CDN and Cloudflare Cache Purging

21. How does Breeze's Cloudflare integration purge CDN cache automatically when content changes?

When your site uses Cloudflare CDN, Breeze can clear Cloudflare's cached files directly from your WordPress dashboard whenever content is updated. This means visitors get the latest version of your site without you needing to log into Cloudflare separately to purge it yourself.

22. What is required to enable Breeze's one-click Cloudflare integration?

If you're using Cloudflare Enterprise, Breeze offers 1-click integration with no special configuration required inside Breeze itself. It's designed to work out of the box for that tier.

23. How does Breeze work with other CDNs that use Pull Zones, such as KeyCDN or Amazon CloudFront?

For Pull Zone-based CDNs, go to the CDN tab in Breeze, check Activate CDN, and enter the CDN's root URL (the CNAME) from the Pull Zone you created with that provider, for example a KeyCDN zone URL or a CloudFront distribution domain. Once connected, your static assets like images, CSS, and JavaScript are served from that CDN's edge network instead of directly from your server.


Backing Up and Reusing Cache Configurations

24. How do you export your current Breeze cache settings to a file?

Go to the Tools tab in Breeze and click Download Settings. This saves your current configuration as a .json file to your computer.

25. How do you import previously saved settings onto another site?

In the Tools tab, click Choose File, select the .json configuration file you exported earlier, then click Upload File and Import Settings. Breeze applies the imported configuration immediately.

26. Why would you want to reuse the same cache configuration across multiple websites?

If you manage several WordPress sites, importing a saved configuration saves you from manually rebuilding the same cache setup on each one. It also keeps caching behavior consistent across sites, which matters if you're troubleshooting an issue or want predictable performance across a whole portfolio of sites rather than a one-off setup on each.


Other Significant Questions

27. Does Breeze Cache Mobile Visitors Separately?

Yes. Breeze can store a separate cached copy for desktop, tablet, and phone. That way a phone does not receive the desktop HTML, and a desktop visitor does not receive the mobile HTML.

This is optional. If Mobile Cache is off, every device uses the same cached page.

Where to find it?

Go to Settings → Breeze → Basic Options → Mobile Cache.

On a new install this option is On.

How it works?

When Mobile Cache is On, Breeze detects the visitor’s device and saves the page in a different cache file:

  • Desktop — normal cache file

  • Tablet — tablet cache file

  • Phone — mobile cache file

When the same URL is opened again, Breeze serves the file that matches that device.

When Mobile Cache is Off, there is no device prefix. Desktop, tablet, and phone all share one cached file.

28. How Caching Affects Forms, Nonces, and Security Tokens in Breeze

Breeze caches HTML, including any nonce that was on the page when the file was saved. An expired token can break forms for later visitors. Breeze does not cache POST submits, AJAX, REST, or WooCommerce cart, checkout, and My Account. Refresh cached page parts will not replace forms or nonce fields. For any other form page, add it to Never Cache URL(s), save, and purge cache.

29. How to Temporarily Disable Breeze Caching for Troubleshooting

You can temporarily disable Breeze caching to troubleshoot issues. For this, go to Settings → Breeze → Basic Options, uncheck Cache System, Save, then Purge All Cache.

On the Cloudways platform, additionally purge Varnish (and Cloudflare if it is active on your account). Test the page in a private/incognito window. To test one URL only, add ?nocache=1 or put the page in Never Cache URL(s). Remember to turn the Cache System back on when you finish.

30. Where Breeze Stores Cache Files on a Cloudways Server

On Cloudways, Breeze stores files under public_html/wp-content/. Page cache is wp-content/cache/breeze/. Minified CSS/JS is wp-content/cache/breeze-minification/. Settings used at runtime are wp-content/breeze-config/. Varnish and Cloudflare are separate and are not inside these folders. Use Purge All Cache (and Varnish) instead of deleting files by hand.

31. When and Why Breeze Deletes Cached Files

Breeze's cached files get removed under a few different circumstances, not just one blanket rule:

  • Age-based expiration: files older than the configured cache lifespan (the Purge Cache After setting) are cleared automatically, while newer files are left alone.

  • Triggered purges: publishing, updating, or deleting a post or page, editing exclusions, or changing a setting that affects the site's front end removes the specific cached files tied to that change, rather than the entire cache.

  • Manual purge: clicking Purge Varnish Cache, or Clear Cache on a post, removes files immediately regardless of age.

  • Settings changes: turning a front-end-affecting feature on or off (file optimization settings, for example) can invalidate the cached files tied to that feature specifically.

Breeze deletes cached files so visitors do not see outdated HTML. It does this when you purge or save settings, when you update posts, comments, or WooCommerce stock, and when Purge Cache After is reached. A full purge empties the cache folders; a post update usually removes only that page and related URLs. New files are created on the next guest visit. On the Cloudways platform, also purge Varnish as that data is not stored in wp-content/cache/.

32. Excluding Custom Post Types from Breeze's Auto-Purge Behavior

Breeze auto-purges cache when you save a public post, page, or custom post type. There is no Breeze setting to exclude a CPT from that. Never Cache URL(s) only stops caching, not purging. To skip auto-purge for a type such as book, use the breeze_collect_urls_for_cache_purge filter and return an empty list for that post type. Leave purge on for any type whose public pages must stay up to date.

33. Should RSS Feeds Be Cached in Breeze?

No. RSS feeds should not be cached. Breeze already excludes /feed/ and ?feed= from page cache and minify. Leave that as it is. Add a custom feed URL to Never Cache URL(s) only if it does not contain /feed or feed=.


Takeaway

Breeze, Varnish, and Cloudflare each play a distinct role, and understanding how they hand off to one another is the key to avoiding stale content or confusing cache behavior. A few core principles to remember:

  • Page caching must be enabled separately in Basic Options. One-Click Optimization handles file/asset optimization, not full-page caching.

  • Purging behaves differently by layer: clearing cache on a single post fully purges Varnish and Cloudflare but only clears that specific post in Breeze, since Breeze has page-level awareness the others lack.

  • Dynamic content needs explicit handling. Query strings are bypassed by default unless whitelisted, and form/nonce-heavy pages should be added to Never Cache URLs to avoid broken submissions.

  • Cloudways-specific quirks matter: Varnish has a 4-hour default TTL if left unpurged, cache files live under specific wp-content/ subfolders, and Varnish always needs a separate manual purge since it isn't stored in Breeze's own cache directory.

  • When troubleshooting, disable Cache System, purge everything (including Varnish/Cloudflare), and test in an incognito window before re-enabling.

Keeping these distinctions in mind makes it much easier to diagnose caching issues quickly and configure Breeze correctly the first time.


That's it! We hope this article was helpful.

Did this answer your question?