CNAME Records Explained: Connect a Subdomain the Right Way
You're trying to connect a subdomain — blog.yourdomain.com, help.yourdomain.com, track.yourdomain.com — to some third-party platform, and the platform's setup screen just says "add a CNAME record" and leaves you to figure out the rest. If you've only ever dealt with A records, this trips people up more than it should. Here's what a CNAME actually does, when to reach for one, and the mistakes that cause "still not working" support tickets.
What a CNAME Record Actually Does
An A record maps a hostname straight to an IP address. A CNAME record does something different: it maps a hostname to another hostname, and tells DNS resolvers to keep following that chain until they hit something with an actual IP address at the end.
Type: CNAME
Host: blog
Value: getwebup-blog.hosted-platform.com
TTL: 3600
When someone visits blog.yourdomain.com, their browser asks DNS "where does this point?", gets back getwebup-blog.hosted-platform.com, then resolves that hostname to find the real IP. You never need to know or update the platform's IP address yourself — if they change servers, your CNAME still works because it's pointing at a name, not a number.
When You Actually Need a CNAME
Most of the time you won't touch CNAMEs for your main site — that's an A record or nameservers, and we cover that in our nameservers-vs-A-record guide. CNAMEs come up specifically when a subdomain needs to live on infrastructure you don't control:
- Help desk / support platforms — Zendesk, Freshdesk, and similar tools ask you to CNAME
help.yourdomain.comorsupport.yourdomain.comto their hosted domain. - Blog or landing page builders — platforms like Ghost(Pro), Webflow, or a hosted blog service want
blog.yourdomain.compointed at their servers via CNAME. - Email marketing tracking domains — Mailchimp, SendGrid, and similar tools ask for a CNAME (sometimes two or three) so click-tracking and open-tracking links show your domain instead of theirs.
- CDN endpoints — Cloudflare, BunnyCDN, and others hand you a CNAME target instead of an IP, because their edge IPs change constantly.
- Domain verification for third-party tools — Google Workspace, Microsoft 365, and various SaaS onboarding flows sometimes verify ownership via a CNAME rather than a TXT record.
Adding a CNAME in cPanel's Zone Editor
- Log in to cPanel and open Zone Editor under the Domains section.
- Find your domain and click Manage.
- Click Add Record and choose CNAME Record from the type dropdown.
- In the Name field, enter just the subdomain part —
help, nothelp.yourdomain.com. cPanel appends the domain automatically. - In the Record (or Value/Points To) field, paste exactly what the third-party platform gave you, including the trailing dot if cPanel's format expects one — e.g.
getwebup-blog.hosted-platform.com. - Leave TTL at the default (usually 14400 seconds / 4 hours) unless you're about to change it again soon, in which case drop it to 300 for faster propagation.
- Click Save Record.
If your domain's nameservers point somewhere other than Getwebup (Cloudflare, GoDaddy DNS, etc.), you'll add this same record in that provider's DNS panel instead — the Zone Editor in cPanel only controls zones we're authoritative for.
The Errors People Actually Hit
"A CNAME record cannot coexist with other data"
This is the most common one. A hostname can have a CNAME record, or it can have other records (A, MX, TXT) — never both. If you already have an A record or an MX record on that exact subdomain, cPanel will refuse to save the CNAME until you delete the conflicting record first. This trips people up on www especially, since a lot of setups already have www as an A record.
Trying to CNAME the root domain
You cannot put a CNAME on your bare domain — yourdomain.com with no prefix, sometimes written as @. The DNS spec forbids it because the root also needs to carry other record types (like MX for email), and a CNAME can't share space with anything else. If a platform tells you to CNAME your root domain, ask them for an ALIAS/ANAME-style option instead, or use an A record pointed at an IP they provide.
It's saved but still not resolving
Give it time before assuming it's broken. TTL controls how long resolvers cache the old answer — if the subdomain is brand new, propagation is usually fast (minutes), but if you're changing an existing CNAME, the old TTL still applies until it expires. Check the actual state with:
dig blog.yourdomain.com CNAME +short
If that returns nothing, the record either isn't saved correctly or hasn't propagated to the resolver you're querying. Try a public resolver directly to rule out local caching:
dig @8.8.8.8 blog.yourdomain.com CNAME +short
SSL warning on the new subdomain
A CNAME only handles where traffic gets routed — it doesn't automatically issue a certificate. If the third-party platform is serving the content, they usually issue the SSL cert for your subdomain automatically once the CNAME resolves (Zendesk, Webflow, and most SaaS platforms do this within a few minutes of detecting the correct CNAME). If instead the subdomain is still being served from your own cPanel hosting, you'll need AutoSSL to pick it up — it won't issue a cert for a domain it can't validate, so make sure the CNAME (or a temporary A record) is live and resolving before you trigger a manual AutoSSL run.
CNAME vs A Record vs ALIAS — Quick Reference
| Record type | Points to | Use on root domain? | Typical use |
|---|---|---|---|
| A | IPv4 address | Yes | Pointing a domain/subdomain directly at a server |
| CNAME | Another hostname | No | Subdomain pointed at a third-party platform |
| ALIAS / ANAME | Another hostname, resolved at the root | Yes (where supported) | Root domain pointed at a platform that only gives a hostname |
Preventing the Next Support Ticket
- Before adding a CNAME, check whether that exact hostname already has an A, AAAA, or MX record — delete it first if it does.
- Copy-paste the target value from the platform's docs rather than retyping it. A missing character in the target hostname is the single most common cause of "it's added but not working."
- Lower the TTL to 300 a day before you plan to make the change, then raise it back afterward — this makes any mistake cheap to fix instead of stuck for hours.
- Keep a note of every CNAME you've added and why. Six months later, an unexplained CNAME to a platform you've since cancelled is exactly the kind of loose end that causes a mysterious outage when someone "cleans up" DNS.
Frequently asked questions
Can I use a CNAME record for my main domain (yourdomain.com)?
No. DNS rules don't allow a CNAME on the root/apex domain because it can't coexist with other required records like MX. Use an A record, or an ALIAS/ANAME record if your DNS provider supports one and the target platform only gives you a hostname.
Why does cPanel say 'a CNAME record cannot coexist with other data'?
That subdomain already has another record type — usually an A record or MX record — sitting on the exact same hostname. Delete the conflicting record in Zone Editor first, then add the CNAME.
How long does a new CNAME take to work?
For a brand-new subdomain with no prior record, it's often minutes. If you're replacing an existing record, the old TTL value controls how long resolvers keep serving the cached answer, so it can take up to the TTL duration (commonly up to 4-24 hours) to fully clear everywhere.
Do I need to point a CNAME to an IP address?
No — that's the whole point of a CNAME. You point it at a hostname the third-party platform gives you (like ghs.googlehosted.com or a platform-specific domain), and DNS resolves that hostname to whatever IP it currently uses, even if that IP changes later.
Will adding a CNAME break my existing website or email?
Only if you add it on a hostname that's already in use for something else, or if you accidentally target the wrong record. A CNAME on a new subdomain like help. or blog. has no effect on your root domain, your existing A records, or your MX/email records.