Terrible plugin
-
CLS (Layout Shift), forced reflow, inconsistent Lazyload, broken LCP, blocking JS, useless CSS, etc etc etc
-
This topic was modified 3 days, 3 hours ago by
Diego Núñez.
-
This topic was modified 3 days, 3 hours ago by
-
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
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.
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
You must be logged in to reply to this review.