How to Set Up Ghost CMS: A Complete Beginner’s Guide

How to Set Up Ghost CMS: A Complete Beginner’s Guide

Introduction

If you’re planning to start a blog, newsletter, or publication, Ghost CMS remains one of the best choices available — fast, minimalist, and built for creators. Unlike bloated systems like WordPress, Ghost is purpose-built for publishing and monetisation.

In this guide, you’ll learn how to set up Ghost CMS using Ghost(Pro) (the official managed service) and connect it to your root domain via Cloudflare — step by step.

By the end, your site will be live on your custom domain, secured with SSL, and optimised for speed and professional credibility.

Before You Begin

Before starting, make sure you have the following ready:

  • 🟢 A domain name you own (e.g. yourdomain.com)
  • 🟣 A Ghost(Pro) account — sign up here if you haven’t yet
  • 🟠 A Cloudflare account with your domain added
  • 🔵 Access to your domain registrar (e.g. Namecheap, GoDaddy, Google Domains)
  • 🧠 15–20 minutes of focused time

Step 1: Create Your Ghost(Pro) Account

Ghost(Pro) is the official managed hosting service provided by the Ghost Foundation. It removes the need for manual server setup or terminal commands.

  1. Go to https://ghost.org
  2. Click Get Started - free and sign up using your email to avail the free trial.
  3. Enter your details,
  1. Once your trial site is ready, Ghost will create a temporary subdomain — something like my-blog-1.ghost.io.
💡
Tip: Don’t worry about the subdomain — you’ll replace it with your own domain, whether root domain or a sub-domain, in later steps.

Step 2: Set Up Your Custom Domain on Cloudflare

Cloudflare acts as both your DNS manager and content delivery network (CDN). This ensures your Ghost site loads quickly and securely across the globe.

  1. Log in to your Cloudflare Dashboard.
  2. Click Add a Site, then enter your domain (e.g. yourdomain.com).
  3. Choose the Free plan (enough for most Ghost sites).
  4. Cloudflare will scan your existing DNS records — click Continue.
  5. Update your nameservers at your registrar to Cloudflare’s provided ones.
⏱️ It can take up to 24 hours for DNS propagation, though it usually happens within minutes (for us, it took about 10 minutes).

Step 3: Connect Your Root Domain to Ghost(Pro)

Once Cloudflare is active on your domain, you can connect it to your Ghost site.

  1. In Ghost’s admin panel, go to Ghost(Pro) → Domain → Custom Domain.
  2. Enter your root domain (e.g. yourdomain.com) and click Save.
  3. Ghost will display the required DNS records — usually two A records:
    • @ → points to Ghost’s IP address (something like 138.68.xxx.xxx)
    • www → a CNAME record pointing to your Ghost subdomain (e.g. yourname.ghost.io)
  4. Go back to Cloudflare → DNS and add these records:
    • Type: A
      Name: @
      Value: Ghost’s IP address (as shown in your Ghost dashboard)
      Proxy status: DNS only (grey cloud ✅)
    • Type: CNAME
      Name:www for root domain or blog for 'blog' subdomain (i.e. blog.mydomain.com)
      (depending on what you want to use)
      Target: yourname.ghost.io
      Proxy status: DNS only (grey cloud ✅)
  5. Set your sending domain to set up mail sender.

Wait for DNS changes to propagate. Once active, Ghost will automatically issue an SSL certificate for your domain.

🔒 Note: Cloudflare + Ghost(Pro) handles SSL automatically — no need to manually install certificates.

Step 4: Test and Verify Your Domain Connection

To confirm everything is set up correctly:

  1. Visit your root domain (https://yourdomain.com).
  2. You should see your Ghost site live, automatically replacing the .ghost.io subdomain effectively in the browser.
  3. You will still log in to your Ghost admin panel using (https://yourdomain.com/ghost) to manage posts and settings.

If your site isn’t loading:

  • Check that DNS records are DNS only (grey cloud) in Cloudflare.
  • Verify that your nameservers match Cloudflare’s.
  • Wait a few minutes — DNS caching can cause delays.

Step 5: Optimise Your Site Settings

Once your Ghost CMS is live on your root domain, configure the basics from Settings (⚙️) on bottom left corner:

🧱 General Settings

  • Site title & description: Add your brand name and mission statement.
  • Publication icon: Upload your favicon (recommended size 512×512).
  • Publication logo: Keep it within 150px height for best header balance.
  • Accent colour: Match your brand palette (e.g. More X Tech uses purple #6E44FF).

🔗 Social Accounts

Add your Twitter (X), Facebook, or LinkedIn URLs under Settings → Social Accounts.
This helps generate rich previews when sharing your posts.

📈 Analytics

Integrate Google Analytics or Cloudflare Web Analytics:

  • Go to Settings → Code Injection → Site Header
  • Paste your analytics tracking code.
🧩 Connecting Ghost CMS to Google Analytics

Step 6: Configure Email and Newsletters (Optional)

If you plan to use Ghost’s built-in newsletter system:

  1. Go to Settings → Newsletters.
  2. If you have verified your sending domain as in Step 3 (sub-step 5) as discussed above (screenshot below), your custom sending domain will be used. Otherwise, it will be sent from an official ghost email address — Ghost(Pro) uses Mailgun automatically.

Step 7: Performance & Security Best Practices

Ghost + Cloudflare is a strong combination, but here are a few tweaks to enhance it:

  • Enable Auto Minify (HTML, CSS, JS) in Cloudflare → Speed → Optimisation.
  • Turn on Brotli compression for faster load times.
  • Set Always Use HTTPS under SSL/TLS → Edge Certificates.
  • Use Caching Level: Standard in Cloudflare for balanced performance.

Common Issues and Troubleshooting

IssuePossible CauseSolution
Domain not resolvingDNS not propagatedWait 10–30 mins or clear cache
SSL errorMixed HTTPS setupSet SSL/TLS mode to Full (Strict)
Redirect loop“Always Use HTTPS” + Page Rules conflictRemove extra redirect rule
Site shows old subdomainClear browser cacheConfirm A record points to root domain

SEO & Next Steps

Now that your Ghost site is online, take a few minutes to optimise it for search visibility:

Conclusion

Setting up Ghost CMS with Cloudflare for your root domain is straightforward once you understand the workflow. In less than half an hour, you can have a professional-grade publication that’s secure, fast, and optimised for SEO.

If you’re new to Ghost or want help with setup, design, or optimisation, More X Tech offers three support tiers designed for creators like you:

  • Essential — A few edits or setup changes per month (£20)
  • Professional — Ongoing guidance and up to 5 customisations (£50)
  • Partner — Full support with advanced Ghost development (£100)
🚀 Join More X Tech’s Ghost CMS Membership to get expert help for your Ghost journey — from content to creation.