Introduction
The right WooCommerce caching plugin stores finished product and category pages so the server does not rebuild them for every visitor, while keeping cart, checkout and account pages dynamic. WooCommerce's own caching configuration guide says those three pages must stay uncached because they show customer-specific data. The plugins below differ in how much they automate, what server they need, and which extras (object cache, CDN, ESI) they expose.
We're NextGen Fusion, a web development team in Lucknow and Mumbai with 100+ projects delivered since 2022. This is a tools comparison of page cache, object cache and CDN for WooCommerce, not a full speed checklist. For the order we use on slow stores, see our WooCommerce speed optimisation guide.
Page cache, object cache and CDN
People say "caching" when they mean three different layers:
- Page cache saves the finished HTML of a page and serves it to the next anonymous visitor. It is usually the biggest win for product, category and blog pages.
- Object cache stores repeated database results in memory (often Redis or Memcached) so PHP does less work on pages that cannot be fully page-cached, such as cart and checkout. WP Rocket's WooCommerce docs say object caching has to be enabled at the server level; LiteSpeed Cache and W3 Total Cache can talk to Redis or Memcached when the host provides them.
- CDN puts static files (images, CSS, JavaScript) on edge servers closer to the visitor. A CDN does not replace correct cart exclusions.
Time to First Byte (TTFB) is how long the browser waits before the first byte arrives. Google's web.dev TTFB article treats it as a server and network timing signal that feeds Largest Contentful Paint. A good page cache cuts TTFB on catalogue pages; cart and checkout still need a fast host because they stay uncached.
The four plugins at a glance
| Plugin | Where to start | Page cache | Object cache | CDN helpers | Cart / checkout |
|---|---|---|---|---|---|
| WP Rocket | Paid; see WP Rocket pricing | Yes, with preload | Needs server-level Redis/Memcached | Yes | Auto-excludes Cart, Account, Checkout and the WooCommerce REST API |
| LiteSpeed Cache | Free on WordPress.org; full page cache needs LiteSpeed or QUIC.cloud | Yes, when LSCache is available | Redis / Memcached / LSMCD via plugin settings | Browser cache + QUIC.cloud | My Account, Checkout and Cart excluded by default; WooCommerce tab for stock purges |
| W3 Total Cache | Free on WordPress.org; docs at BoldGrid | Yes (disk or memory) | Yes (disk or memory; Redis/Memcached where available) | Yes | Follow WooCommerce exclusions; minify needs mfunc ignored |
| WP Super Cache | Free on WordPress.org (Automattic) | Yes (Simple / Expert / WP-Cache modes) | Not its focus | Basic CDN URL rewriting | WooCommerce tells it not to cache Cart, Checkout or My Account by default |
Only run one page-caching plugin at a time. Stacking two page caches is a common way to get stale carts and hard-to-debug headers.
WP Rocket on WooCommerce
WP Rocket's article Using WP Rocket on your WooCommerce site states that the plugin detects WooCommerce and:
- Automatically excludes the Cart, Account and Checkout pages from your WooCommerce settings, plus the WooCommerce REST API.
- Optimises the empty-cart
get_refreshed_fragmentsAJAX request. - Purges cache when products, terms or variations change, including API product imports.
- Caches WooCommerce geolocation query strings, with the caveat that Preload does not run on URLs that carry those query strings.
If a PHP-driven cart widget shows the wrong count, WP Rocket's guidance is to stop caching when the relevant cookie is present (for example woocommerce_items_in_cart), rather than turn page cache off for the whole store. For uncached pages, the same article points to object caching, a lighter plugin set and hosting that responds quickly. WooCommerce's guide adds that Cart, Checkout and My Account must stay out of cache with WP Rocket, and it recommends avoiding JavaScript file minification when that setting causes problems.
LiteSpeed Cache: when the server matters
LiteSpeed's LSCache for WordPress overview is clear on one point store owners miss: you can install the plugin on any host, but the caching functions need a LiteSpeed server product or QUIC.cloud. Without that, you only get optimisation features such as minify and lazy load. Page cache itself is a server-level engine; the plugin tells that engine what WooCommerce may store and when to purge.
From LiteSpeed's cache and WooCommerce settings:
- Enable Cache must be on before pages are stored.
- Object cache is optional and talks to Memcached, LSMCD or Redis when the host provides them.
- The WooCommerce tab appears when WooCommerce is active. My Account, Checkout and Cart are excluded by default. LiteSpeed recommends ESI for mixed public and private fragments (for example a mini-cart), and notes that OpenLiteSpeed does not support ESI.
- Stock and quantity changes can purge product and category pages on rules you choose; a "Vary for Mini Cart" option exists when the theme does not update the mini-cart with JavaScript.
If your host already runs LiteSpeed with LSCache enabled, this plugin is usually the natural fit. On Apache or nginx without QUIC.cloud, pick a plugin whose page cache does not depend on LiteSpeed's engine.
W3 Total Cache and WP Super Cache
W3 Total Cache exposes page, object, database and CDN layers in one plugin. Official materials describe disk or memory page cache, object and database cache, and CDN hostname rewriting. WooCommerce's caching guide says that if you minify with W3 Total Cache, add mfunc to the ignored comment stems so dynamic fragments are not broken. On shared hosting, database or object cache on disk can be slower than helpful; test with measurements rather than enabling every box.
WP Super Cache, maintained by Automattic, generates static HTML for anonymous visitors. Its WordPress.org documentation describes three delivery modes: Expert (mod_rewrite, fastest, needs careful .htaccess edits), Simple (PHP serves the supercache file; recommended for most people), and WP-Cache for known users and query strings. It also offers preload, garbage collection and basic CDN offloading. WooCommerce states native compatibility: it tells WP Super Cache not to cache Cart, Checkout or My Account by default.
Neither plugin replaces re-testing add-to-cart, login, checkout and password reset after you change settings. Host-level caches can reintroduce the same bugs if My Account is cached by mistake; WooCommerce documents password-reset loops as a classic symptom.
Free quote · reply within 24 hours
Have a project in mind?
Tell us what you need. You get one fixed price in writing within 24 hours, with no charge for scoping.
Common misconfigurations
- Caching Cart, Checkout or My Account. WooCommerce lists those three pages as mandatory exclusions.
- Two page caches at once. Disable the old plugin fully and clear host cache before activating another.
- Ignoring cookies. Exclude session cookies such as
woocommerce_cart_hash,woocommerce_items_in_cartandwp_woocommerce_session_from page (and, where relevant, database) cache as WooCommerce describes. - Aggressive minify on checkout. Minify and combine can break payment gateways and cart fragments.
- Preload fighting geolocation. WP Rocket notes Preload cannot run on WooCommerce geolocation URLs that append a cache-busting query string.
- Expecting page cache to fix slow cart TTFB. Uncached pages still hit PHP; object cache and hosting matter there.
After every change, add a product to the cart, open the mini-cart, log in, place a test order and request a password reset while logged out. Measure homepage, category, product and cart with the same tool before and after; our website speed test tools compared post covers how PageSpeed Insights, Lighthouse and GTmetrix differ.
How caching ties to Core Web Vitals
Page cache mainly helps TTFB and, through that, Largest Contentful Paint (LCP) on catalogue pages that would otherwise wait on PHP and MySQL. It does little for Interaction to Next Paint (INP) if the theme loads heavy JavaScript, and nothing for Cumulative Layout Shift (CLS) caused by late-loading images or fonts. Those still need image sizing, font strategy and script control, which we cover in Core Web Vitals on WordPress.
Treat caching as the foundation: get exclusions right, confirm anonymous product pages are served from cache, then fix assets. A store with a perfect cache and oversized product images will still fail LCP on mobile.
Which plugin should you choose?
- Host runs LiteSpeed or you use QUIC.cloud: start with LiteSpeed Cache and its WooCommerce tab.
- You want one paid plugin with automatic WooCommerce exclusions and preload: WP Rocket is built for that workflow; check current plans on the official pricing page.
- You want free page cache on Apache or nginx without LiteSpeed: WP Super Cache (Simple mode) or W3 Total Cache both work; Super Cache is narrower, W3TC is broader.
- Cart and checkout feel slow after page cache is correct: ask the host for Redis or Memcached, then wire it through LiteSpeed Cache or W3 Total Cache (or the host's own drop-in).
If you are rebuilding the store or still choosing a stack, our ecommerce web development services cover WooCommerce builds where caching is planned with hosting from day one.
Frequently asked questions
Do I need a caching plugin if my host already caches pages?
Often the host cache is enough for anonymous HTML, but you still need correct WooCommerce exclusions. If My Account is cached at the host layer, password resets can loop. Confirm with the host that Cart, Checkout and My Account are on a pass-through list, then avoid adding a second full page cache on top.
Can I cache the cart if I use AJAX?
No. WooCommerce still requires Cart, Checkout and My Account to stay dynamic. AJAX cart widgets can update counts on cached catalogue pages, but the cart and checkout URLs themselves must not be served as a static snapshot of someone else's session.
Is LiteSpeed Cache free?
The WordPress plugin is available free on WordPress.org. LiteSpeed's documentation states that caching features need LiteSpeed Web Server, OpenLiteSpeed, LiteSpeed Web ADC or QUIC.cloud; without those you only get optimisation features.
Will a caching plugin improve my Google ranking by itself?
Caching helps when slow TTFB and LCP were holding the store back. Google measures real-user Core Web Vitals; fixing cache exclusions is necessary but not sufficient if images, fonts and scripts remain heavy.
Should I enable every optimisation toggle on day one?
No. Turn on page cache with WooCommerce exclusions first, test checkout, then add minify, delay JavaScript and CDN one change at a time. That order makes regressions easy to roll back.
Conclusion
Pick one page-caching approach that matches your host, exclude Cart, Checkout and My Account exactly as WooCommerce's caching guide requires, then add object cache and a CDN only when measurements show you need them. The plugin brand matters less than correct exclusions and a single cache layer. Need a store tuned end to end? Message us on WhatsApp at +91 73482 28167 and you get a fixed written quote within one working day.
Free quote · reply within 24 hours
Want a fixed price for your project?
Tell us what you need. You get one fixed price in writing within 24 hours, with no charge for scoping.

