Friday, 26 April 2019

1. What is DNS propagation?

When you update the nameservers for a domain, it may take up to 24-48 hours for the change to take effect. This period is called DNS propagation.

In other words, it is a period of time ISP (Internet service provider) nodes across the world take to update their caches with the new DNS information of your domain.

Due to DNS caches of different levels, after the nameservers change, some of your visitors might still be directed to your old server for some time, whereas others can see the website from the new server shortly after the change.

2. Why does it take up to 72 hours?

Let’s imagine you live in Bari, Italy, and you just have changed the nameservers for your domain that is hosted in Phoenix, USA.

When you open your domain in a web browser, your request is not going to the hosting server directly, it has to pass through several ISP nodes first. So your computer starts by checking local DNS cache, then the request is sent to your local Bari ISP. From there, the request goes to the upstream provider in Rome, Italy, then connects to the ISP in Hamburg, Germany. After that, the request is sent to the first receiving point in the USA – New York, NY and ultimately, to the ISP in Phoenix, AZ. Here is an example of the request trace – the number of ISP nodes and their location will vary in each particular case:

Each of the ISP nodes checks its own cache to see if it contains the DNS information of the domain. If it is not there, it looks it up and saves it in order to speed up the loading next time and to reduce the traffic.

That is why the new nameservers will not propagate immediately – ISPs have different cache refreshing intervals, so some of them will still have the old DNS information in the memory.

NOTE: to make sure it is not your computer cache that has the outdated information, we recommend clearing the cache of your browser and flushing the DNS cache after the DNS change.

3. What are the ways to pass DNS propagation?

There are three basic methods that will allow you to pass the DNS propagation.

If you HAVE NOT changed the nameservers and do not wish them to propagate for so long, there is a way to reduce the propagation time. You need to do two simple things:

1. Point your domain to the destination IP address by means of A record on the side of the current DNS provider, setting the minimal TTL ('Time to live' – propagation time) for this record, for instance, to 300 seconds (5 minutes).

2. Once A record has been updated, wait up to 30 minutes and change the nameservers for your domain.

As a result, your domain will be resolved to your previous host from the places where the propagation has not been completed yet and to a new one – from the places where it has already passed. In such a way, you may avoid a downtime as both hosts will show you the same result – your new website.

If you HAVE already changed the nameservers, Google public DNS tools may help you to see your website online. Here are the steps to be followed:

3. In addition, you can use Google Flush Cache tool and flush NS and A record for your domain name:

If you still get an outdated information on your website, you may edit the 'hosts' file on your computer, which will force the domain to resolve to the new IP address. Once the records are added, you will be able to check your website by typing its name in the browser. The major disadvantage of this method is that only you will be able to work on your website in the new location, other users might still see and use your website working from the old server.

NOTE: make sure to remove the entries added to 'hosts' file 48 hours later when the nameservers are fully propagated.

It is also possible to check your website content during the DNS propagation with the help of proxy services that will allow you to access websites anonymously.

4. How to check if DNS propagation has completed for you?

There is no definitive way to tell when propagation is complete for you as it depends on three factors: TTL, your ISP and geographical location. However, you may use online DNS checkers in order to track if the DNS record information propagated against multiple nameservers located in different parts of the world.

DNS Checker provides a free DNS lookup service for checking domain DNS records against a randomly selected list of DNS servers in different corners of the world. As a result, you will get DNS data collected from all locations confirming whether a website is completely propagated worldwide or not.

Here is the list of the most popular DNS checkers:

App Synthetic Monitor

G Suite Toolbox

There is another way to check if the DNS propagation is completed for you. You need to run one of the following commands from your PC, laptop or other device:

nslookup

traceroute

ping

What we need to know from the results is the IP address your domain is resolved to. If it's the IP address of the new server, probably, the DNS propagation is complete for you. If the IP address belongs to the old server, you need to wait for the DNS propagation to complete.

Below you can find the examples how to find this IP address.

If you are a Windows OS user, follow these steps:

1. Click on the Start button.

2. Click All Programs > Accessories > right-click on Command Prompt and choose Run as Administrator:

3. In the window that opens, type one of the following commands and hit Enter:

nslookup yourdomain.com

ping yourdomain.com

tracert yourdomain.com

NOTE: yourdomain.com should be replaced with your actual domain name in question.

If you are a Mac OS user:

1. Open the Applications folder and click to open the Utilities folder.