Resolving WooCommerce Cart and Checkout Issues with Breeze Cache Plugin
Content
If you run a WooCommerce store, you know that a smooth shopping cart and checkout process is critical for conversions. A common theme among support threads for the Breeze – WordPress Cache Plugin involves conflicts that disrupt these essential functions. Users report problems like incorrect cart quantities, checkout errors, and payment methods failing to load.
This guide will explain why these issues occur and provide the most effective solutions to get your store running smoothly again.
Why Do These Caching Conflicts Happen?
WooCommerce cart and checkout pages are dynamic by nature. They heavily rely on user-specific sessions, cookies, and AJAX calls (like wc-ajax) to function correctly. When a caching plugin like Breeze treats these dynamic elements as static content, it can serve the same cached page to multiple users, leading to mixed-up carts, session errors, and broken functionality.
Based on numerous user reports, the most common triggers are:
- Preloaded URLs: The "Preload Links" feature, if it includes cart or checkout pages, can inadvertently cache user-specific data.
- Minification & Grouping: Aggressive JavaScript or CSS minification and grouping can break the scripts WooCommerce uses to update the cart and process payments.
- Cached AJAX Calls: Breeze may cache vital
wc-ajaxcalls, returning a 403 Forbidden error and halting the checkout process. - Multisite Configuration: On WordPress Multisite installations, a single configuration file can cause exclusion rules to not apply correctly to all sites.
Common Solutions to WooCommerce & Breeze Conflicts
Here are the most effective fixes, compiled from resolved community threads.
Solution 1: Configure Correct URL Exclusions
The first and most important step is to ensure Breeze never caches sensitive WooCommerce pages. These should be excluded by default, but it's wise to double-check.
- Navigate to Breeze > Settings > Advanced Settings.
- In the "Never Cache the Following Pages" field, add the following URLs, each on a new line:
/cart/ /checkout/ /my-account/ /wc-api/* - Save changes.
Solution 2: Exclude Critical WooCommerce AJAX Calls
To prevent 403 errors on checkout, you must exclude WooCommerce's AJAX handler from caching.
- In Breeze > Settings > Advanced Settings, find the "Never Cache the Following Pages" field.
- Add this line:
/?wc-ajax=* - In the "Exclude the following JavaScript files" field, also add:
wc-ajax - Save changes and purge all cache.
Solution 3: Disable Preload for Cart/Checkout Links
If your cart is showing abnormal quantities (e.g., adding 2-3 items at once), the "Preload Links" feature is likely the culprit. While you may not want to disable it entirely, you should ensure it is not preloading any cart-related URLs. Review the preload settings and remove any links pointing to /cart/ or /checkout/.
Solution 4: Troubleshoot Minification and Grouping
If variable product dropdowns break, payment buttons disappear, or pages load in a loop, temporarily disable minification and grouping.
- Go to Breeze > Settings.
- Under File Optimization, uncheck "Group JavaScript files" and "Group CSS files".
- Save changes and purge the cache. If this resolves the issue, you can try re-enabling each option one by one to identify the specific culprit.
Solution 5: Multisite Configuration Check
For WordPress Multisite users, a known issue is that all sites share one breeze-config.php file. You must ensure that each individual site in your network has its cache exclusion rules properly saved. Visit the Breeze settings panel on each site's dashboard and click "Save Changes" to generate the correct configuration for that specific site.
Solution 6: The Universal First Step: Purge Cache
Before trying anything else, always purge all cache. In your WordPress admin, go to the Breeze menu and click "Purge All Cache", "Purge Varnish Cache," and "Purge Internal Cache." After purging, test your site in a fresh incognito/private browser window to ensure you are not seeing a cached version.
Conclusion
Conflicts between caching plugins and WooCommerce are common but almost always solvable through careful configuration. The key is to instruct the cache to avoid any user-specific or dynamic processes. By following the steps above—primarily setting the correct exclusions for AJAX calls and sensitive pages—you can enjoy the speed benefits of Breeze without compromising your store's functionality.
If problems persist after trying these solutions, a general plugin conflict test is recommended. Temporarily disable all other plugins except WooCommerce and Breeze to see if the issue resolves. If it does, reactivate your plugins one by one to identify which one is causing the conflict.
Related Support Threads Support
-
2.0.32 woocommerce add to shopping cart quantity abnormalhttps://wordpress.org/support/topic/2-0-32-woocommerce-add-to-shopping-cart-quantity-abnormal/
-
Update from 1.1.8 to 1.1.9 breaks WooCommerce checkout in some caseshttps://wordpress.org/support/topic/update-from-1-1-8-to-1-1-9-breaks-woocommerce-checkout-in-some-cases/
-
Currency converter not working properly after last updatehttps://wordpress.org/support/topic/currency-converter-not-working-properly-after-last-update/
-
Bulk edit product errorhttps://wordpress.org/support/topic/bulk-edit-product-error/
-
Breeze Plugin breaks the cart for users and adds other products to ithttps://wordpress.org/support/topic/breeze-plugin-breaks-the-cart-for-users-and-adds-other-products-to-it/
-
V.2.1.6 Breaks Composite Productshttps://wordpress.org/support/topic/v-2-1-6-breaks-composite-products/
-
Woocommerce Cart updatehttps://wordpress.org/support/topic/woocommerce-cart-update/
-
New Update Got a Big Bughttps://wordpress.org/support/topic/new-update-got-a-big-bug/
-
Latest update break Woocommerce variableshttps://wordpress.org/support/topic/latest-update-break-woocommerce-variables/
-
woocommerce cart issuehttps://wordpress.org/support/topic/woocommerce-cart-issue-4/
-
Breeze preventing Ordoro to sync ordershttps://wordpress.org/support/topic/breeze-preventing-ordoro-to-sync-orders/
-
WooCommerce mini-cart cachinghttps://wordpress.org/support/topic/woocommerce-mini-cart-caching/
-
New Update Broke Checkouthttps://wordpress.org/support/topic/new-update-broke-checkout/
-
Woocommerce Checkout Page doesn’t load payment methodshttps://wordpress.org/support/topic/woocommerce-checkout-page-doesnt-load-payment-methods/
-
1.1.3 infinite redirect loophttps://wordpress.org/support/topic/1-1-3-infinite-redirect-loop/
-
Checkout Slow with Many productshttps://wordpress.org/support/topic/checkout-slow-with-many-products/
-
403 /?wc-ajax woocommerce errors on checkouthttps://wordpress.org/support/topic/403-wc-ajax/
-
latest stripe buy now buttons not working with cached pageshttps://wordpress.org/support/topic/latest-stripe-buy-now-buttons-not-working-with-cached-pages/
-
WooCommercehttps://wordpress.org/support/topic/woocommerce-364/
-
WooCommerce cart bughttps://wordpress.org/support/topic/woocommerce-cart-bug/
-
Breeze causing login issue in Woocommercehttps://wordpress.org/support/topic/breeze-causing-login-issue-in-woocommerce/
-
Not working with woocommerce cart widgethttps://wordpress.org/support/topic/not-working-with-woocommerce-cart-widget/