Domain Name to Live DNS in Twenty Minutes
Registrar tradeoffs, why to route DNS through Cloudflare, the DNSSEC gotcha that takes domains offline, and the orange-vs-grey cloud rule for GitHub Pages.
Every solo builder keeps a graveyard of half-launched projects, and a surprising number of them died in exactly the same spot: the wait for DNS to "propagate." You bought the domain, pointed it somewhere, and then nothing happened. The browser spun. You refreshed for two days. By the time it finally resolved, the momentum that made you buy the domain in the first place was gone.
Here's what nobody tells you up front: that 48 hours is a worst case, not a norm. With the right registrar and Cloudflare sitting in front of your DNS, you can go from an empty cart to a live, HTTPS-secured domain in about twenty minutes of real work. The rest is waiting for the internet to catch up — and even that is usually done inside an hour. The catch is two specific gotchas that turn the twenty-minute job into the two-day one. Here's the whole path, both traps flagged.
What you're actually buying
A domain is your address on the internet — yourthing.com — and registering it means paying a registrar for the right to use that address, usually $10-15 a year. That part is simple. The part that quietly eats people is DNS.
DNS is the system that translates a human-readable domain into the numeric IP address of the server actually holding your site. "Taking over DNS" — the move at the center of this whole workflow — means handing that translation job to Cloudflare instead of leaving it with your registrar. Cloudflare does it faster, gives you more control, and charges nothing for the tier you need. That single decision is what shrinks the timeline.
Pick a registrar (it matters less than you'd think)
Three good options, three different philosophies. None of them are wrong; they optimize for different things.
| Registrar | Optimizes for | First-year price | Renewal | Notes |
|---|---|---|---|---|
| Namecheap | Cheapest entry | .com often $5-8 | Rises to standard rate | Old, stable, aggressive intro discounts |
| Squarespace Domains | Cleanest UX | Standard pricing | Standard, predictable | The former Google Domains — no upsell games |
| Cloudflare Registrar | Long-term cost | Rarely discounted | Sold at cost, never marked up | Registrar and DNS in one place |
The rule of thumb: want the cheapest first year, go Namecheap. Want to set it and never think about the renewal bill again, go Cloudflare Registrar — its price never jumps. Don't want to make a decision at all, go Squarespace Domains. Whatever you pick, the purchase comes with WHOIS privacy protection, a free auto-renewing SSL certificate, DNS management, and up to 100 email-forwarding addresses. You do not need to buy any of those as add-ons.
Why route through Cloudflare even if you bought elsewhere
Buying from Namecheap or Squarespace doesn't mean their DNS is where your records should live. Point the domain's nameservers at Cloudflare regardless. The payoff is concrete: faster resolution worldwide, a free CDN in front of your site, DDoS protection you never configure, and cheap R2 object storage available later if you need it. Configure it once and every future DNS change — a new subdomain, a mail record, a verification TXT — happens in one console instead of scattered across your registrar's clunky panel.
The setup is four steps:
- Add your domain to Cloudflare and choose the Free plan.
- Confirm the DNS records Cloudflare auto-imports (your A records, CNAMEs, and MX mail records). If it missed one — mail records are the usual casualty — add it by hand now, before you flip nameservers.
- Cloudflare hands you two dedicated nameservers, something like
aria.ns.cloudflare.comandblake.ns.cloudflare.com. - Paste those two into your registrar's nameserver settings, replacing whatever was there.
That's the whole handoff. But do not do step 4 yet — there's a trap in front of it.
The DNSSEC gotcha (this is the one that costs you two days)
Turn DNSSEC off at your registrar before you change nameservers. Skip this and the domain goes completely dark.
DNSSEC cryptographically signs your DNS records so resolvers can trust they weren't tampered with. That's good — until you move providers. If DNSSEC is still active at your registrar when you switch to Cloudflare's nameservers, the old signatures no longer match the new provider's records, and resolvers do the safe thing: they reject the entire zone. Your domain doesn't resolve at all — not slowly, not intermittently, but nowhere.
The fix is trivial once you know it: disable DNSSEC at the registrar first, then change the nameservers, then optionally re-enable DNSSEC through Cloudflare afterward. Order is everything. This one setting is responsible for a large share of "I followed every step and my site still won't load" nightmares, and it's invisible unless you go looking for it.
Watching it go live
Once the nameservers are pointed correctly, propagation typically takes one to four hours, with 48 as the theoretical ceiling you'll rarely hit. Instead of refreshing your own site and guessing, use whatsmydns.net to watch the change roll out across resolvers worldwide in real time — green checkmarks lighting up city by city. It turns an anxious blind wait into something you can actually see finishing.
Orange cloud vs grey cloud — the toggle everyone gets wrong
When you add or edit a DNS record in Cloudflare, each record shows a little cloud icon, and this is the single most confusing control in the whole product:
- Orange cloud (Proxied): traffic routes through Cloudflare. You get the CDN, DDoS protection, and your origin server's real IP stays hidden behind Cloudflare's.
- Grey cloud (DNS only): Cloudflare just answers the lookup and steps out of the way. Traffic goes straight to the target IP, no proxy, no CDN.
For a static site on GitHub Pages, the records are specific: the root domain (yourthing.com) needs four A records pointing at GitHub's addresses — 185.199.108.153, 185.199.109.153, 185.199.110.153, and 185.199.111.153 — and the www subdomain needs a CNAME to <username>.github.io. GitHub Pages runs fine behind the orange cloud once it's set up. The trap is during setup: GitHub's own domain-verification check can't see through the orange proxy — it sees a Cloudflare IP it doesn't recognize and hangs. So you flip the records to grey (DNS only), let GitHub's check go green, then flip back to orange for the CDN and protection.
That pattern generalizes into a rule worth memorizing: if a hosting platform issues its own SSL certificate, it needs to see your real DNS, so start grey and only go orange once the platform is happy. GitHub Pages, most static hosts, and anything doing an ACME challenge all behave this way. (The GitHub verification dance gets its own full walkthrough in Ship a Static Site With Nothing but Git Push.)
The twenty-minute path, in order
- Buy the domain (2 min) — Namecheap for price, Cloudflare for renewals, Squarespace to not think.
- Add it to Cloudflare on the Free plan and confirm the imported records (5 min).
- Disable DNSSEC at the registrar (1 min) — the step that saves the two days.
- Point the registrar's nameservers at Cloudflare's two (2 min).
- Add the four A records and the
wwwCNAME if you're on GitHub Pages, set to grey for now (3 min). - Watch propagation on
whatsmydns.net, let the host's verification pass, flip to orange (the wait, not the work).
None of these steps is hard. The reason domains eat weekends isn't difficulty — it's that two invisible settings, DNSSEC and the cloud toggle, fail silently and give you no error to search for. Get those two right and the twenty-minute claim is real. Your address is live, your traffic is protected, and you can get back to the actual reason you bought the domain: putting something at it. That something is next — a waitlist page or a landing site you can ship with a single git push.
Part of the Vibe-entrepreneurs series on the solo founder's infrastructure stack. Next: Ship a Static Site With Nothing but Git Push, then Build a Waitlist Page in 30 Minutes With Zero Servers and Deploy Global Infrastructure Free With Cloudflare Workers. More builder insights.