Speeding up the bulk variations grid
WooCommerce Bulk Variations displays all of a product's variations together in a grid so customers can order several at once. On products with a very large number of variations, the grid has more to display than the standard WooCommerce dropdowns, so the product page can sometimes take longer to load.
If a product page with the variations grid feels slow, here are the things that make the biggest difference.
Reduce the size of your variation images
If you are showing an image for each variation, large image files are usually the main cause of slow loading. Make sure your variation images are saved at a sensible size and compressed for the web, rather than full-resolution photos. An image optimization plugin can do this automatically across your store.
Check your hosting resources
Loading a large grid uses server memory. If you have a lot of variations, check that your site has a reasonable PHP memory limit. You can see your current limit under WooCommerce → Status, and your host can increase it if needed.
Keep PHP and your database up to date
Newer versions of PHP and MySQL/MariaDB are significantly faster than older ones. Running a current, supported PHP version is one of the easiest ways to speed up your whole store, including the variations grid. Your host can usually update this for you.
Check for conflicts with other plugins
Some pricing, currency, or dynamic discount plugins run extra calculations on every variation in the grid, which can slow things down when there are many variations. To check whether another plugin is contributing, test on a staging site with only WooCommerce and WooCommerce Bulk Variations active, then re-enable your other plugins one at a time.
Reducing the number of variations
If a single product has a very large number of variations, it is worth considering whether they can be split across more than one product, or whether some attributes could be offered as product options instead of variations. Fewer variations per product means less for each page to load.
WooCommerce and products with more than 30 variations
WooCommerce itself has a setting that affects products with a large number of variations. By default, when a product has 30 or more variations, WooCommerce stops loading all the variation data into the product page at once. Instead, it loads each variation using AJAX when the customer selects the options on the front end.
You can raise this threshold so that WooCommerce loads all the variations on the initial page load again, which some stores need for the grid to behave as expected. Our guide on products with more than 30 variations includes a code snippet to do this.
Please bear in mind that this is a trade-off. Raising the threshold means the product page loads every variation up front, which is the very thing that can slow down a page that has a large number of variations. We recommend only raising it where you actually need to, and ideally limiting the change to the specific products that require it.