Website Caching Explained in Plain English
Website Caching Explained in Plain English
You have probably heard that caching makes your website faster. Maybe a plugin told you to "enable caching." Maybe your developer mentioned it. Maybe Lighthouse flagged it in an audit. But most explanations of caching sound like they were written for other developers, not for normal people who just want their website to be fast.
This post fixes that. No jargon, no computer science degree required. Just a clear explanation of what caching is, how it works, the different types you should care about, and what to actually do about it.
If you have run a free website audit and seen caching recommendations, this is the guide that explains what those mean.
What Is Caching? (The Simple Version)
Imagine you have a document stored in a filing cabinet in the basement. Every time you need it, you walk downstairs, find the right folder, pull it out, and walk back to your desk. That takes time.
Now imagine you make a copy and keep it on your desk. Next time you need it, you just grab it. Much faster.
That is caching. Instead of fetching files from the origin server (the basement) every time someone visits your website, you store copies closer to where they are needed. The visitor gets the page faster. Your server does less work. Everyone wins.
Caching is not one thing. There are several types, each storing files in a different place for a different reason. Let's cover the ones that matter for your website.
The 3 Types of Caching You Need to Know
1. Browser Caching (Stores Files on the Visitor's Device)
When someone visits your website for the first time, their browser downloads everything: HTML, CSS, JavaScript, images, fonts. On a typical small business site, that might be 3-8MB of files.
Browser caching tells the visitor's browser to keep copies of those files. When they navigate to another page on your site, or come back the next day, the browser reuses the cached files instead of downloading them again.
This is huge for Core Web Vitals. A first-time visitor might load your page in 3 seconds. A returning visitor with browser caching might load it in 1 second. That is a 67% improvement from one setting.
How to enable it: Your web server sends headers with each file. The two that matter are:
Cache-Control- tells the browser how long to keep the fileETag- a fingerprint that lets the browser check if the file has changed
For most websites, this is a server configuration. If you use WordPress, caching plugins like WP Rocket or W3 Total Cache handle this for you. If you use Squarespace or Wix, browser caching is handled automatically. If you are on custom hosting, your developer needs to set cache headers in the server config.
Want to check if browser caching is working on your site? Run it through PageSpeed Insights or a website speed test. If you see "Serve static assets with an efficient cache policy," that means your cache headers are missing or too short.
2. Server-Side Caching (Stores Pre-Built Pages on Your Server)
Without caching, every time someone visits your website, your server does this:
- Receives the request
- Queries the database for content
- Runs any dynamic logic (PHP, Node, etc.)
- Assembles the full HTML page
- Sends it to the visitor
Steps 2 through 4 take time. On a WordPress site with several plugins, this might take 500-800 milliseconds. That does not sound like much, but it adds up, especially if multiple people visit at once.
Server-side caching skips those steps. The first time someone visits a page, the server builds it normally, then saves a copy. The next visitor gets the saved copy instantly. No database queries, no PHP execution, no assembly required.
This is why caching plugins can make WordPress sites dramatically faster. WP Rocket, LiteSpeed Cache, and W3 Total Cache all do server-side page caching.
Important limitation: Server cache works great for static content. If your page has dynamic elements like a shopping cart, logged-in user areas, or real-time data, those parts should not be cached. Good caching plugins handle this automatically by excluding logged-in users and cart pages.
3. CDN Caching (Stores Copies Around the World)
If your server is in New York and a visitor is in London, their request has to travel across the Atlantic Ocean and back. That adds 80-120ms of latency, minimum. No amount of server-side caching fixes that distance.
A Content Delivery Network (CDN) solves this by storing copies of your files in data centers around the world. When someone visits your site, the CDN serves files from the location closest to them.
If you are curious whether a CDN is worth it for your site, check out our guide on whether you need a CDN (coming soon).
For caching specifically, a CDN caches your static assets (images, CSS, JavaScript, fonts) at edge locations worldwide. This means:
- A visitor in Tokyo gets your images from a Tokyo data center
- A visitor in London gets them from a London data center
- A visitor in New York gets them from a New York data center
All of them get fast load times regardless of where your origin server is.
Popular CDN options: Cloudflare (free plan available), Bunny.net (very affordable), Fastly, and Amazon CloudFront. If you use Cloudflare, CDN caching is enabled by default on the free plan.
How Caching Affects Your Lighthouse Score
When you run a Lighthouse audit, caching shows up in two places:
-
Serve static assets with an efficient cache policy - This checks your browser cache headers. If your images and CSS have short or missing cache expiration times, Lighthouse flags it.
-
Reduce initial server response time (TTFB) - This is where server-side caching helps. If your server takes more than 600ms to respond, Lighthouse will flag it. Page caching can bring this down to under 200ms.
If you have been ignoring caching recommendations in your audit reports, this is why they matter. Caching is one of the few optimizations that improves both your Lighthouse score and the actual experience for returning visitors.
Common Caching Mistakes
Caching Too Aggressively
More caching is not always better. If you cache your homepage for 30 days and then update a blog post, visitors will still see the old version for up to 30 days. This is why cache expiration times matter.
Fix: Cache static assets (images, fonts, CSS) for 30+ days. Cache HTML pages for 5-60 minutes. Use cache-busting (adding a version string to filenames) so when you update CSS or JavaScript, browsers know to fetch the new version.
Not Caching at All
I see this constantly in audits. Sites on managed WordPress hosting with no caching plugin. Sites on custom servers with no cache headers. Sites where the owner assumed caching was "already handled" but never verified it.
Fix: Run a speed test. If you see "Serve static assets with an efficient cache policy" or slow TTFB, caching is not set up. Install a caching plugin or ask your developer to configure cache headers.
Caching Pages That Should Not Be Cached
Cart pages, checkout pages, logged-in user dashboards, search results pages. These should never be cached because they show different content to different users.
Fix: Most caching plugins handle this automatically. But if you are setting up caching manually, make sure to exclude:
/cart//checkout//my-account/- Any page with user-specific content
- Search result pages
How to Set Up Caching on Common Platforms
WordPress
Install a caching plugin. WP Rocket is the best premium option ($49/year). LiteSpeed Cache is free if your host supports LiteSpeed. W3 Total Cache is free and works on most hosts.
Enable page caching and browser caching. Leave the advanced settings alone unless you know what you are doing. The defaults work for 90% of sites.
If you want to go deeper, read our guide on how to speed up WordPress.
Squarespace
Squarespace handles caching automatically. You do not need to do anything. Their CDN serves static assets globally, and browser caching is configured by default.
If your Squarespace site is still slow, the issue is probably images or third-party scripts, not caching. Read why your Squarespace site might be slow.
Wix
Same as Squarespace. Wix handles caching on their end. If your Wix site is slow, check out common Wix speed issues.
Custom Sites
You or your developer need to configure cache headers in your web server config. For Nginx:
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff2)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
For Apache:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 30 days"
ExpiresByType image/webp "access plus 30 days"
ExpiresByType text/css "access plus 30 days"
ExpiresByType application/javascript "access plus 30 days"
</IfModule>
These tell the browser to cache static files for 30 days. Your developer can adjust the times based on how often you update files.
How to Tell if Caching Is Working
Run your website through Google PageSpeed Insights. If caching is set up correctly:
- You will not see "Serve static assets with an efficient cache policy"
- Your TTFB will be under 600ms
- Repeat visits will be significantly faster than first visits
You can also check in Chrome DevTools. Open the Network tab, load your page, and look at the "Size" column. If files show "(disk cache)" or "(memory cache)" instead of a file size, browser caching is working.
What Caching Will and Will Not Fix
Caching improves:
- Repeat visit speed
- Server response time (TTFB)
- Lighthouse performance score
- How fast pages load for visitors near a CDN edge
Caching does NOT fix:
- Oversized images (still need image optimization)
- Render-blocking CSS and JavaScript
- Bad hosting (a cache does not help if the server is overloaded)
- Too many plugins (caching masks the symptom, but the root cause remains)
- Layout shift issues
If your site scores 40 on Lighthouse and you enable caching, you might get to 55. That is a real improvement. But to get to 80+, you also need to fix images, clean up code, and address Common Web Vitals issues.
The Bottom Line
Caching is one of the highest-impact, lowest-effort optimizations you can make. Browser caching helps returning visitors. Server caching reduces response time. CDN caching helps visitors far from your server. Together, they can cut load times in half.
If you are not sure whether caching is set up on your site, run a free audit and find out. If it is not, it is one of the first things we fix because the impact is immediate and the effort is low.
Frequently Asked Questions
What is website caching in simple terms? Caching is storing a copy of your website files closer to the visitor so they do not have to be re-downloaded from the origin server every time. It is like keeping a printed copy of a document on your desk instead of walking to the filing cabinet each time you need it.
What is the difference between browser cache and server cache? Browser cache stores files on the visitor device so returning visitors load faster. Server cache stores pre-built pages on your server so it does not have to generate them from scratch each time. Both speed up your site but in different ways for different situations.
How long should I set my cache expiration? Static assets like images, fonts, and CSS should be cached for at least 30 days, ideally 90 days or more. HTML pages should be cached for shorter periods, usually a few minutes to an hour, so visitors see updated content without waiting too long.
Does caching help with Core Web Vitals? Yes. Caching improves Largest Contentful Paint by serving cached images and CSS faster. It improves repeat visit speed dramatically. Browser caching especially helps returning visitors, which can improve your overall Lighthouse scores and user experience.
Want to know exactly what caching issues your website has? Get a free website audit from WL Tech and we will tell you exactly what to fix and in what order.
Want to check your own website?
Run our free 60-second audit to see how your site scores on speed, SEO, and AI visibility.
Start Free Audit →