Are you seeing this when you try to reach your domain?

Did you recently change where your domain points to? Move your domain to a CMS (like WordPress or Joomla)?

You don’t need to be a DNS expert to fix it, but it helps to have some understanding of how the system works. We’re going to give you a quick overview of how issues with DNS propagation can result in messages like the one above, and how you can fix most of these issues in just a few steps.

What is DNS?

The Domain Name System converts human readable web addresses like “www.example.com” into a set of machine readable numbers called an IP address that looks like this: “255.255.255.255”, or like this:“3ffe:1900:4545:3:200:f8ff:fe21:67cf”. It’s similar to how, in the old days, people used to look up phone numbers for people by searching for their name in a phone book.

Here is where it starts to get complicated. Have you ever noticed that if you visit a website more than once, the second time around it will load almost instantaneously? That’s because your browser caches (like cash money) the web page and stores it on your computer. DNS also uses caches which hold onto data that’s already been fetched from other servers. This makes the process a lot faster, but also more complicated.

First, your browser has a DNS cache. When you enter the web address, the browser looks to see whether it already has the mapping from domain to IP in its cache. If your browser is unable to find the information in its cache, it looks toward your operating system which also keeps a cache of DNS information. So on a so forth, all the way to your Internet Service Provider’s DNS servers and beyond.

If your ISP’s server doesn’t have the data in its cache, it starts off another process which goes through the high-level DNS servers that could be authoritative for the domain.

Consider “social.dnsmadeeasy.com”; it can be broken down into a top-level domain (TLD), the “.com” part; a domain, the “dnsmadeeasy” part; and a subdomain, “social”. There’s also an invisible component known as the root domain — imagine an extra dot on the end with nothing after it.

root name server

We first look at the DNS server responsible for the “.com” top-level domain, and ask where it can find information about the “example” domain. The server with this knowledge is called the authoritative server for “example.com” and it will know the IP address.

Reason 1: Cache Out

You might be asking what all this has to do with the domain name of your new site not working: it’s because of the caches. Every domain name has an associated Time To Live (TTL) record that tells the DNS servers how long they should hold the information relating to the domain in their cache. After 4 hours (the typical amount of time most TTL’s are set to), the DNS server will “forget” the mapping of URL to IP. During the period when the information is cached, when it gets a request for a domain it will answer from its cache instead of asking the authoritative name server. The information it has could be up to 4 hours old, and if you’ve changed where the domain name points in the meantime, your browser will be sent to the wrong place.

Reason 2: TTL Rebels

I imagine that right now you’re thinking “Alright, 4 hours isn’t so long.” Unfortunately, sometimes the people running very busy DNS servers want to save them a bit of work, and so they will ignore a TTL if it’s shorter than 24 hours (occasionally 48 hours). So, in some rare cases, it will take up to 48 hours for your DNS records to propagate through the system and for your domain name to work properly for everyone.

While it can be frustrating to wait for your domain to work, the DNS is a complex system of recursive caching servers. You’ll need to be patient, but it should start working within 48 hours and probably less. If it doesn’t… there may be a problem with the configuration at your domain registrar.


Also published on Medium.