Skip to main content

Caching Conflicts and Optimization Tips for Divi Engine Plugins

Caching is vital for performance, but when misconfigured, it can break styling, prevent AJAX calls, or conflict with Divi Engine plugin features like maps, sliders, filters, and galleries. This guide outlines recommended caching configurations and known issues specific to Divi Engine plugins.

warning

You must either use Divi Performance settings OR a Caching Plugin to optimize Divi. Using both to essentially re-process the same files or tasks will almost certainly break layouts or functionality on your site.

Common Issues and Quick Fixes

1. AJAX Features Losing Styling

  • Symptoms: Styling disappears when using AJAX filter, load more, or custom loops.
  • Fix: Disable the following under Divi > Theme Options > Performance:
    • Dynamic CSS
    • Dynamic Module Framework
    • Critical CSS

  • Symptoms: Google Map and Gallery module conflict when placed together.
  • Fix: Disable JavaScript and jQuery optimizations in Divi’s performance options.

  • Symptoms: Mobile menu doesn’t open or JavaScript errors appear when Machine Gallery is on the same page.
  • Fix: Disable JS and jQuery optimization features under Divi performance settings.

4. Loop Layout Shows Thumbnail Twice

  • Symptoms: In a loop layout using Divi Ajax Filter, Divi Machine or BodyCommerce, the post thumbnail image appears twice.
  • Fix: Disable image Lazy Load in your caching or optimization plugin.

Server-Side Considerations

ModSecurity Blocking AJAX (Often LiteSpeed Cache)

Sometimes LiteSpeed Cache does not plat well with hosting platforms that enable ModSecurity by default.

  • Fix: Ask your hosting provider to whitelist admin-ajax.php in ModSecurity rules.

Step-by-Step Optimization Guide

Step 1: Disable Problematic Divi Performance Features

Navigate to Divi > Theme Options > Performance. Turn OFF:

  • Dynamic CSS
  • Dynamic Icons
  • Critical CSS

Step 2: WP Rocket Settings (if used)

Navigate to Settings > WP Rocket.

A. File Optimization

  • Uncheck:
    • Minify CSS files
    • Combine CSS files
    • Optimize CSS delivery
  • Or manually exclude:
    • /wp-content/themes/Divi/
    • /wp-content/plugins/divi-machine
    • /wp-content/plugins/divi-bodycommerce/
    • /wp-content/plugins/divi-ajax-filter/

B. Media > LazyLoad

  • Disable LazyLoad for CSS background images.

Step 3: WP Fastest Cache Settings (if used)

Navigate to Settings > WP Fastest Cache.

A. CSS Options

  • Uncheck:
    • Minify CSS
    • Combine CSS
  • Or manually exclude:
    • /wp-content/themes/Divi/
    • /wp-content/plugins/divi-machine/
    • /wp-content/plugins/divi-bodycommerce/
    • /wp-content/plugins/divi-ajax-filter/

B. Other

  • Turn OFF:
    • Render Blocking CSS
    • Lazy Load CSS background images

Step 4: Exclude Critical Files from Optimization

Below is a list of scripts and styles that should be excluded from minification, combination, or deferral depending on the issue you're experiencing. Use this table as a reference when troubleshooting broken styling, filters not working, sliders failing to load, or builder issues.

Divi Machine

FileRelative PathWhen to Exclude
frontend-general.min.js/wp-content/plugins/divi-machine/js/frontend-general.min.jsIf filters or dynamic content in loop layouts break.
carousel.min.js/wp-content/plugins/divi-machine/js/carousel.min.jsIf the Gallery/Slider module fails to initialize.
carousel.min.css/wp-content/plugins/divi-machine/css/carousel.min.cssIf slider elements are unstyled or overlapping.
carousel-swiper.min.js/wp-content/plugins/divi-machine/js/carousel-swiper.min.jsIf slider is Swiper-based and fails to render.
carousel-swiper.min.css/wp-content/plugins/divi-machine/css/carousel-swiper.min.cssFor Swiper sliders, if styling looks incorrect.
style.min.css/wp-content/plugins/divi-machine/styles/style.min.cssIf global styling looks broken.
divi-filter.min.js/wp-content/plugins/divi-machine/includes/modules/divi-ajax-filter/js/divi-filter.min.jsIf filters do not respond or AJAX fails.
divi-filter-loadmore.min.js/wp-content/plugins/divi-machine/includes/modules/divi-ajax-filter/js/divi-filter-loadmore.min.jsIf "Load More" does not work properly.
masonry.min.js (handle: divi-filter-masonry-js)/wp-content/plugins/divi-machine/includes/modules/divi-ajax-filter/js/masonry.min.jsIf grid layouts misalign after filtering.
markerclusterer.min.js/wp-content/plugins/divi-machine/includes/modules/divi-ajax-filter/js/markerclusterer.min.jsIf Google Map markers fail to cluster.
ion.rangeSlider.min.js/wp-content/plugins/divi-machine/includes/modules/divi-ajax-filter/js/ion.rangeSlider.min.jsIf range/price sliders don’t respond.
ion.rangeSlider.min.css/wp-content/plugins/divi-machine/includes/modules/divi-ajax-filter/css/ion.rangeSlider.min.cssIf slider UI appears unstyled.
select2.min.js/wp-content/plugins/divi-machine/includes/modules/divi-ajax-filter/js/select2.min.jsIf dropdowns revert to basic HTML selects.
select2.min.css/wp-content/plugins/divi-machine/includes/modules/divi-ajax-filter/css/select2.min.cssIf Select2 styling fails.
style.min.css/wp-content/plugins/divi-machine/includes/modules/divi-ajax-filter/styles/style.min.cssIf AJAX filter layout breaks.

Divi Ajax Filter

FileRelative PathWhen to Exclude
divi-filter.min.js/wp-content/plugins/divi-ajax-filter/js/divi-filter.min.jsIf filters do not respond or AJAX fails.
divi-filter-loadmore.min.js/wp-content/plugins/divi-ajax-filter/js/divi-filter-loadmore.min.jsIf "Load More" fails to load content.
masonry.min.js (handle: divi-filter-masonry-js)/wp-content/plugins/divi-ajax-filter/js/masonry.min.jsIf grid layouts misalign after filtering.
markerclusterer.min.js/wp-content/plugins/divi-ajax-filter/js/markerclusterer.min.jsIf clustered Google Map pins do not appear.
ion.rangeSlider.min.js/wp-content/plugins/divi-ajax-filter/js/ion.rangeSlider.min.jsIf range sliders are unresponsive.
ion.rangeSlider.min.css/wp-content/plugins/divi-ajax-filter/css/ion.rangeSlider.min.cssIf slider styling is broken.
select2.min.js/wp-content/plugins/divi-ajax-filter/js/select2.min.jsIf enhanced dropdowns stop working.
select2.min.css/wp-content/plugins/divi-ajax-filter/css/select2.min.cssIf Select2 elements are unstyled.
style.min.css/wp-content/plugins/divi-ajax-filter/styles/style.min.cssIf filtered results page layout breaks.

Divi BodyCommerce

FileRelative PathWhen to Exclude
frontend-general.min.js/wp-content/plugins/divi-bodycommerce/js/frontend-general.min.jsIf mini-cart toggle or price updates stop working.
product-gallery.min.js/wp-content/plugins/divi-bodycommerce/js/product-gallery.min.jsIf gallery sliders or lightboxes fail.
add-to-cart-ajax.min.js/wp-content/plugins/divi-bodycommerce/js/add-to-cart-ajax.min.jsIf "Add to Cart" button does nothing.
add-to-cart-ajax-alter.min.js/wp-content/plugins/divi-bodycommerce/js/add-to-cart-ajax-alter.min.jsUsed as an alternative to above.
db-multi-checkout.min.js/wp-content/plugins/divi-bodycommerce/js/db-multi-checkout.min.jsIf multi-step checkout UI breaks.
venobox.css/wp-content/plugins/divi-bodycommerce/css/venobox.cssIf product lightbox styles break.
carousel.min.js/wp-content/plugins/divi-bodycommerce/js/carousel.min.jsIf carousel features do not initialize.
carousel.min.css/wp-content/plugins/divi-bodycommerce/css/carousel.min.cssIf carousel styling is missing.
minicart-ajax.min.js/wp-content/plugins/divi-bodycommerce/js/minicart-ajax.min.jsIf mini-cart does not update via AJAX.
style.min.css/wp-content/plugins/divi-bodycommerce/css/style.min.css
/wp-content/plugins/divi-bodycommerce/styles/style.min.css
If layout or styling on BodyCommerce pages looks broken.
divi-filter.min.js/wp-content/plugins/divi-bodycommerce/includes/modules/divi-ajax-filter/js/divi-filter.min.jsFor built-in filter functionality.
divi-filter-loadmore.min.js/wp-content/plugins/divi-bodycommerce/includes/modules/divi-ajax-filter/js/divi-filter-loadmore.min.jsFor "Load More" in filter modules.
masonry.min.js/wp-content/plugins/divi-bodycommerce/includes/modules/divi-ajax-filter/js/masonry.min.jsIf grid alignment breaks.
markerclusterer.min.js/wp-content/plugins/divi-bodycommerce/includes/modules/divi-ajax-filter/js/markerclusterer.min.jsIf Google Map clustering fails.
ion.rangeSlider.min.js/wp-content/plugins/divi-bodycommerce/includes/modules/divi-ajax-filter/js/ion.rangeSlider.min.jsFor range filters.
ion.rangeSlider.min.css/wp-content/plugins/divi-bodycommerce/includes/modules/divi-ajax-filter/css/ion.rangeSlider.min.cssFor range filter styling.
select2.min.js/wp-content/plugins/divi-bodycommerce/includes/modules/divi-ajax-filter/js/select2.min.jsFor enhanced select elements.
select2.min.css/wp-content/plugins/divi-bodycommerce/includes/modules/divi-ajax-filter/css/select2.min.cssFor select element styling.
style.min.css/wp-content/plugins/divi-bodycommerce/includes/modules/divi-ajax-filter/styles/style.min.cssFor filtered results UI layout.

Core Divi Theme

FileRelative PathWhen to Exclude
style.min.css/wp-content/themes/Divi/style.min.cssIf global styling or layout spacing appears broken after enabling CSS optimization.

Core WordPress

FileRelative PathWhen to Exclude
admin-ajax.php/wp-admin/admin-ajax.phpIf any AJAX-based features like filtering, add-to-cart, or form submissions fail unexpectedly (especially with ModSecurity).

Step 5: Avoid JavaScript Deferral (if UI Breaks)

In either caching plugin:

  • Disable:
    • Defer JS
    • Combine JS
  • Manually exclude all critical JS files listed above.

Step 6: Clear All Caches

  1. Divi Static CSS:
    Go to Divi > Theme Options > Builder > Advanced > Click Clear.

  2. WP Rocket / WP Fastest Cache:
    Use “Clear cache” and “Purge CDN” buttons.

  3. Hosting Panel:
    Clear server-level cache (e.g., SiteGround, WP Engine, Cloudflare).

  4. Browser Cache:
    Hard refresh (Ctrl + F5) or use incognito.

note

Always test your site in an incognito/private browser window after clearing all caches.

Best Practices for Divi Engine Users

  • Only use one optimization layer, either Divi’s native performance or your caching plugin.
  • During development, disable all caching layers to avoid false errors.
  • Respect conditional asset loading by excluding the specified plugin scripts.
  • Avoid “Delay JS” on any interactive or AJAX-related features such as filters, carousels, or add-to-cart actions.

Known Conflicts

Feature CombinationProblemRecommended Fix
Ajax Filter + Dynamic CSSStyling disappearsDisable Dynamic CSS
Map + Gallery on pageOne module breaksDisable JS Optimization
Gallery + Mobile MenuMobile menu failsDisable Divi JS & jQuery options
ModSecurity EnabledAJAX calls failWhitelist admin-ajax.php
BodyCommerce AJAX CartAdd to cart doesn’t workExclude add-to-cart-ajax*.js
Multi-step Checkout not workingButtons unresponsiveExclude db-multi-checkout.min.js
Product Gallery/Lightbox brokenSlider not loadingExclude product-gallery.min.js and venobox.css