Your WordPress site is slow because it rebuilds every page from scratch each time someone visits. Cache fixes that by saving ready-made copies.
Think of it like a restaurant. Without cache, the kitchen cooks every dish to order—even if fifty people order the same burger. With cache, the kitchen prepares popular dishes ahead of time and serves them instantly. Your server (the computer hosting your site) does less work, and visitors see pages faster.
What cache actually stores
WordPress is dynamic. When someone requests a page, PHP code runs, queries hit your MySQL database, and the server assembles HTML on the fly. That process takes time—often 500 milliseconds to several seconds on shared hosting.
Cache skips most of that. It stores the final HTML output and serves it directly. No PHP execution, no database queries. Just a pre-built file sent straight to the browser.
There are different cache layers, but we'll focus on page cache first. It's the biggest win for beginners.
Why you need it on shared hosting
Shared hosting is cheap because dozens of sites share one server's CPU and RAM. When your site is busy, you're competing with neighbors for resources. Uncached WordPress can easily consume 50-100 MB of RAM per page load. Multiply that by ten concurrent visitors and you hit resource limits.
I've seen support tickets where a small blog on shared hosting went down during a traffic spike—just 200 visitors in an hour. The culprit was always the same: no cache, so every page load hammered the database. With cache enabled, that same server handled the spike without breaking a sweat.
Choosing your first cache plugin
You need a plugin because WordPress doesn't cache pages out of the box. Three plugins dominate the beginner space: WP Super Cache, W3 Total Cache, and WP Rocket.
WP Super Cache is free and dead simple. It writes static HTML files to disk and serves them via Apache rewrite rules or PHP. Perfect if you want something that just works.
W3 Total Cache is also free but has more knobs to turn—page cache, database cache, object cache, browser cache, CDN integration. More powerful, slightly more complex.
WP Rocket is premium (paid). It handles everything automatically with sensible defaults. If you don't want to think about settings, it's worth the cost.
For your first setup, I recommend WP Super Cache. Free, stable, and you'll understand exactly what it does.
Installing WP Super Cache step by step
Log into your WordPress admin dashboard. Go to Plugins → Add New. Search for "WP Super Cache" by Automattic. Click Install Now, then Activate.
You'll see a new Settings → WP Super Cache menu item. Click it.
The settings page has three tabs: Easy, Advanced, and CDN. Start with Easy.
Turning cache on
You'll see two radio buttons: Caching Off and Caching On. Select Caching On and click Update Status.
That's it. Cache is now active.
The plugin will try to write rewrite rules to your .htaccess file (if you're on Apache) or give you instructions for nginx. On most shared cPanel hosts, the .htaccess update happens automatically.
Testing that it works
Open your site in a private/incognito browser window. Load your homepage twice. The second load should be noticeably faster.
To confirm cache is working, view the page source (right-click → View Page Source). Scroll to the very bottom. You should see an HTML comment that says something like:
<!-- Dynamic page generated in 0.123 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2026-07-23 04:15:32 -->
If you see the "Cached page" comment, it worked.
What the Advanced tab does
The Advanced tab gives you control over how cache behaves. Most defaults are fine, but a few checkboxes are worth understanding.
Cache hits to this website for quick access is the main on/off switch. Should already be checked.
Use mod_rewrite to serve cache files makes Apache serve cached HTML without even loading PHP. Fastest option. Only works on Apache servers with mod_rewrite enabled (most shared hosts have it).
Compress pages so they're served more quickly enables gzip compression. Good for performance, but some hosts already compress at the server level. Leave it checked unless you see errors.
Don't cache pages for known users is smart. If someone is logged into WordPress, they should see live content (like the admin bar). Keep this checked.
Cache rebuild tells the plugin to serve stale cache while regenerating in the background. Useful during high traffic, but can be confusing for beginners. Leave it off initially.
Cache timeout
By default, cached pages expire after 3600 seconds (one hour). After that, the plugin regenerates the cache on the next visit.
For a blog that updates once a day, you can increase this to 86400 seconds (24 hours). For a news site or e-commerce store, keep it shorter. Tune this based on how often your content changes.
What happens when you update a post
WP Super Cache automatically clears (purges) the cache for a page when you edit and save it. So if you publish a new blog post or update an old one, visitors will see the fresh version immediately.
It also clears the homepage cache, archive pages, and any pages that list that post. Smart defaults.
If you ever need to manually clear everything, go to the Contents tab and click Delete Cache.
Cache and dynamic features
Cache works great for static content—blog posts, pages, archives. But what about dynamic features like recent comments, personalized greetings, or shopping carts?
The rule: don't cache pages that must be unique per user.
WP Super Cache already excludes logged-in users. For e-commerce (WooCommerce), you'll want to exclude cart and checkout pages. Most cache plugins detect WooCommerce and handle this automatically, but double-check in the Advanced settings under "Accepted Filenames & Rejected URIs."
Add patterns like:
/cart/*
/checkout/*
/my-account/*
This tells the plugin: never cache these URLs.
Mobile cache
Some themes serve different HTML to mobile devices. If yours does, enable "Mobile device support" in the Advanced tab under "Mobile Support."
This makes the plugin store separate cache files for mobile and desktop. Most modern responsive themes don't need this—they serve the same HTML and adjust with CSS. Check your theme docs if unsure.
Browser cache vs page cache
Page cache (what we just set up) lives on the server. Browser cache lives on the visitor's device.
When you enable browser cache, the server tells the browser, "Hey, this image/CSS/JS file won't change for a week—store it locally and don't re-download it." The browser obeys and loads those files from disk on repeat visits.
WP Super Cache can set browser cache headers. In the Advanced tab, check "Use Next-Gen Cache." But honestly, if your host has caching headers configured at the server level (many do), this is redundant. Test your site with GTmetrix or Google PageSpeed Insights to see if browser cache is already working.
When cache causes problems
I've handled tickets where a client updated their site but visitors still saw the old version. Cache was the culprit—stale HTML served from disk.
First fix: clear the cache manually. In WP Super Cache, go to Contents → Delete Cache. Wait 30 seconds, then check the site.
Second scenario: CSS or JavaScript changes don't show up. This is usually browser cache, not page cache. The HTML updated, but the browser is loading old stylesheets from its local cache. Fix it by versioning your assets (most themes do this automatically) or clearing browser cache with Ctrl+F5 (Cmd+Shift+R on Mac).
Third scenario: forms stop working or dynamic content breaks. You probably cached a page that shouldn't be cached. Add it to the excluded URLs list.
Checking your cache size
Cached files live in /wp-content/cache/supercache/ on your server. You can see how much disk space cache uses in the Contents tab.
On shared hosting, watch this if your account has a small disk quota. A site with thousands of pages can accumulate gigabytes of cache over time. Set a reasonable timeout (like one day) to keep it pruned, or use the "Scheduled Cache Clear" feature to auto-delete old files.
Do you need more than page cache?
Eventually, yes. But not yet.
Object cache stores database query results in RAM (using Memcached or Redis). It's powerful but requires server-level setup—not something you can click on in shared hosting. VPS and dedicated server owners can explore it later.
Database cache plugins exist, but they add complexity and can cause conflicts. Page cache gives you 80% of the performance win with 5% of the effort. Start there.
CDN (Content Delivery Network) cache is different—it copies your static files (images, CSS, JS) to servers around the world so visitors load them from a nearby location. Cloudflare offers a free CDN that's easy to set up. But again, page cache first.
What to check first
Install WP Super Cache, turn it on, and test your site. That's the entire first setup.
If pages load fast and the HTML source shows the "Cached page" comment, you're done. If something breaks—a form stops working, or dynamic content freezes—add that URL to the excluded list and clear the cache.
Cache is the single biggest performance fix you can make with zero cost and five minutes of work. Set it up now, then move on to images and database optimization later. Your visitors will notice the difference immediately.
