WooCommerce is powerful, but it is built on WordPress and PHP — which means performance does not come automatically. A slow WooCommerce store directly impacts your revenue. Research shows that 40% of shoppers abandon a site that takes more than 3 seconds to load. Here are 20 techniques we use to make WooCommerce stores fast.
Server-Level Optimisation
The foundation of WooCommerce performance is your hosting environment. No amount of frontend optimisation can compensate for a slow server.
- 1. Use quality managed hosting: Avoid shared hosting. WooCommerce-optimised hosts like Cloudways, Kinsta, or GridPane provide proper PHP worker configurations and server-level caching.
- 2. Use PHP 8.2+: Each PHP version brings 5-15% performance improvements. PHP 8.2 is significantly faster than PHP 7.4 for WooCommerce workloads.
- 3. Enable object caching with Redis: Redis stores database query results in memory, reducing repeated MySQL queries. This has the single biggest impact on WooCommerce admin and dynamic page performance.
- 4. Implement page caching: Use a full-page caching solution that serves static HTML to logged-out visitors. Exclude cart, checkout, and account pages from the cache.
- 5. Use a CDN: Serve static assets (images, CSS, JS) from edge locations worldwide. Cloudflare's free tier is sufficient for most WooCommerce stores.
Database Optimisation
- 6. Clean up post revisions: WordPress stores every save as a revision. Limit revisions to 3-5 and purge old ones. On large stores, this can reduce database size by 50% or more.
- 7. Remove expired transients: WooCommerce creates many transients that can accumulate. Schedule regular cleanup of expired transients from the options table.
- 8. Use HPOS: WooCommerce's High-Performance Order Storage moves order data from the wp_posts table to custom tables, significantly improving query performance on stores with thousands of orders.
- 9. Optimise autoloaded data: Check your wp_options table for plugins that autoload excessive data. Large autoloaded datasets slow down every single page load.
Plugin and Theme Optimisation
- 10. Audit your plugins: Each plugin adds PHP execution time and potential database queries. Remove inactive plugins and replace heavy plugins with lightweight alternatives.
- 11. Use a lightweight theme: Bloated multipurpose themes load megabytes of unused CSS and JavaScript. Switch to a performance-focused theme like GeneratePress, Kadence, or a custom theme.
- 12. Disable unused WooCommerce scripts: WooCommerce loads its scripts on every page by default. Dequeue cart fragments, styles, and scripts on pages where they are not needed.
Frontend Performance
- 13. Optimise images: Convert product images to WebP, serve responsive sizes, and lazy load below-the-fold images.
- 14. Minify and combine CSS/JS: Use tools like Perfmatters or WP Rocket to minify and combine assets while being careful not to break WooCommerce functionality.
- 15. Defer non-critical JavaScript: Delay the loading of scripts that are not needed for initial rendering. This improves LCP and INP scores.
- 16. Preload critical resources: Use preload hints for your primary font files and above-the-fold hero images.
Advanced Techniques
- 17. Implement cart fragments AJAX caching: WooCommerce's cart fragments script fires an AJAX request on every page load. Cache or defer this request to improve TTFB.
- 18. Use product pagination wisely: Loading 100+ products on a category page kills performance. Show 24-48 products per page with proper pagination.
- 19. Optimise the checkout: Remove unnecessary fields, disable guest checkout AJAX validation on each keystroke, and consider a simplified one-page checkout.
- 20. Monitor and test continuously: Set up synthetic monitoring with tools like GTmetrix or SpeedVitals. Test after every plugin update — a single poorly coded update can undo months of optimisation work.
At Born Digital, we have optimised WooCommerce stores from 8+ second load times down to under 2 seconds. If your store is slow and it is hurting your conversions, contact us for a performance audit.