Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Support fizanzvai

    (@fizanzvai)

    Hi,

    Thanks for taking the time to point out the issues. If you have a moment, could you share a bit more detail?

    For example, which pages, elements, or scripts are causing the biggest performance or UX issues from your perspective? Any specific examples or recommendations would help us prioritize fixes more effectively. We want to improve our plugin so that it can better benefit users in the future.

    Really appreciate the feedback and your time.

    Thank You

    Thread Starter Diego Núñez

    (@argtour)

    We identified several performance and Core Web Vitals issues caused by Additional Variation Images for WooCommerce on a heavily optimized WooCommerce site. Main issues detected:

    1. Excessive global JS/CSS loading

    The plugin loads JavaScript and CSS assets globally, even on pages where variation galleries are not needed.

    This increases:

    • HTTP requests
    • JS execution time
    • Main thread blocking
    • Total Blocking Time (TBT)

    Assets observed included slider-related libraries and gallery scripts/styles loaded sitewide.

    2. Heavy slider reinitialization

    When switching variations, the plugin dynamically destroys and rebuilds image galleries/sliders.

    This triggers:

    • Reflows
    • Repaints
    • Layout recalculations
    • DOM mutations

    Result:

    • High CLS
    • Visual instability
    • Janky rendering on mobile devices

    3. Hidden duplicated images

    The plugin appears to preload or keep hidden galleries for multiple variations simultaneously.

    Even with display:none, browsers still download those images.

    Consequences:

    • Increased page weight
    • Worse LCP
    • Higher memory usage
    • Large DOM size

    This becomes especially problematic on products with many variations.

    4. Conflicts with modern image optimization

    The plugin interferes with:

    • native lazy loading
    • preload
    • fetchpriority
    • cache optimization systems

    Because images are injected or replaced dynamically via JavaScript, the browser cannot properly prioritize the actual LCP image.

    This negatively impacts:

    • Largest Contentful Paint (LCP)
    • Speed Index
    • image prioritization

    5. CLS caused by unstable gallery dimensions

    During variation changes, gallery containers resize dynamically.

    In several cases:

    • image dimensions were unstable
    • sliders recalculated heights
    • layout shifted during rendering

    This significantly increased Cumulative Layout Shift (CLS).

    6. Reliance on legacy slider libraries

    The plugin appears to depend on older slider ecosystems such as:

    • Slick Slider
    • FlexSlider
    • jQuery-based rendering

    These libraries introduce:

    • render-blocking JS
    • higher CPU usage
    • slower mobile performance
    • compatibility issues with modern optimization techniques

    7. Poor interaction with cache and Critical CSS systems

    The plugin generates dynamic styles and gallery markup that complicate optimization systems such as:

    • LiteSpeed Cache
    • QUIC.cloud Critical CSS
    • page caching

    Effects observed:

    • excessive Critical CSS generation queues
    • frequent cache invalidation
    • inconsistent optimized renders

    8. Excessive DOM growth

    The plugin adds:

    • hidden thumbnails
    • duplicated wrappers
    • nested sliders
    • invisible variation templates

    This increases:

    • DOM complexity
    • style calculation time
    • memory consumption
    • mobile rendering cost

    Google PageSpeed explicitly penalizes oversized DOM structures.Overall impact on Core Web Vitals

    The plugin contributed to:

    • very high LCP
    • high CLS
    • slower Speed Index
    • increased JS execution
    • unstable visual rendering

    The impact was especially noticeable on:

    • WooCommerce product pages
    • products with many variations
    • mobile devices

    Result after removal

    After disabling/removing the plugin:

    • JS payload decreased
    • reflows were reduced
    • image prioritization improved
    • preload started working correctly again
    • LiteSpeed optimization became more effective
    • DOM complexity decreased

    This produced immediate improvements in:

    • LCP
    • CLS
    • TBT
    • overall rendering stability

    Technical conclusion

    The issue was not only “plugin size” or “too many assets”.

    The core problem was the combination of:

    • aggressive DOM manipulation
    • legacy slider architecture
    • duplicated hidden galleries
    • dynamic image injection
    • incompatibility with modern optimization strategies
    • global asset loading

    On a highly optimized WooCommerce environment, these behaviors create a significant bottleneck for Core Web Vitals and frontend performance.

    Plugin Support fizanzvai

    (@fizanzvai)

    Hi,

    Thanks for the detailed explanation.

    The plugin loads JavaScript and CSS assets globally, even on pages where variation galleries are not needed.

    It loads globally to make it compatible with the different plugins (such as Quick View). You can disable the scripts for the other pages except the single product page. Here is a snippet:

    add_filter('disable_woo_variation_gallery', function(){
    if( !is_product() ){
    return true;
    }
    return false;
    });

    When switching variations, the plugin dynamically destroys and rebuilds image galleries/sliders.

    As it brings the variation gallery for each variation, we have to destroy the initial gallery that will be replaced by the variation gallery. Do you have a suggestion regarding bringing images in another way?

    The plugin appears to preload or keep hidden galleries for multiple variations simultaneously.

    We have an option to disable the preload. Have you already tried this option- https://snipboard.io/mnEIwQ.jpg?

    Hope to hear from you soon.

    Thank You

Viewing 3 replies - 1 through 3 (of 3 total)

You must be logged in to reply to this review.