We are in the process of moving domain hosting to cloudflare. The zone record for this specific domain is currently hosted at Siteground. The websites the A records point to are hosted on Azure, so there is no hosting on Siteground apart from the DNS records. The Azure website is a live site that cannot tolerate downtime, however Siteground doesn’t allow zone transfers. I have read in many forums that the first step would be to lower the TTL values for the records, so they are queried more often. I find this somewhat counterintuitive. I understand this would be benefitial if I want the records to point somewhere else, but I want the records to point exactly where they go now, just the zone needs to be transferred. Would it not make more sense to set the records to the longest TTL, then migrate the zone while no DNS requests are being made to the authoritative server? Can one of the experts help and tell me what the best way is of doing this? Namecheap is the registrar, and they allow multiple name servers.
What steps have you taken to resolve the issue?
I have migrated a couple of less important sites before, setting the TTL to 5 minutes, then adding the cloudflare servers in Namecheap, then waiting a couple of days, then removing the Siteground nameservers. The cloudflare servers seem to propagate to several DNS providers, but not all. It seems to have worked well, but with the site I am about to migrate we cannot have any downtime.
Lower TTL would be better, since as soon as you start proxying your site, you want DNS to resolve to the proxy server.
As far as the transition, it’s transparent, as long as you have all your DNS records duplicated over here. You can Export/Import the records for an easy setup:
And make sure DNSSEC is disabled for your domain.
Once DNS is set up here, change the name servers, and as NS TTL gradually times out for the old name servers, Cloudflare’s name servers will start returning the records.
Just make sure your DNS records here are DNS Only, so you can have a controlled transition to proxying records once you’re sure DNS is solid.
Thanks for your quick response. Adding the DNS records to cloudflare is not the tricky part. Most records are being picked up automatically, and the rest is easily added. I have done this several times now and it worked each time (Siteground doesn’t allow zone records to be exported). My issue is that as soon as the nameservers are changed in namecheap, Siteground will instantly stop serving any requests for the zone. I have already asked their tech support if they would keep serving the records for a certain time, but they are unwilling to help (I understand perfectly why, they don’t want to be responsible for someone else creating DNS ■■■■). If I understand correctly, this will result in an outage if the nameservers have not yet completely propagated, and there is no way in Siteground to set the TTL of the nameservers. In the past I have relied on the cloudflare servers propagating despite cloudflare not being the authoritative server yet, but that doesn’t seem to be an “official” way.
What am I missing here?