Quick Answer
When your domain shows old content, it's usually due to caching at multiple levels: browser cache storing outdated web pages, DNS cache keeping old IP addresses, CDN cache serving stale files, or ISP/router cache holding previous DNS records. The solution involves clearing caches (browser, DNS, CDN), performing hard refreshes, and waiting for DNS propagation to complete (typically minutes to hours, sometimes up to 48 hours for global distribution).
Table of Contents
- Understanding Why Old Content Persists
- The Multiple Layers of Caching
- Diagnosing Which Cache Is the Problem
- Solutions for Each Cache Type
- DNS Propagation Explained
- Advanced Troubleshooting
- Prevention Strategies
- When Content Should Update Immediately
- Frequently Asked Questions
- Key Takeaways
- Next Steps
Understanding Why Old Content Persists
You've updated your website, changed hosting providers, or modified your domain's DNS settings, but when you visit your domain, you still see the old content. This frustrating situation occurs because the internet uses caching at multiple levels to improve performance and speed.
What Is Caching?
Caching is the process of storing copies of files, web pages, or DNS records temporarily so they can be accessed faster next time. While caching dramatically improves internet speed, it creates a side effect: you might see outdated information until the cache expires or is cleared.
Why Caching Exists
Every time you visit a website, your computer could potentially:
- Query DNS servers to find the IP address
- Download every image, stylesheet, and script
- Process all the HTML and CSS from scratch
This would make the internet unbearably slow. Caching solves this by remembering recent information, but when you update your site, those cached copies become outdated.
The Time Factor
Different types of caches have different expiration times:
- Browser cache: Hours to days (or until manually cleared)
- DNS cache: Minutes to hours (based on TTL settings)
- CDN cache: Hours to days (based on cache rules)
- ISP cache: Hours to days (based on their policies)
This explains why some people see your new content while others still see the old version.
The Multiple Layers of Caching
Understanding each caching layer helps you systematically troubleshoot the issue.
1. Browser Cache
What it stores: HTML pages, images, CSS files, JavaScript, fonts, and other website assets
How it works: When you visit a website, your browser saves copies of files locally. On subsequent visits, it loads these local copies instead of downloading everything again.
Expiration: Controlled by cache-control headers set by the website. Can range from minutes to months.
Symptoms when problematic:
- You see old content, but others see new content
- Private/incognito mode shows new content
- Other browsers show new content
- Mobile shows new content while desktop doesn't
2. DNS Cache
What it stores: Domain name to IP address mappings
How it works: When your computer looks up "example.com," it stores the IP address so it doesn't have to query DNS servers again for a while.
Expiration: Controlled by TTL (Time To Live) values in DNS records, typically 300 seconds (5 minutes) to 86400 seconds (24 hours).
Symptoms when problematic:
- Your domain points to old server IP address
- Recently changed DNS but still connecting to old host
- Incognito mode doesn't help
- Clearing browser cache doesn't fix it
- You see old content across all browsers
3. CDN Cache
What it stores: Complete copies of your website's static files distributed across global edge servers
How it works: CDN (Content Delivery Network) services like Cloudflare, Amazon CloudFront, or Fastly cache your content on servers worldwide for faster delivery.
Expiration: Based on CDN configuration, typically 1 hour to several days.
Symptoms when problematic:
- Some geographic regions see old content
- Changes appear inconsistently
- Backend/admin panel shows new content
- Direct server IP shows new content but domain shows old
4. Operating System Cache
What it stores: DNS lookups at the operating system level
How it works: Windows, macOS, and Linux systems maintain their own DNS cache separate from browser cache.
Expiration: Varies by operating system, typically several hours.
Symptoms when problematic:
- Clearing browser cache doesn't help
- All browsers show the same old content
- Other devices on same network might work fine
5. Router/Network Cache
What it stores: DNS queries for all devices on your network
How it works: Home and office routers often cache DNS lookups to serve multiple devices faster.
Expiration: Typically cleared on router restart, but varies by router model.
Symptoms when problematic:
- All devices on your network show old content
- Mobile data shows new content but WiFi doesn't
- Only happens on specific network
6. ISP DNS Cache
What it stores: DNS lookups for all customers
How it works: Internet Service Providers run DNS servers that cache lookups for all their users.
Expiration: Based on DNS TTL values, but ISPs sometimes ignore TTL and cache longer.
Symptoms when problematic:
- Your internet connection shows old content
- Different ISP or VPN shows new content
- Using public DNS (8.8.8.8) shows new content
Diagnosing Which Cache Is the Problem
Before applying solutions randomly, identify which cache layer is causing the issue.
Quick Diagnostic Tests
Run these tests in order to narrow down the problem:
Test 1: Incognito/Private Mode
- Open an incognito or private browsing window
- Visit your domain
- If new content shows: Browser cache is the problem
- If old content persists: DNS or network cache is the problem
Test 2: Different Browser
- Open a completely different browser you rarely use
- Visit your domain
- If new content shows: Original browser cache is the problem
- If old content persists: DNS or network cache is the problem
Test 3: Mobile Data vs WiFi
- On your phone, disconnect from WiFi
- Use mobile data to visit your domain
- If new content shows: Your home network/router/ISP cache is the problem
- If old content persists: Broader DNS propagation issue
Test 4: Different Device
- Use a completely different device (friend's phone, different computer)
- Preferably on a different network
- If new content shows: Your specific device or network has the issue
- If old content persists: Global DNS propagation or CDN cache issue
Test 5: Direct IP Access
- Find your new server's IP address
- Visit http://[your-server-ip] directly in browser
- If new content shows: DNS is directing to old server
- If old content shows: You might be on the old server, or CDN is serving old content
Test 6: Check Propagation Tools
- Visit WhatsMyDNS.net
- Enter your domain
- Look at results from different global locations
- If results vary: DNS propagation in progress
- If all show old IP: DNS changes haven't propagated or weren't saved correctly
Solutions for Each Cache Type
Based on your diagnosis, apply the appropriate solution:
Clearing Browser Cache
Chrome:
- Press Ctrl+Shift+Delete (Windows) or Cmd+Shift+Delete (Mac)
- Select "Cached images and files"
- Choose time range: "All time" for thoroughness
- Click "Clear data"
Or perform a hard refresh:
- Windows: Ctrl + F5 or Ctrl + Shift + R
- Mac: Cmd + Shift + R
- This forces browser to re-download everything
Firefox:
- Press Ctrl+Shift+Delete (Windows) or Cmd+Shift+Delete (Mac)
- Select "Cache"
- Click "Clear Now"
Safari:
- Safari menu → Preferences → Advanced
- Enable "Show Develop menu in menu bar"
- Develop menu → Empty Caches
- Or: Cmd + Option + E
Edge:
- Press Ctrl+Shift+Delete
- Select "Cached images and files"
- Click "Clear now"
Chrome-specific DNS cache:
- Navigate to: chrome://net-internals/#dns
- Click "Clear host cache" button
- This clears Chrome's internal DNS cache
Flushing DNS Cache
Windows:
1. Press Windows key + R
2. Type: cmd
3. Press Enter
4. Type: ipconfig /flushdns
5. Press Enter
6. You should see: "Successfully flushed the DNS Resolver Cache"
macOS:
1. Open Terminal (Applications → Utilities → Terminal)
2. Type one of these commands depending on your macOS version:
macOS Monterey, Big Sur, Catalina (10.15+):
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
macOS Mojave, High Sierra:
sudo killall -HUP mDNSResponder
3. Enter your password when prompted
4. No confirmation message appears, but cache is cleared
Linux (Ubuntu/Debian):
For systemd-resolved:
sudo systemd-resolve --flush-caches
For nscd:
sudo /etc/init.d/nscd restart
For dnsmasq:
sudo /etc/init.d/dnsmasq restart
After flushing DNS: Close and reopen your browser, then try accessing your domain again.
Clearing Router Cache
Method 1: Reboot Router
- Unplug router power cable
- Wait 30 seconds
- Plug back in
- Wait 2-3 minutes for full restart
- Try accessing your domain
Method 2: Router Admin Panel
- Access router admin (usually 192.168.1.1 or 192.168.0.1)
- Look for DNS cache settings (location varies by router)
- Clear DNS cache if option exists
- Reboot router through admin panel
Using Alternative DNS Servers
If your ISP's DNS is slow to update, temporarily switch to public DNS:
Google Public DNS:
- Primary: 8.8.8.8
- Secondary: 8.8.4.4
Cloudflare DNS:
- Primary: 1.1.1.1
- Secondary: 1.0.0.1
How to change DNS on Windows:
- Control Panel → Network and Internet → Network and Sharing Center
- Click your connection → Properties
- Select "Internet Protocol Version 4 (TCP/IPv4)"
- Click Properties
- Select "Use the following DNS server addresses"
- Enter DNS servers
- Click OK
How to change DNS on macOS:
- System Preferences → Network
- Select your connection → Advanced
- DNS tab
- Click + to add DNS servers
- Enter DNS addresses
- Click OK → Apply
How to change DNS on router (affects all devices):
- Access router admin panel
- Find DNS settings (often under WAN or Internet settings)
- Enter custom DNS servers
- Save and reboot router
Clearing CDN Cache
If you use a CDN, you need to purge its cache:
Cloudflare:
- Log into Cloudflare dashboard
- Select your domain
- Go to Caching → Configuration
- Click "Purge Everything" or "Custom Purge"
- Confirm purge
- Wait 30 seconds for propagation
Amazon CloudFront:
- AWS Console → CloudFront
- Select your distribution
- Invalidations tab → Create Invalidation
- Enter paths to invalidate (/* for everything)
- Submit
Other CDN providers:
- Look for "Purge," "Clear," or "Invalidate" cache options
- Often found in main dashboard or cache settings
- May be called "Cache Flush" or "Cache Reset"
Clearing CMS/Platform Cache
WordPress:
-
If using caching plugin (W3 Total Cache, WP Super Cache, etc.):
- Find plugin in WordPress admin
- Look for "Purge Cache" or "Clear Cache" button
- Click to clear
-
Object cache:
- Some hosting providers use object caching (Redis, Memcached)
- Clear from hosting control panel or plugin settings
Other platforms:
- Shopify: No manual cache clearing needed (automatic)
- Wix: Support → Clear Cache request
- Squarespace: Cache clears automatically within minutes
- Custom CMS: Check platform documentation
DNS Propagation Explained
When you change DNS settings (nameservers, A records, etc.), the changes must propagate across the global DNS network.
How Long Propagation Takes
Modern reality (2025):
- Most locations: 5 minutes to 2 hours
- Typical complete propagation: 4-8 hours
- Maximum (worst case): 24-48 hours
Why the range: Different DNS servers refresh at different intervals based on TTL (Time To Live) values.
What Affects Propagation Speed
TTL (Time To Live) values:
- Low TTL (300 seconds = 5 minutes): Fast propagation
- High TTL (86400 seconds = 24 hours): Slow propagation
- TTL tells DNS servers how long to cache records
Your ISP's policies:
- Some ISPs ignore TTL and cache longer
- Nothing you can do about this except wait
Type of DNS change:
- A record changes: Usually faster (hours)
- Nameserver changes: Can take longer (up to 48 hours)
- DNSSEC changes: Slower due to additional validation
Monitoring Propagation
WhatsMyDNS.net:
- Shows DNS resolution from 20+ global locations
- Green checkmarks = propagated
- Red X = still showing old data
- Refresh every 15-30 minutes to track progress
DNSChecker.org:
- Similar to WhatsMyDNS
- Tests from more locations (30+)
- Shows both IPv4 and IPv6 records
Expected pattern:
- Shortly after change: Mixed results (some locations updated, others not)
- After several hours: Mostly green (most updated)
- After 24 hours: Should be completely propagated
You Cannot Speed Up Propagation
Once you've made DNS changes correctly, you cannot force faster global propagation. Each DNS server operates independently and refreshes based on TTL values.
What you CAN do:
- Plan ahead: Lower TTL 24-48 hours before making changes
- Verify changes are correct: Use RDAP/WHOIS to confirm nameservers saved
- Clear your local caches: So you see the new version sooner
- Communicate with users: Let them know to clear cache if they have issues
Advanced Troubleshooting
When basic solutions don't work, try these advanced techniques:
Check If Changes Actually Saved
Sometimes DNS changes fail to save due to:
- Browser auto-fill entered wrong information
- Session timeout before saving
- System error on provider's end
Verify via WHOIS:
- Use WHOIS lookup tool
- Check nameserver section
- Confirm nameservers match what you entered
Verify via RDAP:
- Use RDAP lookup tool (more reliable than WHOIS)
- Check nameservers in response
- Compare with intended values
Query Authoritative Nameservers Directly
Bypass all caching by querying your nameservers directly:
Using dig (macOS/Linux):
dig @ns1.yourhost.com yourdomain.com
Using nslookup (Windows):
nslookup
server ns1.yourhost.com
yourdomain.com
This shows exactly what your authoritative nameserver is serving, regardless of caching.
What to look for:
- Does it return the new IP address?
- If yes: Caching is the issue, wait for propagation
- If no: DNS records aren't set correctly at your DNS provider
Check Different Record Types
Sometimes one record type updates but others don't:
dig yourdomain.com A # IPv4 address
dig yourdomain.com AAAA # IPv6 address
dig www.yourdomain.com A # WWW [subdomain](/kb/getting-started/what-is-a-subdomain)
Ensure all necessary records are updated.
Trace DNS Resolution Path
See exactly where your DNS lookup goes:
dig +trace yourdomain.com
This shows:
- Root nameservers
- TLD nameservers (.com, .net, etc.)
- Your authoritative nameservers
- Final answer
Helps identify where outdated information is coming from.
Check for Redirect Caching
If your site uses redirects (301, 302), browsers cache these:
- Clear browser cache thoroughly
- Or use developer tools:
- Chrome: F12 → Network tab → Disable cache checkbox
- Firefox: F12 → Network tab → Settings → Disable cache
- Keep developer tools open while testing
Verify Server-Level Caching
Even if DNS is correct, server might be serving old content:
- Check server caching (Nginx fastcgi_cache, Apache mod_cache, Varnish)
- Check application caching (PHP opcache, Node.js caching)
- Restart web server if necessary
- Check .htaccess for cache rules
Prevention Strategies
Avoid old content issues when making future changes:
1. Lower TTL Before Making Changes
When: 24-48 hours before planned DNS changes How:
- Access DNS management
- Find TTL settings for records you'll change
- Lower to 300 seconds (5 minutes)
- Save changes
- Wait for old TTL period to expire
- Now make your actual changes
- After changes propagate, raise TTL back to 3600-14400
Why this works: With low TTL, DNS servers cache for only 5 minutes, so changes propagate much faster.
2. Maintain Old Hosting During Transition
When: Moving to new hosting provider Strategy:
- Set up new site completely on new host
- Test via temporary URL or hosts file
- Change DNS to point to new host
- Keep old hosting active for 72 hours
- Monitor for issues
- Cancel old hosting only after confirming everything works
Why this works: If DNS caching causes issues, some users still reach old server which still has your content.
3. Use Lower Default TTL Values
Recommended TTL settings:
- High-traffic stable sites: 14400-86400 (4-24 hours)
- Frequently changed sites: 1800-3600 (30 minutes - 1 hour)
- Development/staging: 300-600 (5-10 minutes)
Trade-off: Lower TTL means more DNS queries, but faster propagation when you make changes.
4. Implement Proper Cache Headers
Control browser caching through HTTP headers:
For frequently updated content:
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
For static content that changes occasionally:
Cache-Control: public, max-age=3600
For static content that rarely changes:
Cache-Control: public, max-age=31536000
5. Use Cache Busting for Assets
When you update CSS/JS/images, use version query strings:
<link rel="stylesheet" href="style.css?v=2.1">
<script src="app.js?v=2.1"></script>
Or change filenames:
style-v2.css
app-v2.js
This forces browsers to download new files.
6. Document Your DNS Configuration
Keep records of:
- Current nameservers
- All DNS records and values
- TTL settings
- When changes were made
- Hosting provider contact information
Makes troubleshooting future issues much easier.
When Content Should Update Immediately
Some changes should be visible instantly. If not, something is configured wrong:
Changes That Show Immediately
Content edits through CMS (WordPress, Shopify, etc.):
- Text changes
- Image uploads
- Page edits
- If not showing: Clear browser cache or CMS cache
Server-side code changes:
- PHP, Python, Ruby, Node.js code
- If not showing: Restart application, clear opcode cache
Changes That Require Cache Clearing
CSS/JavaScript changes:
- May be cached by browser
- Use hard refresh or version query strings
Image replacements (same filename):
- Browsers cache images aggressively
- Use different filename or version query string
Changes That Require DNS Propagation
Domain pointing to new server:
- Requires DNS propagation
- Takes hours, not immediate
Nameserver changes:
- Requires propagation
- Can take up to 48 hours
Subdomain additions:
- Usually propagates faster (minutes to hours)
- Depends on TTL settings
Frequently Asked Questions
How long should I wait before worrying?
For browser cache issues, clearing cache should work immediately. For DNS changes, give it at least 2-4 hours before troubleshooting seriously. If after 24 hours you still see old content globally (checked via propagation tools), something is configured incorrectly, not just propagating slowly.
Why do some people see new content while others see old?
This is normal during DNS propagation. Different ISPs, locations, and DNS servers update at different times based on when they last cached your DNS records and their TTL values. Some DNS servers refresh every few minutes, others every few hours. This mixed state is temporary and will resolve as propagation completes.
I cleared my cache but still see old content. What now?
You've cleared browser cache, but DNS cache, router cache, or ISP cache might still have old information. Flush DNS cache (ipconfig /flushdns on Windows, sudo killall -HUP mDNSResponder on Mac), restart your router, or try using public DNS servers (8.8.8.8 or 1.1.1.1) temporarily to bypass your ISP's DNS cache.
Can I force my visitors to see new content immediately?
No, you cannot control caching on your visitors' devices or networks. However, you can minimize the issue by: (1) lowering TTL values before making changes, (2) setting proper cache-control headers for your web content, (3) using version query strings for CSS/JS files, and (4) communicating to users they may need to clear cache.
Does incognito mode bypass all caching?
Incognito/private mode bypasses browser cache (cookies, cached files, history) but does NOT bypass DNS cache at the OS, router, or ISP level. If incognito mode shows old content, the issue is DNS-related, not browser cache.
My direct IP shows new content but domain shows old. Why?
This definitively means DNS is pointing your domain to the old server's IP address while you're accessing the new server via its IP directly. Check your DNS records—they're either not updated, not saved correctly, or still propagating. Verify nameservers and A records are correct.
How do I check what IP address my domain is resolving to?
Windows: Open Command Prompt and type nslookup yourdomain.com
Mac/Linux: Open Terminal and type dig yourdomain.com or nslookup yourdomain.com
Online tools: Use WhatsMyDNS.net or DNSChecker.org
Compare the returned IP address with your new server's IP. If they don't match, DNS isn't updated correctly yet.
Should I contact my hosting provider or registrar?
Contact your DNS provider (whoever manages your nameservers/DNS records) if: DNS records appear correct but domain doesn't resolve properly, you need help configuring A records, or you're unsure what settings to use.
Contact your registrar (where you registered the domain) if: Nameserver changes aren't saving, domain shows as locked or suspended, or you can't access your domain management panel.
Contact your hosting provider if: DNS is correct but server not responding, need server IP address, or need help with server-level caching issues.
Key Takeaways
- Multiple caching layers exist: Browser cache, DNS cache, OS cache, router cache, ISP cache, and CDN cache all can serve outdated content independently
- Diagnosis is key: Use systematic tests (incognito mode, different browsers, different networks) to identify which cache layer is the problem
- Each cache type has specific solutions: Browser cache needs hard refresh, DNS cache needs flushing, CDN needs purging, and ISP cache requires patience
- DNS propagation takes time: Modern DNS typically propagates in 4-8 hours, but can take up to 48 hours for complete global distribution
- You cannot speed up global propagation: Once changes are made correctly, waiting is required. You can only clear YOUR local caches
- Prevention is better than troubleshooting: Lower TTL before changes, maintain old hosting during transitions, and use proper cache headers
- Not all changes require propagation: Content edits show immediately; CSS/JS need cache clearing; DNS changes require propagation
Next Steps
Now that you understand why domains show old content, take these actions:
- Identify Your Cache Issue: Run the diagnostic tests to determine if it's browser cache, DNS cache, or propagation causing your problem
- Apply the Right Solution: Use the specific cache-clearing method that matches your diagnosed issue
- Monitor Propagation: If DNS changes were made, use WhatsMyDNS.net to track propagation progress across global DNS servers
Need to check if your DNS changes have propagated? Use our RDAP Lookup Tool to verify your domain's current nameserver configuration globally.
Helpful Tools and Resources
DomainDetails.com Tools
- RDAP Lookup - Verify current nameserver configuration
- WHOIS History - See when DNS changes were made
- DNS Record Checker - Confirm your DNS records are set correctly
External Diagnostic Tools
- WhatsMyDNS.net - Check DNS propagation globally
- DNSChecker.org - Multi-location DNS testing
- Google Public DNS Cache Flush - Request Google to flush their DNS cache for your domain
- KeyCDN Tools - Various DNS and cache diagnostic tools
Cache Testing Tools
- GTmetrix - Shows caching status of your website resources
- WebPageTest - Detailed cache header analysis
- Chrome DevTools - Network tab shows what's cached locally
Was this article helpful? Let us know if you successfully resolved your old content issue or need additional assistance.
Article References: