1. Home
  2. Knowledge Base
  3. WooCommerce Product Table
  4. Troubleshooting

The product table is loading too slowly

By default, WooCommerce Product Table loads ALL the products in the table when it first loads - not just the products on the first page. This can cause performance issues and slow page load times if your store has a large number of products, or if you have multiple tables on a single page.

Lazy load option

You can use the lazy load option to speed up your product tables. This will load 1 page of results at a time, which significantly reduces the server load.

Lazy load also allows the rest of the page page to load before the product table starts loading, so customers will start seeing content more quickly.

Other tips for improving performance

If activating lazy load doesn't improve the performance and page load times, we recommend the following:

  1. Reduce the number of rows per page (this will only help if you're using lazy load).
  2. Reduce the amount of data displayed in your product table, particularly images or embedded audio/video. Reducing the number of columns can also help.
  3. Read our tips on how to make sure your site isn't loading bigger images than necessary in the image column.
  4. Variations can significantly slow down your tables because each product variation requires an extra database call. Here are some suggestions for if you have lots of variable products or variations:
    • You can speed things up by letting customers choose their variations on the single product page instead of in the table. If it's important to allow customers to order from a single page, and you don't want to use the single product page, then you can use WooCommerce Product Table with our other plugin, WooCommerce Quick View Pro. Instead of having an add to cart column with variations in the product table, you can have a quick view column so that customers can choose their variations and add to the cart from a quick view lightbox. The variations in the lightbox load individually when you click on the quick view button for a product, so this will significantly speed up your product tables.
    • By default, WooCommerce uses AJAX for products with more than 30 variations. When AJAX is used, the variations only load when the customer uses the variation dropdowns in a table. You can lower the AJAX threshold to zero by adding the following code to the functions.php file in your theme or child theme. (Note: This is a developer-level task. If you don't know how to do it, then we recommend asking Codeable. It will affect all the variations in your store and not just in the product table.)
      add_filter( 'woocommerce_ajax_variation_threshold', function( $threshold ) { 
          return 0;
      } );
  5. If you can't enable lazy load for any reason, then you could try using a plugin to load the table after the initial page load. For example, one of our customers uses WP Rocket's Delay JavaScript Execution feature to delay the loading of the product table and has reported that it is an excellent solution.
  6. Test the page load time with and without WooCommerce Product Table active. (Pingdom is our favourite speed testing tool because it tells you the actual page load time from different servers around the world.) This will help to establish whether the performance issues are caused by WooCommerce Product Table or something else.
  7. If the Pingdom speed test is showing a high 'time to first byte' (i.e. the amount of time your website is taking to connect before the page starts to load), it's worth switching to a better host. We use Kinsta which offers fully optimised WordPress hosting that is built for performance. It comes with built-in features such as caching to speed up your site.

Related Articles

If searching the knowledge base hasn't answered your question, please contact support.