The Best WordPress Caching Plugins and How to Configure Them

WordPress | Updated July 2026

A caching plugin is the single biggest speed win available to most WordPress sites, and on Ultra Web Hosting you can set one up in about ten minutes. This guide explains what caching actually does, compares the main plugins (WP Super Cache, W3 Total Cache, LiteSpeed Cache, and WP Rocket), and walks through a safe baseline configuration that speeds up your site without breaking layouts or logged-in features like a WooCommerce cart.

Do Not Skip This

Check Whether Your Server Runs LiteSpeed First

LiteSpeed Cache is an excellent plugin, but its server-level page cache only works when the account is on a LiteSpeed web server. On a plain Apache or Nginx account it falls back to a limited PHP cache with far less benefit. Confirm your server software before choosing it, and if the server is not LiteSpeed, use WP Super Cache (free) or WP Rocket (paid) instead.

  • Check cPanel > Server Information for the web server software
  • LiteSpeed server: LiteSpeed Cache gives you the full benefit
  • Apache or Nginx server: pick WP Super Cache or WP Rocket

01. What a Caching Plugin Actually Does

Without caching, every visit to a WordPress page runs PHP, queries the database, and assembles the HTML from scratch. That work is repeated for every visitor even when the page has not changed. A caching plugin bundles several techniques that avoid this repeated work and cut the number of files a browser has to fetch.

  • Page cache - saves the finished HTML of a page so the next visitor is served a ready-made file instead of re-running PHP and the database. This is where most of the speed gain comes from.
  • Browser cache - tells the visitor's browser to keep copies of your images, CSS, and JavaScript, so repeat visits load those files from disk rather than re-downloading them.
  • Object cache - stores the results of database queries in memory (Redis or Memcached), which helps dynamic pages that cannot be fully page-cached.
  • Minify and combine - strips whitespace and comments from CSS and JavaScript and can merge multiple files into fewer requests.
  • Lazy load - defers loading images and iframes until they are about to scroll into view, so the initial page paints faster.

For a broader view of everything that affects site speed on shared hosting, see How to Optimize WordPress Performance and How to Speed Up Your Website. A caching plugin is the first item on both of those lists.

02. The Main Plugins Compared

There are dozens of caching plugins, but four cover almost every situation. Here is how they differ in practice.

  • WP Super Cache - free, made by Automattic (the company behind WordPress.com). Simple, reliable, and hard to misconfigure. It does page caching and browser caching well and skips the advanced features that cause trouble. A good default for most sites.
  • W3 Total Cache - free and feature-heavy, with page, browser, object, and database caching plus minify and CDN integration. The trade-off is complexity: the settings screen is large and easy to get wrong, and aggressive options can break a site. Best when someone is comfortable testing each setting.
  • LiteSpeed Cache - free and excellent, but only when the account runs on a LiteSpeed web server, where it caches at the server level with almost no PHP overhead. On a non-LiteSpeed server it still works but loses its main advantage. Check your server software before choosing it.
  • WP Rocket - paid, and the easiest of the premium options. It turns on sensible page caching, browser caching, and lazy loading the moment it is activated, with minify and preload a click away. If you want results without reading a manual, this is the smoothest path.
Add Gradually

Full Optimization Suite

Minify, combine, critical CSS, and preload (W3 Total Cache, LiteSpeed, WP Rocket advanced) squeeze out extra speed but can break layouts if enabled all at once.

  • More speed available on complex themes
  • Higher chance of visual or script breakage
  • Enable one option at a time and test each

03. Which One to Pick on Our Hosting

Our advice for an Ultra Web Hosting account: start with a simple page cache and stop there until you have measured the result. Most sites do not need more.

  1. Check your web server first. Open cPanel > Server Information and look at the Apache or web server version line. If it reads LiteSpeed, the LiteSpeed Cache plugin is the best free choice because it caches at the server level.
  2. If the server is LiteSpeed, install LiteSpeed Cache and use its defaults. The server-level page cache does the heavy lifting for you.
  3. If the server is not LiteSpeed, install WP Super Cache for a free, low-risk page cache, or WP Rocket if you would rather pay for the smoothest setup.
  4. Skip W3 Total Cache unless you specifically want its granular control and are ready to test each setting. It has a lot of control but is easy to misconfigure.
Tip

Do not run two page-caching plugins at once. They fight over the same cached files and produce stale or blank pages. Pick one, and if you are switching, fully deactivate and delete the old one first.

04. Installing and a Safe Baseline Config

The goal of a first setup is a working page cache and nothing else. Prove that much works before adding features.

  1. In your WordPress admin, go to Plugins > Add New, search for your chosen plugin (for example WP Super Cache), click Install Now, then Activate.
  2. Open the plugin's settings and enable caching (in WP Super Cache this is the Caching On toggle on the Easy tab). Leave every advanced option off for now.
  3. Save, then open your site in a private or incognito window so you are viewing it logged out, the way a real visitor does. Click through a few pages and confirm the layout and images look right.
  4. Make a small edit to a page in WordPress. Reload the front end. If you do not see the change, clear the cache from the plugin's menu and reload. This confirms you know where the purge button is.
  5. Only once the plain page cache is stable should you move on to browser caching, minify, and the rest below.
Why Test Logged Out

WordPress does not serve cached pages to logged-in administrators, so a site can look fine to you while a caching problem only shows for visitors. Always confirm changes in a logged-out browser. If you are staff on the site, use a private window or a second browser.

05. Browser Caching and GZIP or Brotli

Browser caching and compression are safe, high-value settings that rarely break anything. Browser caching sets expiry headers so returning visitors reuse files they already downloaded. Compression (GZIP, or the newer Brotli) shrinks text files such as HTML, CSS, and JavaScript on the way to the browser.

  1. In your caching plugin, enable browser caching or set expires headers (WP Super Cache and W3 Total Cache both offer this; WP Rocket applies it automatically).
  2. Enable GZIP compression if the plugin exposes it. On our servers compression is often already on at the server level, in which case the plugin will note that and you can leave it.
  3. Reload your site logged out and confirm it still renders correctly. These settings almost never cause visual issues.
Tip

If your account is on a LiteSpeed or Cloudflare-fronted setup, Brotli compression may already be active at the edge. You do not need to force GZIP on top of it; one compression layer is enough.

06. Minify and Combine CSS and JS

Minify strips whitespace and comments from CSS and JavaScript. Combine merges multiple files into fewer requests. Both can help, but this is the part of caching most likely to break your site, because merging or reordering scripts can clash with how your theme and plugins expect their files to load.

Minify Breaks Layouts

Aggressive minify and combine is the most common cause of a broken site after enabling a caching plugin: sliders stop moving, menus stop dropping down, forms stop submitting, or the layout collapses. Enable these options one at a time, save, and check the site logged out after each one. If something breaks, turn that single option back off. Never switch on minify CSS, combine CSS, minify JS, and combine JS all at once.

  1. Turn on minify CSS only. Save, clear the cache, and check the site logged out. If the design still looks right, keep it.
  2. Turn on minify JavaScript. Save, clear, and test interactive elements: menus, sliders, popups, and forms.
  3. Try combine CSS, then combine JS, one at a time with a test in between. These are the riskiest options; if anything misbehaves, leave them off.
  4. Deferring or delaying JavaScript can also break scripts. Add those one at a time as well, testing each.

07. Object Caching with Redis or Memcached

Page caching handles pages that look the same to every visitor. An object cache helps the pages that cannot be fully cached, by keeping the results of expensive database queries in memory. It shines on dynamic sites: a busy WooCommerce store, a membership site, a large forum, or any site with heavy logged-in traffic.

  • Redis - an in-memory data store, the common choice for a persistent object cache on WordPress.
  • Memcached - an older in-memory cache that serves a similar role.
  1. Confirm the service is available on your plan. Redis and Memcached are not on every shared account; check your plan or open a ticket to ask.
  2. If it is available, install a bridge plugin such as Redis Object Cache, or enable object caching in W3 Total Cache or LiteSpeed Cache and point it at the service.
  3. Test the site logged out and logged in. Watch for stale data, such as a shopping cart or account page that does not update, which can indicate the object cache is holding on to values too long.
Do You Need It?

A mostly static blog or brochure site gets little from object caching once a page cache is in place. Reach for Redis or Memcached when the site is dynamic and database-heavy, not as a reflex on every install.

08. Lazy Loading Images

Lazy loading defers images and iframes until they are about to scroll into view, so the top of the page paints faster and less data loads up front. This matters most on long, image-heavy pages.

Modern WordPress lazy-loads images in core by adding loading="lazy" to image tags automatically, so many sites already get the benefit without a plugin. The markup looks like this:

<img src="photo.jpg" loading="lazy" width="800" height="600" alt="Product photo">
  1. Check whether you even need the plugin's lazy load: core already handles most images. Turning on a second lazy-load layer can double-defer images and cause them to flicker or not appear.
  2. If you enable the plugin's lazy load, test scrolling on a logged-out page and confirm images appear as you reach them.
  3. Keep above-the-fold images (a hero image or logo) out of lazy loading so they are not delayed. Most plugins let you exclude the first image or a CSS class.

09. The Exclusions You Must Never Cache

Page caching serves the same saved HTML to everyone. That is exactly wrong for pages that must be unique to each visitor. Serving a cached cart or account page to the wrong person is a real risk, so these must always be excluded from full-page caching.

Never Full-Page-Cache These

Exclude the cart, checkout, and my-account pages, and never serve cached pages to logged-in sessions. If you cache a cart page, one visitor can be shown another visitor's cart, and checkout can break outright. WooCommerce and most membership plugins set cookies that a good caching plugin already respects, but you should confirm the exclusions are in place.

  1. Most caching plugins detect WooCommerce and auto-exclude the cart, checkout, and account pages. Confirm this in the plugin's cache-exclusion or "never cache these pages" list.
  2. If your store pages are not auto-excluded, add the cart, checkout, and my-account URLs (or their page slugs) to the exclusion list by hand.
  3. Make sure logged-in users are not served cached pages. This is the default in reputable plugins; verify it is on.
  4. Exclude any custom dynamic pages you have built, such as a member dashboard or a live availability page.

For the full set of store-specific rules, including this cart and checkout cache exclusion, see our Running WooCommerce on Shared Hosting guide. It covers the caching exclusions alongside the other settings a store needs.

10. Combining a Plugin with Cloudflare

Many sites run a caching plugin on the origin and Cloudflare in front of it. That combination works well, but the two caches can conflict if you are not careful about what each one caches and the order in which you purge them.

  1. Let the plugin cache HTML, let Cloudflare cache static files. By default Cloudflare caches images, CSS, and JS but not HTML, which avoids two systems caching the same page. Leave it that way unless you have a specific reason to change it.
  2. Avoid double-caching HTML. If you enable full-page HTML caching at Cloudflare as well as in the plugin, a change can require purging both, and it is easy to serve stale pages. Keep HTML caching in one place.
  3. Purge in the right order. When you publish a change, clear the plugin cache first (so the origin rebuilds the fresh page), then purge Cloudflare (so it re-fetches that fresh page). Purging Cloudflare first can re-cache the old page from the origin.
  4. Do not exclude the store pages twice into oblivion. Make sure cart and checkout are bypassed at both layers, not accidentally cached at Cloudflare while excluded in the plugin.
Tip

Our full walkthrough for the Cloudflare side is How to Set Up Cloudflare, including page rules and cache settings. If HTTPS resources fail to load after adding a CDN, see How to Fix Mixed Content Warnings.

11. Testing Before and After, and Clearing Cache

Caching is worth measuring, not guessing at. Record a baseline before you start, then compare after each major change so you know the setting actually helped.

  1. Measure a baseline before enabling the plugin. Note your page load time so you have something to compare against.
  2. Enable the page cache, then measure the same page again logged out. The page-cache step alone usually shows the largest improvement.
  3. Add features one at a time (browser caching, then minify, then object cache), re-measuring after each so you can tell which helped and which caused trouble.
  4. When you do not see a change you made, the cache is almost always serving an old copy. Clear the plugin cache (and Cloudflare, if used) and reload in a private window.
The Number One Support Question

"I edited my site but nothing changed." Nine times out of ten this is caching serving a stale page. Clear the plugin cache, clear Cloudflare if you use it, and reload logged out before assuming the edit failed.

For the wider performance picture beyond caching, including image sizing, database cleanup, and PHP version, see How to Optimize WordPress Performance and How to Speed Up Your Website. If you hit a server error while enabling aggressive caching or minify on a large page, our WordPress Response Body Too Large article explains that specific limit.

Want Us to Set Up Caching for You?

If you would rather not tune this yourself, open a ticket and tell us your site and plugin. We will confirm your server software, install a suitable page cache, set the safe baseline, and add the WooCommerce exclusions if you run a store. We support caching on shared, VPS, and dedicated plans.

Open a Support Ticket

Quick Recap: Caching in Six Steps

If you only do six things from this guide, do these:

  1. Check your web server in cPanel: LiteSpeed means LiteSpeed Cache, otherwise WP Super Cache or WP Rocket.
  2. Enable only the page cache first and test the site in a logged-out private window.
  3. Add browser caching and compression, which are safe, before touching anything riskier.
  4. Enable minify and combine one option at a time, testing after each, because these break layouts most often.
  5. Never full-page-cache the cart, checkout, my-account, or logged-in sessions, and confirm the store exclusions.
  6. Clear the cache (plugin first, then Cloudflare) whenever you make a change and do not see it.

Last updated July 2026 · Browse all WordPress articles

  • 0 Users Found This Useful

Was this answer helpful?

Related Articles

Securing WordPress with Wordfence or Solid Security

WordPress | Updated July 2026 Every WordPress site on Ultra Web Hosting already sits behind a...

How to Move a Weebly Site to WordPress

WordPress | Updated July 2026 There is no automatic importer that turns a Weebly site into a...

How to Fix WordPress Not Sending Email with WP Mail SMTP

WordPress | Updated July 2026 WordPress ships with email turned on, yet on most hosting the...

Create Static Files with your WordPress Install

WordPress | Updated 2026 WordPress generates pages dynamically on every request, which uses...

WordPress error "This file cannot be imported - It may be caused by file_uploads being disabled in your php ini"

WordPress | Updated March 2026 The "This file cannot be imported" error in WordPress appears...



Save 30% on web hosting - Use coupon code Hosting30