Understanding TTL Before Updating DNS Records

Many new website owners make the mistake of not understanding TTL before updating their DNS records when moving to a new host.

This can cause websites to be “down” for days and website owners losing business and pulling out their hair wondering where their site had gone.

What is Time To Live (TTL)?

Time To Live (TTL) is a value assigned to all DNS records.

The DNS records are the address book that points a machines IP address at a part of your domain name, for example, the DNS “A” record points to an IP address at your www website webserver.

DNS records sit on servers around the globe receiving requests for hostname lookups, e.g. wp-wingman.com and sending out the associated mapped IP address.

In this context, TTL, is the time that a DNS server keeps a cached copy of your DNS records before requesting an update from another DNS server.

What is TTL Used For?

Can you imagine what would happen if there was no cached copy of your DNS?

All of the DNS servers would constantly be asking each other for updates to millions of DNS records every second – it would swamp the machines and they would probably crash.

By holding DNS records as a cache for a period of time, the DNS servers can respond quickly to incoming requests for hostname IP mappings.

Of course DNS records can and do change, in this example, if you are moving your website from one webhost to another.

Then the IP address of the new web server where your website files now live will be different that the previous machine.

When moving web hosts you will have to change your domain’s DNS record, updaing the “A” record to point to the IP of the new server.

Where To Update TTL Records?

You will need to login to the company where you bought the domain name from to edit the DNS records.

This could be the same company as your website or a separate domain only company.

This example from Cloudflare shows how a DNS can be edited and records updated, including the TTL value.

Edit DNS records on Cloudflare

DNS Replication

As mentioned above, DNS servers check other DNS servers for changes and updates to records.

When you update your DNS records to point your website to a new web host, the webhosts DNS server has the new information.

It then will replicate this information to the other DNS servers around the globe using the TTL value stored in the DNS record.

Most DNS records have their TTL values ser to 3600 seconds which is 1 hour. Some have it set to 86,400 seconds which is one day.

High TTL Values

If you’re not changing your DNS records very much, in the case of mail MX records for example, it makes sense to keep the TTL value high.

This allows all the DNS servers to syncronise your records and cache them for a speedy response.

Low TTL Values

If you give low TTL values to all your DNS records, the servers will spend a lot of time replicating and checking this information.

This means that your website latency (the speed browsers wait from the server for a response) will increase.

Effectively slowing down your website for visitors, which is bad for them, frowned upon by Google and ultimately bad for your business.

Beware Of Default TTL Values

Without chaning the default TTL values of your DNS, the server will only replicate its changes within that TTL window.

Which means that if your DNS A record (pointing to the new web server) has a TTL value of 1 day, when you make that change, you could be wating for up to a whole day for your new site to be accessible by everyone over the globe.

That’s a lot of lost business and revenue if you are launching a rebranded site.

Moving Your Website Quickly

The trick to moving your website quickly is to reduce the TTL value for the DNS records you have modified to point to the new web host as you make the DNS update, pending the move to your new web host.

By reducing the TTL value to say 15 minutes (900 seconds) when upading your DNS, the records will synchronise quickly with other DNS servers across the globe.

You can monitor the propagation status of your DNS records and when complete, go back into your updated DNS records and change the TTL back to the default value or a higher one such as 1 hour (3,200 seconds) or 1 day (86,400 seconds).

Posted in


Wil is a dad, consultant, developer, conference organiser, speaker and business mentor. He co-organizes the WordPress Sydney meetup group and has been on the organising committee for WordCamp Sydney since 2014. He speaks at many special events and contributes to the WordPress open source project. His likes are chillies, craft beer and electrogravitics.
Scroll to Top