Ghost vs WordPress
Pick Ghost if the site is a publication: members, gated posts, Stripe subscriptions with no revenue cut, member comments and ActivityPub are built in; plan for MySQL 8, a correct url setting, SMTP for login emails and a Mailgun account, which Ghost requires for sending newsletters. Pick WordPress if the site has to do more than publish (custom content types, a shop, forms, a specific theme) or you want to choose each component yourself; it is the easier install, and newsletters and paid memberships come from plugins you pick and maintain.
Side by side
Ghost and WordPress are the two publishing platforms most people consider when they want a blog on their own server instead of a hosted platform. Both are open source, both have official Docker images, and both run on MySQL. They are built for different jobs. Ghost is a Node.js platform for publications and paid newsletters, with members, email and Stripe subscriptions built in. WordPress is a general PHP content management system whose core stays small and gets extended with themes and plugins. The question is whether you want a publication with memberships already built, or a site builder you put together from plugins.
What each one is built to do
Ghost is a publication with an audience attached. Its members feature lets readers sign up with "passwordless JWT email-link based logins", and each post can be public, members only, paid-members only or limited to specific tiers. Paid subscriptions go through a "direct integration with Stripe" that connects your own Stripe account using Stripe Connect. Ghost's docs say "Ghost takes 0% of your revenue"; Stripe's own fees still apply. Stripe is "the only natively supported payment provider". Comments are built in but limited to logged-in members, free or paid, depending on a setting in Ghost Admin.
Ghost 6 added two more things. The social web feature lets people "discover, follow, like and reply to your posts across Bluesky, Flipboard, Threads, Mastodon, WordPress, Ghost" and other ActivityPub platforms. There is also a native analytics dashboard, but on a self-hosted install it needs a Tinybird account and API key.
WordPress keeps a short core feature list: themes, plugins, users and roles, comments, media management, custom content types and a REST API. Its features page says "For every feature that's not in WordPress core, there's a plugin directory with thousands of plugins." Newsletters and paid memberships are not on that core list, so on WordPress they come from plugins you choose, along with the payment provider those plugins support.
Newsletters and email
This is the main practical difference for a publication.
Ghost splits email in two. Transactional mail (invitations, password resets, member signups and login links) goes through any SMTP service you configure. Sending newsletters to members is different: Ghost's configuration docs say Mailgun is "an optional service for sending transactional emails, but it is required for bulk mail". If you want to email posts to subscribers from a self-hosted Ghost, budget for a Mailgun account. Ghost's docs also recommend getting transactional mail working before you set up bulk mail.
WordPress does not send newsletters from core. A newsletter plugin decides how mail is sent and which email services it supports. That gives you more choice, and it means one more component to evaluate and keep updated.
If your plan is a paid newsletter, Ghost already includes signups, gated posts, Stripe billing and sending. Budget for Mailgun. With WordPress you assemble the same result from plugins.
Themes, extensions and headless use
Ghost themes are written in Handlebars templates. There is no plugin directory like WordPress's. Ghost's Content API is read-only and "delivers published content to the world", so any client can render it in a website or app, and the README calls Ghost a "headless Node.js CMS".
WordPress has a theme and plugin ecosystem, a REST API and custom content types. It is the more flexible choice when the site is more than a blog: a shop, a directory or a documentation site, where Ghost's posts, pages and members are not the right shape. The cost is the usual plugin one. Every plugin is third-party code with its own update schedule and security record, and you choose and maintain each one.
Licences and hosting
Ghost is MIT-licensed. The Ghost Foundation also runs Ghost(Pro), the official managed service; its pricing page lists Starter at $18, Publisher at $29 and Business at $199 per month, billed yearly. Self-hosting costs you the server, MySQL and, for newsletters, Mailgun.
WordPress is released under "the GPLv2 (or later) from the Free Software Foundation".
Install and footprint
Ghost requires MySQL in production. Its FAQ says "MySQL 8 is the only
supported database in production", and it recommends moving SQLite and MariaDB
installs to MySQL 8. Ghost 6 supports Node.js 22 (^22.13.1). The official
Ubuntu install asks for "at least 1GB memory", NGINX and MySQL 8.0 or 8.4, and
uses Ghost-CLI. The ghost Docker image is maintained by the Ghost Foundation.
It defaults to production mode, which needs an external MySQL server. Its docs
say production also needs HTTPS and a reverse proxy that forwards the
X-Forwarded-* headers. Set url to the public address readers use; the
image's own Compose example warns its value "is likely wrong for your
environment". Ghost also has a Docker Compose setup that bundles
Caddy and MySQL, but its docs call it a preview. It needs a domain and an SMTP
service.
WordPress recommends PHP 8.3 or newer, MySQL 8.0 or MariaDB 10.11 or newer,
and Apache or Nginx with HTTPS. The wordpress Docker image is maintained by
the Docker Community. With it and a MySQL container, the first visit opens the
install screen, which asks for a site title and an admin account.
We install-tested WordPress's Docker Compose snippet on Ubuntu 26.04 on
2026-09-29. Ghost's snippet has not been install-tested on this site. WordPress
measured ~394 MB of RAM idle on our GCP e2-standard-2 test box (2026-09-29).
Ghost has no measurement here. Its upstream minimum is 1 GB, and our 1 GB
figure for WordPress is an estimate. We rate WordPress 1 out of 5 to deploy
and Ghost 2 out of 5, mostly for the MySQL 8 requirement, the url setting
and the Mailgun account you need for newsletters.
Which to choose
Choose Ghost if the site is a publication: posts, a members list, a
newsletter and possibly paid tiers. Signups, gated content, Stripe
subscriptions, member comments and ActivityPub are built in, and Ghost takes no
cut of revenue. Plan for MySQL 8, a correct url, SMTP for login emails and
Mailgun for newsletters.
Choose WordPress if the site needs to do more than publish: custom content types, a shop, forms, or a specific theme. Pick it too if you want to choose each component yourself. It is the easier install. Newsletters and paid memberships come from plugins, so the work shifts from setup to picking and maintaining those plugins.
Choosing between WordPress and Ghost
Starting from WordPress, the usual reason to move to Ghost is a newsletter business held together by several plugins, where Ghost has the same features built in. Starting from Ghost, the usual reason to move is a site that has outgrown blog posts and pages and needs WordPress's plugins.
Both apps are listed on their own pages: Ghost and WordPress.
Common questions
Ghost vs WordPress: which should I self-host?
Pick Ghost for a publication with members, a newsletter and possibly paid tiers: signups, gated posts, Stripe subscriptions and member comments are built in. Pick WordPress when the site needs more than publishing, such as custom content types, a shop or a specific theme, since its core is extended with plugins. WordPress is the easier install; Ghost needs MySQL 8 and, for newsletters, Mailgun.
Can self-hosted Ghost send newsletters without Mailgun?
Not bulk newsletters. Ghost's configuration docs say Mailgun is optional for transactional email (invitations, password resets, member signups and login links), which can go through any SMTP service, but it is required for bulk mail to members.
Does Ghost take a cut of paid subscriptions?
No. Ghost's docs say it takes 0% of your revenue. Payments go through your own Stripe account via Stripe Connect, and Stripe's processing fees still apply. Stripe is the only natively supported payment provider.
Can Ghost use SQLite or MariaDB?
Not in production. Ghost's FAQ says MySQL 8 is the only supported production database and recommends moving SQLite and MariaDB installs to MySQL 8. The official Docker image uses SQLite only in development mode.
How much RAM do Ghost and WordPress need?
Ghost's Ubuntu install guide asks for a server with at least 1 GB of memory. WordPress publishes no RAM figure; our 1 GB is an estimate. WordPress measured ~394 MB of RAM idle on our GCP e2-standard-2 test box on 2026-09-29.
Paid link — we earn a commission if you shop through it.
Other comparisons with these apps
The multi-database web client from DBeaver vs. the PostgreSQL-only admin tool.
One conf.yml with an in-browser editor vs. YAML files and Docker label discovery.
The team LLM-app platform vs. the Python-component canvas.