How I Finally Linked My Custom Domain to Ghost (and What to Watch Out For)

How I Finally Linked My Custom Domain to Ghost (and What to Watch Out For)

Listen, I consider myself to be pretty knowledgable when it comes to various things website-ish. Yes, that's now a technical term I just made up. And yet, this week I was about to pull my hair out trying to get my custom domain linked to my Ghost account (which is where you're reading this right now).

I'm the type of person who will do everything I can to not bother someone else with "easy" stuff. This means I will exhaust everything I can think of searching on Google, and spend at least an hour staring at the cPanel before I reach out for help. I'm hoping you won't have to do this, and I really hope you don't wind up wasting two chat sessions only to figure out the solution on your own because of one thing they said in chat, only to then have them argue when you asked if what you were thinking was the solution.

Spoiler alert: it was the solution.

Before I get into the fix...

I remembered this right before posting, and some people might get caught up here as well. Unfortunately, as of this posting, Ghost doesn't make it easy to find where to set up the Custom Domain. One might think it would be under Settings. One would be wrong. Every time they went to Settings to change a setting. Because duh, that makes sense.

Unfortunately, sometimes things don't make sense and this is one of those. If you can't figure out where to set up your custom domain on Ghost, here's what you'll do...

  1. Scroll down on the left-side menu on your Dashboard and click where it says GhostPro.
  2. At the top of the page it takes you to, click on Domains. Now, you're in and can keep reading for the fun I wound up having.

How it's supposed to go...

The directions seemed pretty straight forward (for me, at least, but I'll explain how to do this below in case it feels like Greek to you). Go to where I registered my domain, add a couple of records and we'd be on our way!

Adding a CNAME record

Obviously, you can scroll down if you know how to do this, otherwise, here's what you'll do...

  1. Log In to Your Domain Registrar Account: Access the platform where you registered your domain (e.g., GoDaddy, Namecheap).
  2. Navigate to DNS Management: Locate the DNS settings or Zone Editor for your domain.
  3. Select the Domain: If you manage multiple domains, choose the one you want to modify.
  4. Add a New CNAME Record:
    • Look for an option to add a new record (e.g., "Add Record" or "+").
    • Select CNAME as the record type.
  5. Enter the Details:
    • Host/Name: If you're trying to connect your main domain (not a subdomain) you can simply type @ in this box to populate your domain.
    • Value/Target: Enter the destination domain (for this example, this would be the whatever.ghost.io address).
  6. Save the Record: Click "Save" or "Add Record" to finalize the changes.
  7. Wait for Propagation: Allow up to 24-48 hours for the changes to take effect globally. This is the hardest part because we don't like it when things are out of our control.

Adding an A record

Adding the A record is the same until you get to where you're adding the record. For this one, you'll choose A for the record type. If you're adding this for the root domain, you'll again type @ in this box.

For the Value, you will enter the IP address in the screenshot above. And then you wait.

Once you've done all of this, you should be able to click the Verify Custom Domain button in Ghost and be on your way.

If only that's the way it went for me...

The problem I ran into was I previously had Custom Nameservers set up for my domain because I was using it on another platform. Because of this, Ghost was going to my previous platform looking for those records and it kept returning a "No CNAME found" error, which was frustrating because I could see the danged records!

The solution that would have saved me so much time was to go into my Nameservers area where I registered my domain and switch them back to the default nameservers. This way, Ghost could find them where I'd put them.

Yeah, sounds pretty simple when I put it like that, huh? And yet even the guy at tech support hadn't thought to look there and kept telling me I needed to contact the other platform to get a solution.

If you found yourself in the same predicament, I hope this helped you figure it out!