1. Hard refresh the page (Ctrl+Shift+R) — fixes browser cache
2. Open in an incognito window — confirms whether it's browser cache
3. Clear your site's cache in your CDN dashboard (Cloudflare, etc.)
4. Clear your server-side cache (WordPress plugin, Nginx cache, etc.)
5. If none of the above works, verify the file actually deployed correctly
You updated your website. You deployed the change. You reload the page. The old version is still there. This is one of the most frustrating experiences in web development — and it's caused by caching at one of several possible layers between your server and the browser.
This guide walks through every layer systematically, with specific fix instructions for each.
Quick Browser Cache Fix
For seeing your own site changes immediately after deploying, Clear Cache for Specific Site clears your browser's stored copy in one click. No settings menus, no dialog boxes.
Add to Chrome — FreeStep 1: Diagnose Which Cache Layer Is the Problem
The fastest way to identify the problem layer:
curl -I https://yoursite.com/page in terminal to see server response headers. Check the Last-Modified and X-Cache headers to see what the server is returning.
Layer 1: Browser Cache (Your Own Browser)
This is the most common reason website owners don't see their own changes — your own browser cached the old version.
Fix it:
- Hard refresh:
Ctrl+Shift+R - DevTools → Network tab → check "Disable cache" → reload
- Or use the Clear Cache extension for a single-click site cache clear
Prevent it in future: During development and testing, keep DevTools open with "Disable cache" checked. Your visitors won't have this problem — they'll see fresh content after their browser's cache expires per your cache-control headers.
Layer 2: CDN Cache (Cloudflare, Fastly, CloudFront)
If your site uses a CDN (and most production websites should), the CDN caches your pages at edge locations around the world. After deploying changes, you need to tell the CDN to fetch fresh content.
Cloudflare
- Log into dash.cloudflare.com
- Select your domain
- Go to Caching → Configuration
- Click Purge Cache
- Choose Purge Everything or Custom Purge (specific URLs)
AWS CloudFront
- AWS Console → CloudFront
- Select your distribution
- Invalidations tab → Create Invalidation
- Enter
/*for all files, or specific paths
Fastly, Varnish, other CDNs
Each CDN has its own purge interface or API. Check your CDN's documentation for "purge cache" or "invalidation" instructions.
Layer 3: Server-Side Cache
Dynamic websites — especially WordPress sites — often have server-side caching that stores pre-rendered HTML. If your caching plugin's cache isn't cleared after an update, visitors get the old pre-rendered page.
WordPress Caching Plugins
| Plugin | How to Clear |
|---|---|
| W3 Total Cache | Performance → Purge All Caches |
| WP Super Cache | Settings → WP Super Cache → Delete Cache |
| WP Rocket | Admin bar → WP Rocket → Clear Cache |
| LiteSpeed Cache | LiteSpeed Cache → Manage → Purge All |
| Autoptimize | Autoptimize → improve → Delete Cache |
Nginx FastCGI Cache
If your server uses Nginx with FastCGI caching, SSH into the server and delete the cache directory contents:
sudo rm -rf /var/cache/nginx/* (path varies by configuration)
Varnish Cache
Use varnishadm ban req.url ~ / to purge all Varnish-cached content, or specify a URL pattern to purge selectively.
Layer 4: Verify the Deployment Actually Succeeded
Before assuming it's a cache problem, confirm the new file is actually on the server:
- Check file modification date: SSH in and run
ls -la /path/to/fileto verify the timestamp changed - Check file contents: Run
grep "unique string" /path/to/fileto confirm new content is present - Check deployment logs: Verify your CI/CD system shows a successful deployment to the correct environment
- Check multiple servers: If you have multiple servers behind a load balancer, the change may have deployed to only some of them
Preventing Future Cache Problems
The best solution is designing your infrastructure so visitors always get fresh content without manual cache clearing:
- Short HTML cache times: Set
Cache-Control: no-cacheormax-age=300for HTML files. Long HTML cache durations are the most common cause of stale pages. - Long asset cache times with hash filenames: For CSS, JS, and images, use
max-age=31536000, immutablecombined with content-hashed filenames. When content changes, filename changes, browser fetches fresh. - Automated CDN purge on deploy: Use deploy hooks to automatically purge CDN cache after each deployment.
- Stale-while-revalidate:
Cache-Control: max-age=60, stale-while-revalidate=3600lets browsers serve cached content while refreshing in the background — fresh without waiting.
See Your Own Changes Instantly
During development and after deployments, use Clear Cache to instantly clear your browser's copy of your site and confirm your changes are live.
Install Clear Cache — FreeFrequently Asked Questions
Why are my website changes not showing after I deployed them?
Website changes not showing is almost always a caching issue at one of several layers: your browser cache, a CDN like Cloudflare, a server-side cache like a WordPress caching plugin, or your web server's own cache. Start by hard refreshing (Ctrl+Shift+R) — if that shows the change, it was your browser cache.
How do I clear Cloudflare cache after updating my website?
Log into your Cloudflare dashboard, go to your website's zone, click Caching → Configuration → Purge Cache. Choose 'Purge Everything' for a complete cache clear, or 'Custom Purge' to clear specific URLs. Changes typically propagate within 30 seconds of purging.
Why do some visitors see the new version but others see the old version?
This happens when a CDN is partially stale. CDNs cache content at multiple edge locations. When you purge the cache, it may clear at some locations faster than others. Visitors through cleared locations see the new version; others see old content until their nearest CDN edge clears too.
How long does it take for website changes to show up for everyone?
Without caching, changes are immediate. With browser cache, visitors may see the old version until the max-age expires. With CDN cache, typically 30 seconds to a few minutes after a purge. DNS changes take up to 48 hours globally (typically 1-4 hours).
I cleared my cache but my changes still don't show — what next?
Try opening an incognito window to check if browser cache was cleared properly. Check from a different network (phone hotspot). If still old everywhere, verify the change actually deployed to the server by checking file modification timestamps or running grep to confirm new content is present.