← All guides
MIGRATION · PARTIAL_PROPAGATION
Just Migrated Hosts or DNS? Here's Why It's Flaky
$ dig example.com +short # from location A
203.0.113.10
$ dig example.com +short # from location B
198.51.100.24
Right after moving a domain to a new host or DNS provider, it's common for a site to work for some visitors and not others, or to show old content in some places and new content elsewhere. This is almost always propagation, not a broken migration.
Why this happens
DNS records are cached at multiple layers: your own device, your ISP's resolver, and resolvers around the world. When a record changes, each of those caches keeps serving the old answer until its TTL (time-to-live) expires. Until every cache has refreshed, different visitors can be routed to the old server and the new one simultaneously.
What to check after a migration
- A and CNAME records point to the new host. Confirm in your DNS provider's dashboard that every relevant record was actually updated, not just the ones you remembered.
- The old host is still live during the transition. Don't shut down or cancel the old hosting until you've confirmed propagation is complete everywhere — visitors still hitting cached old records need somewhere to land.
- SSL certificates are set up on the new host. A certificate that worked on the old provider doesn't automatically carry over; the new host needs its own valid certificate for the domain.
- Any CDN or proxy layer is also updated to point at the new origin, if you use one in front of your hosting.
How to speed things along
- Lower the TTL on your DNS records a day or two before a planned migration, so the cutover propagates faster once you make the change.
- Use a propagation checker to see the record's value across multiple regions at once, rather than only testing from your own device.
- Clear your local DNS cache if you're testing from the same machine repeatedly and suspect you're seeing a stale local result.
- Give it time. Full global propagation can take anywhere from minutes to about 48 hours depending on the previous TTL and resolver caching behavior, even when every record is configured correctly.
Quick checklist
- Confirm every relevant DNS record was updated, not just some
- Keep the old host running until propagation is fully complete
- Set up SSL on the new host separately — it doesn't transfer
- Use a propagation checker instead of testing from one device only