DNS guide

DNS Propagation vs TTL: What Actually Changes

If half your visitors see the new server and the other half still hit the old one, TTL is usually the first thing to check.

The situation most people run into

You move a site from one host to another, update the A record, refresh the browser, and everything looks fine from your laptop. Then a client says the site is still loading the old version from their office. That does not always mean the DNS change failed. Very often, their resolver is simply still holding the previous answer.

DNS is not broadcast like a text message. Resolvers ask authoritative nameservers for an answer, cache it, and reuse it until the TTL says it is time to check again. That one detail explains most of what people call propagation.

TTL in plain English

TTL is the suggested cache lifetime for a DNS answer. A TTL of 3600 means a resolver can keep the answer for about an hour. A TTL of 300 means about five minutes. It is not a perfect countdown for every network, but it is the number you plan around.

The mistake I see most often is lowering TTL after the move has already started. That helps future answers, but it does not erase old answers that resolvers already cached. If the old TTL was 24 hours, some networks may continue using the old value until that older cache expires.

A safer migration rhythm

  1. Lower TTL one day before a serious hosting or CDN move if the current TTL is long.
  2. Prepare the new server first, including SSL, redirects, and the www/root hostname behavior.
  3. Change the record only after the new destination is ready to receive real visitors.
  4. Keep the old server online during the cache window. This is boring, but it prevents ugly outages.
  5. Compare results from a few networks before deciding something is broken.

When it is not just cache

If fresh lookups disagree, check the authoritative nameservers. Sometimes a domain still has old NS records at the registrar, or two DNS providers are answering for the same zone with different values. That creates a mess that looks like propagation but is really configuration drift.

Quick checks before you panic

Use DNS Lookup for the hostname and compare A, AAAA, CNAME, and NS records. Then use NS Record Lookup to confirm which nameservers are supposed to be authoritative. If the old host still receives traffic, keep it alive until the longest old TTL window has passed.