How to Set Up a Custom Domain on Ghost

Configure your own domain on Ghost(Pro) or self-hosted Ghost. Step-by-step DNS setup, SSL certificates, and custom email sending domains.

Your Domain, Your Publication

A custom domain is the foundation of your online presence. Instead of yoursite.ghost.io, readers see yourdomain.com. This affects credibility, SEO authority, and brand recognition.

Ghost makes custom domain setup straightforward on both Ghost(Pro) and self-hosted installations. This guide covers both paths.

Ghost(Pro) Custom Domain Setup

Ghost(Pro) includes a free custom domain on all plans. No additional cost.

Step 1: Purchase a Domain

If you do not already own a domain, purchase one from a domain registrar:

  • Namecheap: Popular for competitive pricing
  • Cloudflare Registrar: At-cost domain registration with built-in DNS
  • Google Domains (now Squarespace Domains): Simple interface
  • Porkbun: Budget-friendly with free WHOIS privacy

Domain cost: typically $10-15/year for a .com. Some newer TLDs (.blog, .news, .pub) are available and can be relevant for publications.

Step 2: Add Your Domain in Ghost Admin

  1. Go to Settings → General in Ghost Admin
  2. Under Publication URL, enter your custom domain (e.g., yourdomain.com)
  3. Ghost will provide DNS records to configure

Step 3: Configure DNS Records

In your domain registrar’s DNS settings, add the records Ghost provides. Typically:

Option A: CNAME Record (Recommended)

TypeNameValue
CNAME@ (or blank)yoursite.ghost.io
CNAMEwwwyoursite.ghost.io

Some registrars do not allow CNAME on the root domain (@). In that case, use ANAME/ALIAS if supported, or use Ghost’s provided A records.

Option B: A Records

TypeNameValue
A@[IP address provided by Ghost]
CNAMEwwwyoursite.ghost.io

Step 4: Wait for DNS Propagation

DNS changes take time to propagate globally:

  • Most changes: 15 minutes to 2 hours
  • Full global propagation: up to 48 hours
  • Use a DNS checker (like whatsmydns.net) to verify propagation

Step 5: SSL Certificate

Ghost(Pro) automatically provisions and renews SSL certificates via Let’s Encrypt once DNS is properly pointed. No manual action required. Your site will be accessible via https://yourdomain.com within minutes of DNS propagation.

www vs Non-www

Choose one canonical version and stick with it. Ghost handles the redirect:

  • yourdomain.com (non-www) — cleaner, more common for publications
  • www.yourdomain.com — some prefer this for technical reasons

Ghost will redirect the non-canonical version to your chosen version automatically.

Self-Hosted Custom Domain Setup

Self-hosted Ghost installations require more manual configuration.

Step 1: Point DNS to Your Server

In your registrar’s DNS settings, create an A record pointing to your server’s IP address:

TypeNameValue
A@your.server.ip.address
CNAMEwwwyourdomain.com

Step 2: Configure Ghost for Your Domain

During Ghost installation with Ghost-CLI, you specify the domain:

ghost install

Ghost-CLI prompts for your URL during setup. Enter https://yourdomain.com.

If Ghost is already installed and you need to change the domain:

ghost config url https://yourdomain.com
ghost restart

Step 3: SSL Certificate via Let’s Encrypt

Ghost-CLI can automatically set up SSL using Let’s Encrypt:

ghost setup ssl

This provisions a free SSL certificate and configures Nginx to serve your site over HTTPS. Certificates auto-renew every 90 days.

If automatic setup fails, you can manually configure SSL with Certbot or another ACME client.

Custom Email Sending Domain

On Ghost(Pro) Publisher ($29/month) and above, you can configure a custom sending domain for newsletters. Instead of noreply@ghost.io, your emails come from newsletter@yourdomain.com.

Why This Matters

  • Brand recognition: Subscribers see your domain in the “from” field
  • Deliverability: Custom domains with proper authentication records land in inboxes more reliably
  • Reply handling: Replies go to your domain’s email address
  • Professionalism: Generic addresses signal amateur publishing

Setup Steps

  1. Go to Settings → Newsletters → [Your Newsletter]
  2. Under Email address, select your custom domain
  3. Ghost will provide DNS records for email authentication:

Required DNS records for email sending:

Record TypePurpose
SPF (TXT)Authorizes Ghost’s servers to send email on your behalf
DKIM (TXT)Cryptographic signature verifying email authenticity
DMARC (TXT)Policy for handling unauthenticated emails
  1. Add these records to your domain’s DNS settings
  2. Ghost verifies the records and activates your custom sending domain

Self-Hosted Email Domain (Mailgun)

Self-hosted Ghost uses Mailgun for email delivery. Mailgun requires its own domain verification:

  1. Add your sending domain in Mailgun (e.g., mg.yourdomain.com)
  2. Configure the DNS records Mailgun provides (SPF, DKIM, CNAME for tracking)
  3. Verify the domain in Mailgun
  4. Update Ghost’s config with your Mailgun API key and domain

For detailed Mailgun setup, see our Ghost newsletter guide.

Common Domain Issues

Domain Not Resolving

  • Verify DNS records are correct using dig yourdomain.com or nslookup
  • Wait for full propagation (up to 48 hours)
  • Ensure there are no conflicting records (e.g., multiple A records)

SSL Certificate Not Provisioning

  • DNS must be fully propagated before SSL can provision
  • Verify your domain points to the correct IP or CNAME
  • On self-hosted: ensure port 80 is open for Let’s Encrypt verification

Email Deliverability Issues

  • Verify SPF, DKIM, and DMARC records are correctly configured
  • Use a tool like MXToolbox to validate your email authentication
  • Allow 24-48 hours for DNS changes to propagate before testing

Subdirectory Installation

Ghost(Pro) Business plan ($199/month) supports subdirectory installations (e.g., yourdomain.com/blog/). This is a paid add-on ($50/month) for cases where Ghost runs alongside another application on the same domain.

Your Domain Is Just the Start

With your custom domain configured, your publication has its professional foundation. The next step is making it look the part with a theme that reflects your brand.

Our themes are built for Ghost publishers, starting at $69. Every theme includes dark mode, 46 language translations, and multiple post layouts.

Browse Ghost themes →