Anthony Chambers

Engineer 81

Domain Name Propagation

What is DNS propagation and how does it affect your website?

Written by Anthony Chambers , and read3,294 times

Most websites have a domain name, such as (in my case) anthonychambers.co.uk. These are converted in to an Internet Protocol (IP) address that is used to send your requests to the right server (think of it like a phone number to call your server). But what if you need to change your server? What if you need to point your domain name at a new host? Well that's usually as simple as editing your Domain Name System (DNS) record with the company managing it for you (often the company you register your domain with, sometimes the company who host your site, occasionally a third party) and changing the IP address. Done.

Only that's not it. Once you make the change on your nameserver you have effectively updated the phone book. But until everyone checks your phone book entry they will continue to look at the old IP address.

DNS records have another value attributed to them: Time To Live (TTL). This is effectively how long it is OK to keep an old copy of the record before checking in to see if it is changed. It is common for 24, 48 and even 72 hour TTL values and often you can't change them (depends on your service provider).

So, what does that mean? Basically, if I check your website at 12pm and you change the DNS record at 12:05, and the TTL is 24 hours, I will continue to see your old website until 12pm the following day. Basically, as far as my computer is concerned, the record that it obtained is valid for at least 24 hours, so it won't bother checking again until that time has passed.

There is a common misconception that DNS updates actually propagate. That is, many believe that they magically swarm out across the interwebs over the space of two or three days and until this magic completes you may or may not see the latest version of the website. This is nonsense. If you have never visited my site, ever (or at least not for a long time) and I change my DNS records at the nameserver, then the next time you visit my site you will get the latest DNS record and you will immediately go to the new server. It's that simple. All DNS records have a lifetime and as long as you have a live record then your computer will not attempt to obtain a new one, and you'll just keep looking at the old site. As soon as yours expires then you'll go to the new one.

If you want to check the TTL on your domain, I like MXToolbox. If you enter my domain name you will see that it's currently set to 4 hours. So if I change my DNS record then the longest you will be likely to see the old server would be 4 hours, but that depends on when you last visited. If it was over four hours ago then you'll go straight to the new server. Got it? :)