Troubleshooting Breeze Cache: Common Issues and How to Fix Them
Content
Breeze is a powerful WordPress caching plugin known for its performance benefits, particularly on Cloudways hosting. However, like any complex tool, users can occasionally run into issues. This guide compiles some of the most common problems reported by the community and provides clear, step-by-step solutions to help you get your site running smoothly again.
1. MIME Type Mismatch & 404 Errors on Minified Files
The Problem: Users report errors like "MIME type ('text/html') mismatch" or "Failed to load resource: 404" for CSS/JS files in the /breeze-minification/ directory. The page may appear broken.
Why It Happens: This typically occurs when the minification process is interrupted, a cached file is purged but the reference to it remains in the HTML, or there is a file permission conflict that prevents Breeze from correctly generating new cache files.
How to Fix It:
- Purge All Caches: The first and easiest step is to use the "Purge All Cache" button within the Breeze settings. This forces Breeze to regenerate all minified files from scratch.
- Check File Permissions: If the problem persists, incorrect file permissions on your server's
wp-content/cache/folder could be the culprit. Ensure the folder is writable by WordPress. A common permission setting is 755 for directories and 644 for files. Your hosting provider can assist with this. - Temporarily Disable Minification: As a diagnostic step, turn off the "Minify CSS" and "Minify JS" options in Breeze under the File Optimization tab. If the errors disappear, the issue is specific to the minification process. You can then try re-enabling the features one by one to identify a potential conflict with a specific theme or plugin.
2. Render-Blocking Resources Warnings
The Problem: Tools like Google PageSpeed Insights flag Breeze's minified CSS files as render-blocking resources, suggesting they slow down page load times.
Why It Happens: By default, CSS must be loaded in the head of a document to style the page immediately, which is why it's classified as render-blocking. Breeze's current version focuses on minifying and combining CSS but does not have a built-in method to load it asynchronously.
How to Fix It:
- For JavaScript: Breeze does offer options to defer JS loading. In the File Optimization tab, you can add script handles to the "JS Files With Deferred Loading" box to delay their execution.
- For CSS: As confirmed by the Breeze team in support threads, a feature to address render-blocking CSS is under development. Currently, handling this requires advanced manual techniques outside the scope of the plugin, so this is a known limitation users must wait for a future update to resolve.
3. Caching Conflicts with Other Plugins (e.g., Rank Math, ActivityPub)
The Problem: Breeze serves a cached HTML page to endpoints that should return dynamic content, such as Rank Math's SEO dashboard (/wp-json/rankmath/) or ActivityPub JSON requests for Mastodon.
Why It Happens: Breeze's page cache is very efficient and does not distinguish between different types of requests by default. It serves the same cached HTML version of a page regardless of the request headers, which breaks functionality that relies on content negotiation.
How to Fix It:
- Exclude URLs via .htaccess (Apache): For endpoints that should never be cached, you can add rules to your
.htaccessfile. For example, to exclude the Rank Math dashboard, you could add:# Exclude Rank Math from caching <IfModule mod_headers.c> <FilesMatch "^wp-json/rankmath/.*$"> Header set Cache-Control "no-cache, no-store, must-revalidate" </FilesMatch> </IfModule> - Use Plugin-Specific Exclusions: Some plugins, like ActivityPub, may offer their own documentation on how to configure them with caching plugins. Checking their support resources is recommended.
4. Browser Caching and Expiry Headers
The Problem: Users want to adjust how long browsers cache assets, either to meet recommendations from testing tools or to fix overly aggressive caching.
Why It Happens: Breeze configures browser caching (expiry headers) automatically. The "Purge Cache After" setting controls the server-side cache, not the browser cache. Browser cache expiry is handled by rules added to the .htaccess file.
How to Fix It:
- Adjust Server-Side Cache Time: The "Purge Cache After" field in the Basic Options tab (value is in minutes) determines how long Breeze stores cached pages on your server. Setting this to 10080 minutes (7 days) is a common practice.
- Modify Browser Caching (Advanced): The rules for browser caching are written to
.htaccess. Manually editing these rules is possible but not recommended for beginners, as errors can break your site. If you change them, ensure file permissions allow Breeze to write to.htaccess, or your changes may be reverted.
5. Plugin and Hosting Conflicts
The Problem: Strange behavior, like ZIP files not downloading correctly or mobile/desktop views being stuck, occurs when Breeze is active.
Why It Happens: Caching plugins can interact unpredictably with other plugins that also manipulate output or headers (e.g., eStore, WordPress Mobile Pack). Conflicts with server-level caching (like Varnish or mod_deflate) can also cause issues.
How to Fix It:
- Standard Conflict Test: Disable all other plugins except Breeze. If the issue is resolved, re-enable your plugins one by one to identify the culprit. Once found, you can look for a specific exclusion rule for that plugin.
- Check Server Rules: Review your
.htaccessfile for any existing rules that might conflict with the rules Breeze adds. Temporarily renaming the.htaccessfile (which will reset it) can help diagnose if this is the source of the problem. - Consult Hosting Documentation: If you are on a managed hosting platform like Cloudways, consult their specific documentation for configuring Breeze, as server-level settings can override plugin functionality.
By following these troubleshooting steps, you can resolve the majority of common issues encountered with the Breeze cache plugin. Remember, the core principle is to isolate the problem by disabling features and then re-enabling them systematically.
Related Support Threads Support
-
Load CSS and JS async to avoid render blockinghttps://wordpress.org/support/topic/load-css-and-js-async-to-avoid-render-blocking/
-
Breeze and Rank Math Dashboard issuehttps://wordpress.org/support/topic/breeze-and-rank-math-dashboard-issue/
-
HTTP/2 Server Pushhttps://wordpress.org/support/topic/http-2-server-push/
-
Eliminate render-blocking resources (even after delay all JS scripts)https://wordpress.org/support/topic/eliminate-render-blocking-resources-even-after-delay-all-js-scripts/
-
Add WebP Expiry headerhttps://wordpress.org/support/topic/add-webp-expiry-header/
-
breeze increased my loading time 3x, using almost whole server resourcehttps://wordpress.org/support/topic/breeze-increased-my-loading-time-3x-using-almost-whole-server-resource/
-
Breeze cache generates 100s of individual js files and gigabytes of data per dayhttps://wordpress.org/support/topic/breeze-cache-generates-100s-of-individual-js-files-and-gigabytes-of-data-per-day/
-
Google Page Speed Testhttps://wordpress.org/support/topic/google-page-speed-test-2/
-
Not compatible with Breeze? BUT IT WORKS FINE!https://wordpress.org/support/topic/not-compatible-with-breeze-but-it-works-fine/
-
Browser Cache TTL Not being appliedhttps://wordpress.org/support/topic/browser-cache-ttl-not-being-applied/
-
No ActivityPub (content negotiation) support?https://wordpress.org/support/topic/no-activitypub-content-negotiation-support/
-
Support at least 5 years of WP versionshttps://wordpress.org/support/topic/support-at-least-5-years-of-wp-versions/
-
Lazysizes and CDN not workinghttps://wordpress.org/support/topic/lazysizes-and-cdn-not-working/
-
Breeze cause issue on first load.https://wordpress.org/support/topic/breeze-cause-issue-on-first-load/
-
Not Working with WP Mobile Pack Pluginhttps://wordpress.org/support/topic/not-working-with-wp-mobile-pack-plugin/
-
Breeze javascript causing poor PageSpeed score?https://wordpress.org/support/topic/breeze-javascript-causing-poor-pagespeed-score/
-
Cookieless domain not workinghttps://wordpress.org/support/topic/cookieless-domain-not-working/
-
Low and high user agent groups problemhttps://wordpress.org/support/topic/low-and-high-user-agent-groups-problem/
-
Breeze and CDN77https://wordpress.org/support/topic/breeze-and-cdn77/
-
WPML with domain per language breaks Varnish purgehttps://wordpress.org/support/topic/wpml-with-domain-per-language-breaks-varnish-purge/
-
Is it compatible with cloudflarehttps://wordpress.org/support/topic/is-it-compatible-with-cloudflare/
-
Breeze and Cachewallhttps://wordpress.org/support/topic/breeze-and-cachewall/
-
Specify expirationhttps://wordpress.org/support/topic/specify-expiration/
-
Recommended cache settingshttps://wordpress.org/support/topic/recommended-cache-settings-2/
-
Possible to defer loading of Google Adsense with Breeze?https://wordpress.org/support/topic/possible-to-defer-loading-of-google-adsense-with-breeze/
-
Getting Failed to load resource errorhttps://wordpress.org/support/topic/getting-failed-to-load-resource-error-2/
-
Eliminate render-blocking resourceshttps://wordpress.org/support/topic/eliminate-render-blocking-resources-6/
-
Breeze Cache Plugin doesn’t seem to catch background images for CDNhttps://wordpress.org/support/topic/breeze-cache-plugin-doesnt-seem-to-catch-background-images-for-cdn/
-
google bot need old css and jshttps://wordpress.org/support/topic/google-bot-need-old-css-and-js/
-
More Comparisons this time with W3TC / Breezehttps://wordpress.org/support/topic/more-comparisons-this-time-with-w3tc-breeze/
-
Breeze Increasing Loading Speed?https://wordpress.org/support/topic/breeze-increasing-loading-speed/
-
CDN Comparability with Breezhttps://wordpress.org/support/topic/cdn-comparability-with-breez/
-
A lot of js cache fileshttps://wordpress.org/support/topic/a-lot-of-js-cache-files/
-
Did some comparisonshttps://wordpress.org/support/topic/did-some-comparisons/
-
Mixed content warning when fonts hosted locallyhttps://wordpress.org/support/topic/mixed-content-warning-when-fonts-hosted-locally/
-
CSS file is blockinghttps://wordpress.org/support/topic/css-file-is-blocking/
-
Too high TTFB when I publish/update a posthttps://wordpress.org/support/topic/too-high-ttfb-when-i-publish-update-a-post/
-
conflict on content-length with mod deflate enabledhttps://wordpress.org/support/topic/conflict-on-content-length-with-mod-deflate-enabled/
-
Problems with Breeze/Varnishhttps://wordpress.org/support/topic/problems-with-breeze-varnish/
-
Compatibility with Speed Booster Packhttps://wordpress.org/support/topic/compatibility-with-speed-booster-pack/
-
Breeze vs. LSCachehttps://wordpress.org/support/topic/breeze-vs-lscache/
-
Render blocking ressourcehttps://wordpress.org/support/topic/render-blocking-ressource/
-
Breeze and mod_pagespeedhttps://wordpress.org/support/topic/breeze-and-mod_pagespeed/
-
ZIP FILEShttps://wordpress.org/support/topic/zip-files-5/
-
Breeze 1.1.5 Incompatible Plugins with W3 Total Cache Plugin 0.13.2https://wordpress.org/support/topic/breeze-1-1-5-incompatible-plugins-with-w3-total-cache-plugin-0-13-2/
-
Frequent 404 errors with cached JS and CSS fileshttps://wordpress.org/support/topic/frequent-404-errors-with-cached-js-and-css-files/
-
Breeze sets a default 30 day browser cachehttps://wordpress.org/support/topic/warning-breeze-sets-a-dangerous-default-30-day-browser-cache-affects-webpages/
-
How to increase cache control response time?https://wordpress.org/support/topic/how-to-increase-cache-control-response-time/