A one-second delay in page load time reduces eCommerce conversion rates by roughly 7%. For a WooCommerce store generating $10,000 a month, a two-second delay costs around $1,400 monthly in lost conversions. Speed is not a technical concern for WooCommerce stores — it is a revenue concern.
WooCommerce is also harder to optimise than a standard WordPress site. The shopping cart, checkout process, and dynamic product pages add complexity that standard caching cannot solve on its own. Here is what actually moves the needle.
1. Start with Hosting: Everything Else Depends on It
No amount of image compression or plugin cleanup overcomes a server that takes 600ms to respond before sending a single byte. Hosting is the foundation of WooCommerce performance.
Shared hosting is the most common performance bottleneck for WooCommerce stores. Server resources are shared across dozens or hundreds of other sites, database queries compete with unrelated workloads, and traffic spikes from other tenants affect your response times directly.
Managed WordPress hosting built for WooCommerce — like WP Engine’s eCommerce plans — isolates your resources, handles server-level caching automatically, and provides the infrastructure to handle traffic spikes without degrading checkout performance. The performance case for WooCommerce on managed hosting covers the specific gains in detail.
2. Use Caching Built for WooCommerce
Standard page caching cannot cache WooCommerce cart, checkout, or account pages because those pages contain user-specific content. This means a significant portion of your store’s traffic — every logged-in shopper, every cart interaction — hits the server without any cache benefit.
WP Engine’s EverCache system includes a WooCommerce-specific caching layer. It correctly identifies which pages should be cached (product listings, category pages, static content) and which should bypass cache (cart, checkout, My Account). Product pages load from cache in milliseconds while the checkout process runs correctly with live cart data.
If you are on a standard host using a plugin like WP Rocket, enable its WooCommerce compatibility mode and exclude the cart, checkout, and account URLs from page caching manually. For more on how this works, see the WordPress caching breakdown.
3. Optimise Product Images
Product images are almost always the largest assets on a WooCommerce page. An unoptimised product image at 3MB adds seconds to every product page load. Proper image optimisation can cut that to under 100KB with no visible quality loss.
The most effective approach combines three things: compressing images before uploading (use Squoosh or Photoshop’s Save for Web), serving them in WebP format (WordPress has supported WebP since version 5.8), and implementing lazy loading so images below the fold do not load until the visitor scrolls to them.
WooCommerce automatically generates multiple thumbnail sizes when you upload a product image. Set these sizes in WooCommerce settings to match your theme’s actual display dimensions and avoid serving oversized images that get scaled down by CSS.
4. Audit and Reduce Plugin Load
Every active WordPress plugin adds PHP execution time to every page load, even if that plugin does nothing on a given page. A WooCommerce store with 40 active plugins is loading code from 40 sources on every request, much of it unnecessary for any individual page.
Audit your plugins with Query Monitor or a staging site test. Identify which plugins add significant load time and whether their function is actually necessary. Common culprits on WooCommerce stores include abandoned plugins still active from development, multiple SEO plugins running simultaneously, social media sharing plugins loading external scripts, and slider or builder plugins loading assets site-wide.
The goal is not to minimise plugin count for its own sake but to ensure every active plugin earns its place by providing genuine value relative to its performance cost.
5. Use a CDN for Static Assets
A CDN stores copies of your images, CSS, and JavaScript files on servers distributed globally, serving each visitor from the location nearest to them. This reduces the latency from serving assets across geographic distance and offloads bandwidth from your origin server.
WP Engine includes Cloudflare CDN on all plans, including eCommerce plans. On standard hosts, the free tier of Cloudflare handles this effectively for most stores. More on how CDNs work: What Is a CDN and Does Your WordPress Site Need One?
6. Clean Up the Database Regularly
WooCommerce generates significant database entries over time: order records, product metadata, transient values from API calls, and session data. WordPress itself accumulates post revisions, spam comments, and orphaned metadata. A bloated database takes longer to query, which adds time to every uncached page request.
Run a database cleanup every one to three months using WP-Optimize or Advanced Database Cleaner. These plugins remove post revisions above a set limit, clear expired transients, delete spam and trash comments, and remove orphaned metadata. Run the cleanup on a staging site first and take a backup before running it on production.
Frequently Asked Questions
What is the biggest factor affecting WooCommerce speed?
Hosting is the single biggest lever. Everything else — image optimisation, plugin management, database cleanup — has a ceiling set by the underlying server infrastructure. A well-optimised WooCommerce store on poor shared hosting will still be slower than a basic WooCommerce setup on managed hosting with server-level caching.
Why is WooCommerce checkout slow even with caching?
Checkout pages bypass page caching by design because they contain user-specific data. Slow checkout is usually caused by server response time on uncached requests, heavy payment gateway scripts, or a misconfigured shipping calculation plugin. Improving server performance (better hosting) and auditing checkout-loaded scripts are the primary fixes.
Does WooCommerce slow down WordPress?
WooCommerce adds database tables and runs additional queries compared to a basic WordPress install. On adequate hosting with proper caching, this overhead is negligible. On underpowered shared hosting without server-level caching, WooCommerce can make performance problems significantly worse.
How do I test my WooCommerce store's speed?
Use Google PageSpeed Insights, WebPageTest.org, or GTmetrix. Test your homepage, a product category page, a product page, and your checkout page separately. Each has different caching behaviour and different performance bottlenecks. Test from multiple geographic locations to account for CDN effectiveness.




