OpenCart's built-in cache doesn't store finished pages, so a fresh store rebuilds every page on every hit. Here's the full-page cache we install, when the free LiteSpeed route wins, and the setup that keeps carts and prices correct.
OpenCart ships with caching, and it’s the caching people misunderstand. Core caches database query results and compiled Twig templates. That trims some work off each request, but it never stores the finished page. So a category page with 40 products gets rebuilt from scratch for every visitor, every time. On a busy store or a large catalog, that rebuild is where your time goes.
What you actually want is a full-page cache: build the HTML once, keep it in memory, and hand the same page to the next 500 visitors in under 100 milliseconds. That sits on a different layer than OpenCart’s own cache, and it’s what the “cache module” searches are really after.
Nine times out of ten, LiteSpeed Cache for OpenCart. It’s free, LiteSpeed maintains it, and it does full-page caching with proper purge rules. The catch is that it needs the LiteSpeed or OpenLiteSpeed web server to do the heavy lifting. The good news is that a lot of cPanel shared hosting already runs LiteSpeed and never mentions it. We check the server header before recommending anything, and more often than not the fast option is already sitting there unused.
If the host runs Apache or nginx and won’t change, there are two honest options. Move to a LiteSpeed host, which is usually cheaper than a paid extension and faster in the end. Or install a paid full-page cache such as Fast Cache PRO, which builds its own caching layer in PHP. It works. It just carries a license cost and a bit more that can go wrong.
Installing a cache extension takes ten minutes. Making it safe takes longer. A store cache has to keep the cart, the login state, the currency switcher and the checkout dynamic while everything public gets cached. Skip that and you get the classic caching disaster: a logged-in customer sees a logged-out header, or two shoppers share one cart. LiteSpeed handles this with edge-side includes, but you still have to tell it which blocks stay live.
Then there’s purging. When you change a price or a product sells out, the cached page has to drop immediately, or you’re advertising yesterday’s price. The setups we run purge the specific product and category pages on save, not the whole cache, so the store stays fast and accurate at the same time.
On the OpenCart stores we’ve cached, server response time on a warm page drops from around 800ms to 1.2 seconds down to roughly 150 to 250ms. That server-response number is the one Google PageSpeed leans on hardest for OpenCart, and it’s usually the difference between a red score and a green one. Caching won’t rescue a 4MB hero image or a theme loading nine web fonts. It fixes the time the server spends building the page, which on an uncached OpenCart store is the biggest single chunk of the wait.
That’s also why we cache last, not first. If a store is slow because of a bloated theme or heavy images, a cache papers over it for repeat visitors and hides the real problem. We’d rather fix the underlying OpenCart performance and then cache the result, so the first uncached hit is fast too.
If your OpenCart store has more than a few thousand products, or Google is flagging a slow server response, yes. A full-page cache is the highest-leverage change you can make to an OpenCart store’s speed, and on LiteSpeed hosting it costs nothing but setup time. If you run a small catalog on decent hosting and PageSpeed is already green, your time is better spent on images and theme weight first.
We install and configure the cache as part of an OpenCart optimization engagement, or on its own if the rest of the store is already in good shape. Either way you get the purge rules and cart handling set up properly, which is the part that actually matters.
OpenCart core caches data queries. A full-page cache stores the whole rendered HTML, so a category page that took 800ms to build comes back in under 100ms on a warm cache.
The setup we run purges the affected product and category pages when you save a product or change stock, so buyers never see a sold-out item listed as available.
Public pages cache while the cart, login state and currency stay live through edge-side includes. Without this, caching a store either breaks the cart or barely helps.
Caches per store and per SEO URL, so a multi-store OpenCart setup never serves one store's pages to another.
We use this in real client projects β here's what we've learned.
If your hosting runs LiteSpeed, install LiteSpeed Cache for OpenCart. It’s free and it’s the fastest route we’ve found. The extension isn’t the hard part. The purge rules and cart hole-punching are, and that’s where a bad setup serves stale prices or a broken cart. If you’re not on LiteSpeed, either move to a LiteSpeed host (often the cheaper fix) or use a paid full-page cache. Either way, cache after you’ve ruled out a slow theme and unoptimized images, not before.
Yes, but not the kind that makes a store fast. OpenCart caches database queries and compiled Twig templates, which helps a little. It does not cache the finished HTML page, so every visitor still triggers a full page build. For real speed you add a full-page cache on top.
Yes. LiteSpeed Cache for OpenCart is free and, in our testing, the best option, as long as your hosting runs the LiteSpeed web server. If it doesn’t, the free extension can’t do much and a paid full-page cache like Fast Cache PRO is the fallback.
On the stores we’ve done, server response time drops from roughly 800ms to 1.2s down to 150 to 250ms on cached pages. That’s the single biggest number Google PageSpeed measures for OpenCart. It won’t fix heavy themes or huge images. It fixes the server build time.
It can, if it’s set up wrong. The cart, checkout, login state and currency must stay dynamic while public pages cache. A correct setup uses edge-side includes to keep those parts live. That configuration is most of what we charge for.
Cloudflare caches static files and can cache HTML, but it doesn’t know when your OpenCart prices or stock change, so it will happily serve stale pages. A store-aware cache purges the right pages on edit. We often run both: Cloudflare for assets, LiteSpeed for pages.
We can install, configure, or customize it for you.
Don't want to install yourself? Our developer connects via FTP, installs, configures, tests with a real transaction. Usually takes one business day.