Breeze is the caching and performance plugin that comes pre-installed on Cloudways-optimized WordPress applications. Every setting is already configured for you, so you only need this guide when you want to review a setting, change it, or understand what it does.
Open the Breeze settings
Log in to your WordPress admin dashboard and go to Settings > Breeze.
The Breeze menu on the left lists every tab covered in this guide. These are Basic Options, File Optimization, Preload, Advanced Options, Heartbeat API, Database Options, CDN, Varnish, Tools, One-Click Optimization, and FAQs.
Most tabs have a Save Changes button at the bottom. Click it after you update any setting, and purge the cache so visitors see the change.
One-Click Optimization
One-Click Optimization applies a ready-made set of Breeze settings with a single button. Use it when you want proven defaults without going through each tab. A banner at the top of every Breeze tab also links to it through the Explore Optimization Options button.
Breeze offers three presets.
Preset | Recommended for | Settings it enables |
Standard | Most websites | Gzip Compression, Browser Cache, Lazy Load Images, HTML Minify, CSS Minify, and Disable Emoji |
Advanced | Modern themes and plugins | Everything in Standard, plus lazy load for iframes and videos, Include Inline CSS, Combine CSS, Preload Links, and Host Files Locally for Google Fonts |
Expert | Simpler sites and testing | Everything in Advanced, plus JS Minify, Include Inline JS, Delay All JavaScript, and Host Files Locally for Google Fonts and Gravatars |
To apply a preset, open the One-Click Optimization tab and click the Enable button under the preset you want.
The Advanced and Expert presets minify, combine, and delay files, which can change how some themes and plugins behave. Test them on a staging site first, and purge the cache after you apply any preset.
Basic Options
The Basic Options tab controls core caching and delivery. Cache System, Gzip Compression, and Browser Cache are on by default and should stay on.
Cache System turns the main Breeze cache on or off. It builds the internal and static caches for your WordPress site. Keep it on in all cases.
Mobile Cache serves separate cached pages to mobile visitors. Modern themes are responsive and usually work well without it, so turn it on only if your site uses a dedicated mobile theme or plugin.
On Cloudways, you must also enable Device Detection in the Cloudways Platform for mobile caching to work. Follow the Device Detection guide in the Cloudways Knowledge Base to set it up.
Purge Cache After sets how many minutes Breeze waits before it clears the internal cache. The default is 1440 minutes, which equals one day. Lower the number if your content changes often.
Gzip Compression compresses HTML, CSS, and JavaScript on the server before it reaches the visitor's browser. This means fewer and faster HTTP requests. Keep it on.
Browser Cache adds expiry headers to static files. Browsers then reuse files they already downloaded instead of requesting them again from the server.
Lazy Load Images delays loading images until they are about to appear on screen, which shortens the initial page load. When you turn it on, three more options appear.
iFrame lazy load applies the same delay to iframe tags, such as embedded maps and videos.
Video lazy load applies the delay to video tags.
Enable native browser lazy load uses the lazy loading built into the browser instead of a JavaScript library. Not every browser supports it.
Cross-origin Safe Links adds the noopener noreferrer attribute to links that open in a new tab with target="_blank" and point to an external site. This protects your visitors and your site from performance and security issues linked to those pages.
Cache Logged-in Users lets Breeze cache pages for logged-in users. You can turn it on for each of these WordPress roles individually, Administrator, Editor, Author, Contributor, and Subscriber. Some page builders do not work properly with this option, so check your pages after you enable it.
Click Save Changes when you finish.
File Optimization
The File Optimization tab reduces page size and load time by minifying and combining HTML, CSS, and JavaScript files. Minification can change how a theme or plugin behaves, so test every change on a staging site before you apply it to your live site, and purge the cache afterward.
If you see console errors after a change, turn off the settings you just enabled in this tab, starting with JS Minify, and test again.
HTML Settings
Cache Full Page HTML is a beta setting that saves a copy of each page so it loads faster. It is separate from the Cache System option in Basic Options. It works at the plugin level, and Varnish continues to run at the server level. Keep it on for faster pages.
Refresh Cached Page Parts is also in beta. After a cached page loads, Breeze refreshes only the page parts you list so they stay current. Use it only when a cached page shows outdated content in one block, such as a mini-cart. It can affect page response, so leave it off if your site already looks correct.
HTML Minify removes whitespace and comments from your HTML to reduce its size.
CSS Settings
CSS Minify removes whitespace and comments from your CSS files. When you turn it on, the options below it become available.
Font remain visible during load shows text in a fallback font while the custom font downloads, so visitors never see blank text. It works only when CSS Minify is on.
Include Inline CSS minifies CSS written directly in your pages and creates a separate cache file for it.
Combine CSS merges your minified CSS files into one file, which reduces HTTP requests.
Exclude CSS keeps specific CSS files out of minification and combining. Enter one URL per line. You can exclude a whole folder with a wildcard, or a single file by its name.
JS Settings
JS Minify removes whitespace and comments from your JavaScript files. As with CSS, the options below it become available after you turn it on.
Include Inline JS minifies JavaScript written directly in your pages and creates a separate cache file for it.
Combine JS merges your minified JavaScript files into one file. You cannot use it together with Delay JS Inline Scripts or Delay All JavaScript.
Exclude JS keeps specific JavaScript files out of minification and combining. Enter one URL per line, using a folder wildcard or a file name.
Delay JS Inline Scripts postpones inline JavaScript until a visitor interacts with the page, which shortens load time for visitors and speed testing tools.
Add a keyword that identifies each script you want to delay, with one keyword per line. Breeze includes a starter list of common keywords. Clear Varnish after you apply this setting, and do not use it together with Combine JS.
Delay All JavaScript delays every script on the page until a visitor interacts with it. Use the List of scripts not to delay field to keep specific inline scripts or JavaScript files running right away, with one keyword per line.
Use only one of Delay JS Inline Scripts or Delay All JavaScript at a time.
Move JS Files to Footer moves JavaScript files that a theme or plugin loads in the header to the footer during minification.
This lets the visible part of the page load first. Enter the complete URL of each file and click Add URL. Use the arrows to change the order and the X icon to remove an entry. Add the URL of the original file, because Breeze does not support minified file URLs here.
JS Files With Deferred Loading makes the browser run a JavaScript file only after it has parsed the full HTML of the page. Add the URL of the original file the same way as above.
Click Save Changes when you finish.
Preload
The Preload tab prepares fonts, links, domains, and cached pages ahead of time so key pages stay fast, even right after a cache purge.
Preload Webfont loads important font files earlier in the page load. Enter the URL of a local font file or of a CSS file that loads only fonts, then click Add URL. WOFF fonts give the best performance. Do not add your full website CSS file, because it slows the site down. Skip Google Fonts links too, since they already use preload.
For example, a local font URL looks like this.
https://example.com/wp-content/themes/your-theme/assets/fonts/my-font.woff
Preload Links prepares a page when a visitor hovers over an internal link, so the page opens faster after the click. It works in Chromium-based browsers such as Google Chrome, Microsoft Edge, Opera, and Brave. Pages listed under Never Cache URL(s) in Advanced Options are excluded from preload.
Prefetch of DNS Request resolves third-party domain names before the browser needs them, which speeds up connections to analytics tools, tag managers, fonts, and CDN domains. Enter one domain per line. Common examples include the following.
//www.google-analytics.com
//www.googletagmanager.com
//fonts.googleapis.com
//cdn.example.com
Preload URLs rebuilds the cache for pages you choose after the Breeze cache is cleared. This prevents the first visitor from hitting a slow, uncached page after a manual purge, a settings update, or a full cache clear. Breeze always includes your homepage automatically.
To add your own pages, follow these steps.
Turn on Preload URLs.
Enter one full local URL per line, such as a landing page, a category page, or a contact page.
https://example.com/contact/https://example.com/pricing/https://example.com/category/news/
Click Save Changes.
You can save up to 30 URLs, and Breeze ignores any extra entries. Only URLs from your own site are accepted, so external URLs are rejected. URLs that match your Never Cache rules are skipped. On WordPress Multisite, each subsite keeps its own preload list.
Advanced Options
The Advanced Options tab handles cache exclusions, query strings, local file hosting, and the Breeze API.
Never Cache URL(s)
Enter the pages or posts you want to exclude from the Breeze internal cache, one URL per line. To exclude a single page, enter its full URL. To exclude every page under a path, add a wildcard at the end.
https://example.com/example/
https://example.com/events/(.*)
This setting applies only to the WordPress internal cache. If Varnish is enabled on your server, exclude the same URLs from Varnish as well.
Cache Query Strings
A query string is the part of a URL that comes after the question mark. It passes a parameter and a value to the page. In the URL below, name is the parameter and foo is the value.
http://example.com/page/?name=foo
By default, Breeze serves one cached version of a page and ignores most query strings. If a query string changes what the page shows, add its parameter to the Cache Query Strings field, one per line. Breeze then creates a separate cache file for each value of that parameter.
For example, if your site uses a country parameter, enter country in the field. Breeze caches the pages below as two separate files.
http://example.com/page/?country=germany
http://example.com/page/?country=france
If a URL contains several parameters and at least one of them is on your list, Breeze caches the page.
Breeze already creates dedicated cache files for the lang, permalink_name, and lp-variation-id parameters. For example, example.com/services/?lang=english and example.com/about-us/?lang=german each get their own cache file.
Manage query strings in the plugin file
For finer control, you can edit the query string rules directly in this file.
wp-content/plugins/breeze/inc/class-breeze-query-strings-rules.php
To cache each value of a parameter separately, add the parameter to the always_cache_query list.
public $always_cache_query = array(
'lang',
'permalink_name',
'lp-variation-id',
'_group_type',
);
With _group_type on the list, the URLs below each get their own cache file. This is useful when the content changes with the parameter, such as pricing, user roles, or interface variations.
https://example.com/?_group_type=admin
https://example.com/?_group_type=customer
https://example.com/?_group_type=guest
https://example.com/?_group_type=premium
Tracking parameters do not change page content, so Breeze ignores them and serves the same cache file for every value. To ignore another parameter, add it to the ignored_list in the same file. For example, these two URLs share one cache file.
https://example.com/product/123?fbclid=IwAR123abcXYZ
https://example.com/blog/post?fbclid=IwAR987xyzABC
Breeze ignores the following parameters out of the box.
Source | Ignored parameters |
Google Analytics and Ads | utm_source, utm_medium, utm_campaign, utm_expid, utm_term, utm_content, campaignid, adgroupid, adid, gclid, _ga |
Matomo | mtm_medium, mtm_campaign, mtm_keyword, mtm_cid, mtm_content |
Piwik Pro | pk_source, pk_medium, pk_campaign, pk_keyword, pk_cid, pk_content |
fb_action_ids, fb_action_types, fb_source, fbclid | |
Age Verify Plugin | age-verified |
Autoptimize | ao_noptimize |
AMP | usqp |
Cookie Notice | cn-reloaded |
ShareASale | sscid |
Google DoubleClick | gclsrc |
Google Web Stories | _gl |
Mailchimp | mc_cid, mc_eid |
Bronto | _bta_tid, _bta_c |
Listrak | trk_contact, trk_msg, trk_module, trk_sid |
GoDataFeed | gdfms, gdftrk, gdffi |
Klaviyo | _ke |
Springbot | redirect_log_mongo_id, redirect_mongo_id, sb_referer_host |
Marin | mkwid, pcrid |
Adobe Advertising Cloud | ef_id |
Adobe Analytics | s_kwcid |
Microsoft Advertising | msclkid |
Dotdigital | dm_i |
epik, pp |
Disable Emoji
Turns off the emoji libraries and CSS that WordPress loads by default. This removes a few HTTP requests from every page.
Host Files Locally
Serves third-party files from your own server, which removes extra external requests. Turn on Google Fonts, Gravatars, or both, and Breeze stores the files in the following folder.
uploads/breeze/service-name/
API Integration
Enables the Breeze API endpoint, so you can purge the cache on demand through the WordPress REST API. This is useful in workflows that update or add posts and products through the REST API.
Authentication Token
Secures the Breeze API endpoint against unauthorized access. This field becomes active when you turn on API Integration. Click the refresh icon to generate a random key, or enter your own custom value. Include the token in every request you send to the endpoint.
Click Save Changes when you finish.
Heartbeat API
The WordPress Heartbeat API sends data between the browser and the server in near real time while you are logged in to the admin area. It powers several features.
Admin dashboard notifications
Live sales data from e-commerce plugins such as WooCommerce
Lock-out notices for idle users
Periodic autosaves, drafts, and revisions
Post locking when another editor opens the same post
The API runs its tasks every 15 to 60 seconds through the /wp-admin/admin-ajax.php file. These requests can pile up and cause high CPU usage, especially when an admin screen stays open for a long time. It runs on the front end, in the back end, and in the post editor.
Turning the Heartbeat API off completely is rarely the best fix for high CPU usage. Instead, you can lower how often it runs with the Breeze controls below.
Control Heartbeat turns on the Heartbeat settings in Breeze. The three options below take effect only when it is on.
Heartbeat Front-end changes how often Heartbeat runs on the public side of your site, or disables it there.
Heartbeat Post Editor changes how often Heartbeat runs while you edit a post or page, or disables it in the editor.
Heartbeat Back-end changes how often Heartbeat runs in the admin area, or disables it there.
All three dropdowns offer the same choices. Default keeps the standard WordPress interval. Every 30 seconds, Every 60 seconds, Every 90 seconds, and Every 120 seconds set a fixed interval, and a longer interval means fewer requests to your server. Disable turns Heartbeat off for that location.
Disabling Heartbeat can break features in plugins and themes that depend on it, so check your site after you make a change.
Click Save Changes when you finish.
Database Options
Over time, WordPress collects data that your site no longer needs, such as old revisions, drafts, spam, and expired transients. The Database Options tab shows how much of each type your database holds and lets you remove it, which keeps the database small and your site faster.
Back up your site and database before you clean anything.
The Clean All toggle at the top removes all trashed posts and pages. Turn it on and click Clean Now. The number next to it shows how many items Breeze found.
Below it, each cleanup item appears as a card with a count in parentheses. Select the cards you want to clean, then click Optimize under the card grid. Your browser asks you to confirm that you want to optimize the selected items, so click OK to continue.
Card | What it does |
Auto Drafts | Removes all auto-drafted posts and pages |
All Transients | Deletes expired and active transients |
Expired Transients | Deletes only expired transients |
Post Revisions | Removes all post and page revisions |
Spam Comments | Removes comments marked as spam |
Trashed Posts | Removes all trashed posts |
Trashed Comments | Removes all trashed comments |
Unapproved/Pending Comments | Removes comments that are still waiting for approval |
Trackbacks/Pingbacks | Removes trackback and pingback data |
oEmbed in Posts metadata | Removes cached oEmbed data stored in post metadata |
Duplicated Posts, Comments, User, and Term metadata | Removes duplicated metadata entries of each type |
Orphaned Posts, Comments, User, and Term metadata | Removes metadata that no longer belongs to any post, comment, user, or term |
Optimize database | Optimizes the database tables |
Autoload Summary
Below the cards, the Autoload Summary shows the total size and the number of autoloaded options in your database. WordPress loads these options on every page request, so a large total can slow your site down. The table lists each option by name and size, which helps you find the biggest ones.
CDN
Breeze can connect your site to a Content Delivery Network, so you do not need the CDN provider's own plugin.
Breeze supports Cloudflare Enterprise with 1-click integration, and it needs no special configuration in Breeze. You can also purge the Cloudflare cache manually with the Purge Cloudflare Cache feature, which works with Cloudflare Smart Cache.
If you want to use your own CDN, use the fields below.
Activate CDN turns on CDN delivery for your site.
CDN CNAME holds the CDN URL. Start it with a double slash (//) if some of your pages load over HTTP and others over HTTPS.
CDN Content lists the directories the CDN should serve, separated by commas. The default is wp-includes,wp-content.
Exclude Content lists file types or directories that the CDN should skip. For example, enter .css to exclude CSS files.
Relative Path lets your CDN use relative paths on your WordPress site. Keep it on.
Click Save Changes when you finish.
Varnish
Varnish is enabled by default on all WordPress sites hosted on Cloudways, and Breeze comes with its settings already configured. You rarely need to change anything here.
Auto Purge Varnish clears the Varnish cache automatically when you publish or update content, such as new posts, pages, and comments. Keep it on.
Varnish Server holds the address of the Varnish server. Keep the default value if you host on Cloudways. If you host elsewhere, ask your hosting provider what to enter.
Purge Varnish Cache clears the Varnish cache for your entire site right away when you click Purge.
Click Save Changes when you finish.
Tools
The Tools tab lets you back up, restore, reset, and roll back your Breeze configuration. You can do the same work from the WordPress admin panel or with WP-CLI.
Use the WordPress admin panel
Export Settings downloads a backup of your Breeze settings as a
.jsonfile. Click Download Settings and the file saves to your computer.Import Settings restores settings from a
.jsonfile of up to 30 MB. Click Choose File, select the file, and click Upload File and Import Settings.Reset all settings returns every Breeze setting to its default when you click Reset Now.
Rollback Version installs an earlier version of Breeze. Pick the version from the dropdown and click Rollback.
Troubleshooting common issues
Console errors or a broken layout
Turn off the settings you changed in the File Optimization tab, starting with JS Minify, and test the change on a staging site. If the problem goes away, turn the settings back on one at a time to find the one that causes it, and add the affected file to the matching Exclude field. Purge the cache after every adjustment.
Configuration problems
Reset the file permissions of your application and check that the advanced-cache.php file exists in the wp-content folder. If it is missing, save your Breeze settings to regenerate it. You can also turn off caching features temporarily to find the setting that causes the issue.
Cloudflare compatibility
Breeze works with Cloudflare Smart Cache. Use the Cloudflare options in the latest Breeze interface to keep both in sync and to manage API limits for sub-accounts.
That's it! We hope this article was helpful.
