Website Development with Ghost CMS
Ghost is a specialized publishing engine: blogs, media, newsletter platforms, sites with subscription monetization. Unlike WordPress, Ghost doesn't try to be universal — this is its strength and limitation simultaneously.
When Ghost Fits
Ghost works well for independent publications, corporate blogs, technical documentation with newsletter. Built-in Members + Stripe subscriptions, RSS, email template snippets — all without plugins. If a site is primarily content and subscription monetization, Ghost launches faster than custom solution.
Hosting Options
Ghost Pro — official managed hosting, from $9/month. Updates and infrastructure managed by Ghost Foundation. Limited server customization.
Self-hosted — full control, free Ghost (MIT). Requires VPS with Ubuntu 20.04/22.04, Node.js 18, MySQL 8, Nginx. Installation via ghost-cli.
Basic Installation (Self-Hosted)
# On fresh Ubuntu 22.04
sudo npm install ghost-cli@latest -g
# Create directory and install Ghost
sudo mkdir -p /var/www/myblog && sudo chown $USER:$USER /var/www/myblog
cd /var/www/myblog
ghost install --url https://myblog.com --mail-from [email protected]
Ghost CLI automatically configures Nginx, Systemd, and SSL via Let's Encrypt.
Frontend Approach Options
Option 1: Native Handlebars themes — simpler, built-in Members and subscriptions work out of the box.
Option 2: Headless via Content API — Next.js/Astro frontend, full design freedom, but Members/subscriptions require extra integration.
For most publishing projects choose custom Handlebars theme — faster and supports all Ghost features without workarounds.
Project Structure
my-ghost-theme/
├── package.json # with "engines": { "ghost": ">=5.0.0" }
├── index.hbs # homepage
├── post.hbs # post page
├── page.hbs # static pages
├── tag.hbs # tag archive
├── author.hbs # author profile
├── error.hbs # error page
├── partials/
│ ├── header.hbs
│ ├── footer.hbs
│ ├── post-card.hbs
│ └── membership-cta.hbs
└── assets/
├── css/
├── js/
└── images/
Minimal working theme — 30–60 hours development. Full-featured theme with custom sections, membership UI, newsletter — 80–150 hours.
Timeline
| Stage | Time |
|---|---|
| Ghost installation and setup | 4–8 hours |
| Basic theme development | 2–4 days |
| Members and Stripe subscriptions | 1–2 days |
| Newsletter templates | 1 day |
| SEO and performance | 1 day |
| Deployment and monitoring | 4–8 hours |







