Your Ghost site starts life on a something.ghost.io address, which works fine for testing but isn't where you want to send people once you're actually publishing. Pointing your own domain at it is one of the most important early setup steps, and also one of the easiest to get slightly wrong if you don't understand what the DNS records you're adding actually do.
Here's the full picture: how custom domains work on Ghost, the difference between a subdomain and root domain setup, and specifically how to avoid the most common mistake, accidentally breaking your existing email in the process.
The Two Records You're Actually Dealing With
Almost every custom domain setup on Ghost(Pro) comes down to two types of DNS records, and understanding what each one does makes the rest of this much less confusing.
CNAME records point one domain name to another domain name. When you add a CNAME, you're telling the internet "this address is just an alias, the real destination is somewhere else." Ghost uses this to connect a subdomain (like www.yoursite.com or blog.yoursite.com) to your Ghost(Pro) publication's underlying address.
A records point a domain directly to an IP address, a specific numeric server location, rather than to another domain name. These come into play mainly for root domain setups, and Ghost(Pro) automatically uses an A record to redirect your bare root domain to whichever subdomain you've actually configured.
You'll typically add one or both of these inside your domain registrar's DNS settings, not inside Ghost itself, then come back to Ghost Admin to activate the connection once the records are in place.
Subdomain vs. Root Domain: Pick One Deliberately
Before touching any DNS settings, decide which structure you actually want, since they're configured differently and switching later means redoing the work.
A subdomain is anything in front of your main domain, www.yoursite.com or blog.yoursite.com, for example. This is the setup Ghost generally recommends for a quick, reliable configuration, since subdomains are universally supported through a standard CNAME record across essentially every domain registrar.
A root domain (sometimes called a "naked domain"), is your domain with nothing in front of it, just yoursite.com. This looks cleaner in some ways, but it comes with real caveats: root-level CNAME records aren't supported by every DNS provider, and root domain configurations can interfere with your existing email setup if you're not careful, since email-related DNS records (MX records, specifically) often live at the same root level you're now trying to repoint.
If your registrar doesn't support root-level CNAME configuration cleanly, or if you're worried about your email, routing your DNS through a service like Cloudflare gives you more flexibility and is a commonly recommended workaround.
Setting Up a Subdomain (The Simpler, Safer Path)
This is genuinely the easier route, and unless you have a strong reason to want a bare root domain, it's worth defaulting to.
- Log into your domain registrar's dashboard and find your DNS settings.
- Add a new CNAME record. The exact field names vary slightly by registrar, but you're generally entering a "host" or "name" (your chosen subdomain, like
wwworblog) and a "value" or "target" (the CNAME address Ghost provides you, ending in.ghost.io). - Save the record, then log into your Ghost Admin area and head to the Ghost(Pro) Domain settings section.
- Click Setup, enter your custom domain into the field provided, and click Activate.
- Ghost automatically provisions an SSL certificate for your new domain, renewed automatically each year going forward, so you don't need to think about certificates again afterward.
For the root domain (the bare yoursite.com without www in front), Ghost(Pro) typically configures an A record automatically as part of this process, which redirects anyone typing the bare domain into the subdomain you've actually set up. You usually don't need to do anything extra for this part; it's handled as part of the standard subdomain flow.
Setting Up a Root Domain (More Caveats, But Doable)
If you specifically want your site at the bare root domain rather than a subdomain, the process is similar but requires a bit more care:
- Check whether your registrar supports root-level CNAME records at all (sometimes called "CNAME flattening" or "ALIAS records," depending on the provider). Not all do.
- If it doesn't, consider routing your domain through Cloudflare's free DNS tier first, which handles this more flexibly than many traditional registrars.
- Add the records Ghost provides, generally an A record pointing the root (
@) to Ghost's IP address, and a CNAME forwwwpointing to your Ghost subdomain, so both versions of your domain resolve correctly. - Activate the domain in Ghost Admin the same way as the subdomain process.
A specific warning Ghost gives directly: punycode and special characters aren't supported in custom domains, and .eth domains aren't supported on Ghost(Pro) either, worth knowing before you assume any domain you own will work without issue.
The Mistake That Breaks Email: Touching the Wrong Records
This is the single most common way people accidentally cause themselves a bad afternoon. Your domain's DNS settings often host more than just website-related records, your email almost certainly relies on MX records (and possibly SPF/DKIM records, if you've set those up for sending), sitting in the same DNS control panel you're now editing for Ghost.
The safest practice is straightforward: only add the specific records Ghost instructs you to add, don't delete or modify anything else already present, and double-check your existing MX records are still intact after you're done, especially if you're configuring a root domain setup, where the risk of overlap is highest. If you're at all unsure, take a screenshot or export of your current DNS records before making any changes, so you have something to revert to if anything goes sideways.
Updating Your Site URL Inside Ghost
Adding DNS records gets your domain pointing in the right direction, but you also need Ghost itself to know its new address. In Ghost Admin, under Settings → General, there's a Site URL field. This should be updated to your full custom domain, including the https:// protocol, replacing the default .ghost.io address. Save the change, and Ghost will use this URL going forward for canonical links, sitemap references, and anywhere else the site's address gets referenced internally.
Verifying Everything Actually Worked
Once you've added your records and activated the domain, a few checks confirm everything's genuinely working rather than just appearing to:
- Visit your custom domain directly in a browser and confirm it loads your Ghost site, not an error page or a parked domain placeholder.
- Check that HTTPS is working correctly (a padlock icon, no certificate warnings), confirming Ghost's automatic SSL provisioning went through properly.
- Try both the
wwwand bare root versions of your domain (if you've configured both) and confirm they both land you on the correct site rather than one of them dead-ending. - If anything looks off immediately after setup, give it time before troubleshooting further. DNS changes don't propagate instantly across the entire internet; depending on your registrar and existing settings, this can take anywhere from a few minutes to up to roughly 48 hours in less common cases.
If You're Self-Hosting Instead
The DNS side of things, CNAME or A records pointing at your server, works conceptually the same way whether you're on Ghost(Pro) or self-hosting. The difference is that with self-hosting, you're pointing your domain at your own server's IP address directly (a straightforward A record), and you're responsible for setting up SSL yourself, typically handled automatically during installation through Ghost-CLI's use of Let's Encrypt, rather than Ghost provisioning a certificate for you the way Ghost(Pro) does.
A Small Setup Step With Outsized Importance
Getting your custom domain configured correctly is one of those tasks that takes maybe twenty minutes of actual work but matters disproportionately to how your publication is perceived from day one. A something.ghost.io address reads as unfinished, no matter how good the content behind it is. Taking the time to do this properly, and being careful not to disturb your existing email records in the process, is a small, one-time investment that pays off every single time someone shares a link to your site afterward.