DNS propagation
DNS propagation is the wait after a DNS record changes, while resolvers around the world still hold the old answer in their caches. Nothing is sent out. Each cached copy lasts until its TTL runs out, so the TTL decides how long the wait is.
- By
- WP Ministry
- Published
In short
- Nothing spreads. Resolvers keep the old answer until its TTL runs out, then ask again and get the new one.
- The wait is set by the TTL the record had before the change, so lower the TTL well ahead of a move.
- During the wait some visitors reach the old server and some the new one. Keep the old one running.
DNS propagation is the wait after you change a DNS record, such as the one that points your domain at a server. During it, some visitors still get the old answer. The word suggests the change travels outward. It does not. Nothing is sent anywhere.
DNS is the system that maps a domain name to a server's IP address. Your domain's own nameservers hold the record. Visitors do not ask those servers. They ask a resolver, usually their internet provider's, and the resolver keeps a copy of each answer it fetches.
Every record carries a TTL, "time to live": the number of seconds a resolver may keep its copy before discarding it. A resolver that fetched your record just before the change goes on giving the old answer until that time is up. Then it asks again and gets the new one. Each resolver fetched its copy at a different moment, so visitors switch over one resolver at a time. The wait ends when the last of those copies expires, which should be no more than one full TTL after the change.
Where you meet it
WordPress has no screen for this. The records live where your domain's DNS is managed, which may be the registrar, the host or a separate DNS service. Each record there has a TTL field.
You meet the wait itself at the last step of moving to a new host, when you move to a new domain, and when you add a subdomain. Any fixed number of hours you are quoted for it is a rule of thumb. The record's TTL is what sets it.
What goes wrong
The TTL is lowered too late. Resolvers already hold the record with its old TTL. The DNS specification says to reduce the TTL before an expected change and raise it again afterward. Google's advice for a hosting move is to lower it to a few hours, at least a week ahead.
Two servers answer for a while. An order or an edit that lands on the old server after the copy was made is not on the new one. Keep the old server running until its traffic stops.
The site times out for some visitors only. Their resolvers still give out an address where nothing answers. See how to fix ERR_CONNECTION_TIMED_OUT.
"No such name" is cached too. Look up a new subdomain before its record exists and resolvers keep that miss as well, for a time set in the zone's SOA record. Create the record first, then try it.
The nameservers themselves change. The record that names them is kept in the parent zone, at the registry, with a TTL you do not set.
Nobody can log in to the DNS. How to take over a WordPress site starts with the domain.
How to look at yours
dig example.com A +noall +answerThe lines that do not begin with a semicolon are the answer:
example.com. 280 IN A 172.66.147.243
example.com. 280 IN A 104.20.23.154The second column is the TTL: the seconds left before this resolver discards its copy. Run the command again and the number is lower. At zero the resolver asks again. To skip the cache, put @ and the name of one of your domain's nameservers after dig: that answer always shows the full TTL.
Common questions
How long does DNS propagation take?
For a resolver that follows the specification, no longer than the TTL the record had before you changed it. With a TTL of 300 that is five minutes. With 86400 it is a day.
Why do I see the new site when my customer still sees the old one?
You are using different resolvers. Yours has fetched the new record, and theirs is still inside the TTL of the old one.

