DNS Change Not Working — Domain Still Shows Old IP
You updated your DNS records but the domain still points to the old server. Here's why and how to fix it fast.
You just changed your DNS records — maybe you pointed your domain to a new hosting provider, switched email servers, or updated an A record. You waited an hour, maybe two. But when you type your domain into a browser, it still loads the old site. Or worse, you get a blank page or an error.
This happens a lot. Specifically, it happens after you change the A record, CNAME, or nameservers at your domain registrar (like GoDaddy, Namecheap, or Cloudflare). You made the change, saved it, but the internet still sees the old value.
The root cause is TTL (Time To Live). Every DNS record has a TTL — a number in seconds that tells computers and routers how long to remember the old record before checking again. If you had a high TTL (like 86400 seconds, which is 24 hours), all the DNS caches on the internet are still holding the old IP. They won't ask for the new one until that timer runs out.
Another common cause: you changed the record at your registrar but your DNS is hosted elsewhere. For example, you use Cloudflare for DNS but changed the record at GoDaddy. That doesn't work. Cloudflare controls the DNS, not GoDaddy.
One more thing: your own computer or office router might have cached the old record. That's the easiest thing to fix.
Step 1: Lower the TTL before making changes (if you can)
This is the real fix, but you have to do it ahead of time. If you already made the change and it's stuck, skip to Step 2.
- Log into your DNS provider's control panel.
- Find the record you want to change (usually the A record or CNAME).
- Look for the TTL field. It's often set to 14400 (4 hours) or 86400 (24 hours).
- Change it to 300 (5 minutes). Save.
- Wait 5 minutes (or the old TTL time), then make your actual DNS change.
- After the change propagates, you can set TTL back to a normal value like 3600 (1 hour).
After clicking Save, you should see the TTL updated immediately on the provider's side. But the old TTL still applies to cached copies until they expire.
Step 2: Flush your local DNS cache
This clears the temporary DNS records stored on your computer. Do this first.
On Windows (10, 11, Server 2016+)
- Open Command Prompt as administrator. Press the Windows key, type cmd, right-click "Command Prompt", and select "Run as administrator".
- Type this command and press Enter:
ipconfig /flushdns
You should see: "Successfully flushed the DNS Resolver Cache."
On macOS (Monterey and later)
- Open Terminal (Finder > Applications > Utilities > Terminal).
- Type this command and press Enter:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
You'll be asked for your password. Type it (nothing shows on screen, that's normal). Press Enter. No success message appears — that's okay. The cache is flushed.
On Linux (Ubuntu, Debian, CentOS)
- Open Terminal.
- If you use systemd-resolved (most modern distros), run:
sudo systemd-resolve --flush-caches
No output means it worked. If that command isn't found, try:
sudo resolvectl flush-caches
Step 3: Check if the DNS change actually propagated
Don't guess. Use a global DNS propagation checker tool. These query DNS servers around the world and show you what they see.
- Go to whatsmydns.net or dnschecker.org.
- Type your domain name (example: mydomain.com).
- Select the record type you changed (A, CNAME, MX, etc.).
- Click Search or Check.
After a few seconds, you'll see a list of locations and the IP address or value each one reports. If most show the new value but a few still show the old one, that's normal — those servers haven't refreshed their cache yet. If all still show the old value, your change didn't save correctly, or you edited the wrong zone.
Wait, I should be specific here. If you changed an A record to point to 192.0.2.1, but the checker shows the old IP 198.51.100.1 everywhere, then your DNS provider still has the old record. Go back and double-check your change saved. Sometimes providers have a separate "Apply" or "Publish" button after you edit a record. If you don't click it, nothing changes.
Step 4: Verify you changed the right DNS zone
This trips up a lot of people. Look at your domain's nameservers. Go to your registrar's control panel (where you bought the domain). Find the section called "Nameservers" or "DNS Management".
If the nameservers say something like ns1.cloudflare.com or dns1.name-services.com, then your DNS is not managed at the registrar. It's managed at that provider (Cloudflare, in this example). You must log into that provider's dashboard and make the change there.
If the nameservers say something like ns1.godaddy.com, then GoDaddy is both registrar and DNS host. You can change the records in GoDaddy's DNS manager.
Step 5: Wait (the boring but real fix)
If you did everything above — lowered TTL before the change, flushed your cache, checked propagation — and it's still not working after 4 hours, then something else is wrong. But if you had a high TTL before the change, you might just need to wait. For a 24-hour TTL, it can take a full day for all old caches to clear.
I know that's frustrating. But DNS is designed to be slow on purpose — it keeps the internet stable. You can't speed it up after the fact.
What if it still fails?
Check these three things:
- Did you type the record correctly? A common mistake: you meant to type
192.0.2.1but typed192.0.2.10. One typo breaks everything. - Is your new server actually running? Pointing DNS to a server that's down won't help. Try pinging the new IP directly: open a command prompt and type
ping 192.0.2.1. If you get no reply, the server isn't reachable. - Is there a firewall blocking the new server? Your old server might have been on a different network. The new one could have a firewall that blocks HTTP/HTTPS traffic. Check the server's firewall rules.
If none of that works, contact your DNS provider's support. Tell them: "I changed my A record 6 hours ago, TTL was set to 300, I flushed my cache, and the global checker still shows the old IP." They'll check their zone files directly. Sometimes providers have a bug or a sync delay.
One last thing: don't use your phone's browser to test. Phones cache DNS aggressively, sometimes for days. Use a computer with a fresh browser window in incognito/private mode. That bypasses browser cache but not OS cache, so flush your OS cache first.
Was this solution helpful?