Subdomain Not Resolving on Cloudflare Fix It in the Right Order
You added the record, saved it, typed the address — and the browser says the site cannot be reached. Before you delete anything in frustration, walk this checklist in order. Almost every failure sits in the first three steps.
🎥 Watch the complete video guide on the Technical Anshu YouTube channel
The error usually looks like DNS_PROBE_FINISHED_NXDOMAIN or “server IP address could not be found” — the internet is saying no such name exists. Remember what “resolving” means: before any website loads, your device must translate the name into an IP address. If that translation fails, your server, your website and your SSL settings are all innocent bystanders — the fault is in the name layer, and it is one of five predictable things. The order below is deliberate: cheapest checks first, and each step rules out a whole family of causes.
Browser error, translated (example)
This site can't be reached
blog.example.com's server IP address could not be found.
DNS_PROBE_FINISHED_NXDOMAIN
Plain meaning: the name blog.example.com has NO working
DNS answer right now. The website itself was never contacted.
👆 NXDOMAIN is a DNS-layer verdict. Do not go debugging the website for a name problem
1
Step One — Read Your Own Record Like a Stranger
The champion cause of all subdomain failures:
Open Cloudflare DNS → Records and find your record. The Name column shows the full name — if you typed the whole address into the Name box, Cloudflare built blog.example.com.example.com. Delete it and create the record again with Name = blog only
Check the Content field character by character — one wrong digit in an IP address sends the name to a wrong or dead server, which looks identical to “not working”
Confirm the record type matches what you meant: a CNAME whose target hostname itself does not resolve will also fail
2
Step Two — Is the Domain Actually on Cloudflare Yet?
Look at the domain's status in Cloudflare. If it is not Active, none of your records are being served to the world, no matter how correctly you typed them
The fix is at your registrar, not in the records: your domain's nameservers must be exactly the two Cloudflare gave you. A registrar still pointing at old nameservers is the second most common cause of “nothing works”
After correcting nameservers, patience: delegation changes travel for a few hours, up to 24
3
Step Three — Propagation and Your Own Cache
Test the name against Cloudflare's resolver directly: nslookup blog.example.com 1.1.1.1 — if this returns an answer, global DNS is fine and the problem is local to you
Your device and your internet provider cache old answers for as long as the old record's TTL said. Test on your phone with Wi-Fi off (mobile data, a different network path) — if it works there, your home cache is simply stale and will heal itself
Be honest about timing: a brand-new record on an Active Cloudflare domain is usually live in minutes. “Wait 24 hours” is for nameserver moves, not for new subdomains — if a correct record on an Active domain still fails after an hour, go back to Step One and re-read it
4
Step Four — It Resolves, But Shows the Wrong Thing
A different failure family, often confused with this one:
Hosting provider's default page or someone else's site: the name resolves fine — the server does not know it should serve this subdomain. Add the subdomain on the hosting/server side (this is Side Two of the split-server setup)
Browser SSL warning: name is fine, certificate is not. If proxied, check SSL mode (Full, not Flexible loops) and remember free Universal SSL skips deeper-than-one-level names
Works for others, not for you: local cache, your router's DNS, or your ISP — the phone-on-mobile-data test separates these from real faults
🔴 Do not “fix” a resolving problem by deleting and recreating records in a panic loop. Every change restarts cached confusion somewhere. Verify with nslookup after each single change, and change one thing at a time.
🎥 Watch Records Being Added and Tested in the Video
The video creates subdomain records on a live account — if yours failed, compare each field against the screen, one by one.
I created the record an hour ago and it still shows NXDOMAIN. What is most likely wrong?
On an Active Cloudflare domain, a correct new record rarely takes an hour. The most likely causes are the double-name mistake (blog.example.com.example.com from typing the full address as the Name) or nameservers at your registrar not yet pointing to Cloudflare. Check those two first.
nslookup works but my browser still fails. Why?
Your browser, operating system or router is holding a cached “does not exist” answer from before the record existed. Test in a private window and on your phone using mobile data. If both work, the remaining caches will expire on their own — no further fix exists or is needed.
The subdomain resolves to Cloudflare IPs, not my server IP. Is that a fault?
No — that is exactly what the Proxied (orange) setting is supposed to show. The public answer is Cloudflare's address on purpose, hiding your server. It only indicates a problem if you expected DNS only (grey).
This guide is based on the Technical Anshu Cloudflare subdomain tutorial video • Stuck on a step? Ask in the video comments — you will get a reply 🙏