For publishers, newsletters and membership sites

Ghost CMS Development Companyfor publishers and paid membership sites

Ghost does one job well: publishing, with members, paid tiers and email built in. We build the theme, move your content and subscribers across, and set up the parts Ghost leaves to you.

Is Ghost the right CMS for you?

We also build on WordPress and Statamic, so we have no reason to push you to Ghost if it does not suit the site.

Ghost is a good fit when

  • Writing and publishing is the main thing the site does
  • You want to sell memberships or paid tiers through Stripe
  • Posts go out as a newsletter as well as on the web
  • You would rather have fewer plugins and a simpler admin

Look elsewhere when

  • You depend on custom content types, which Ghost's WordPress importer does not convert
  • You need a payment provider other than Stripe, the only one Ghost supports natively
  • The site is mostly structured pages or a shop rather than articles
  • You need many plugins that talk to each other inside the CMS

What we do on Ghost projects

Ghost keeps its core deliberately small, so the project work lies in the theme, the move, and the services around it.

Custom themes

Ghost themes use Handlebars. We build yours from your designs and run it through GScan, Ghost's own validator, before release, because fatal errors stop a theme being used at all.

Members and paid tiers

Free and paid tiers with monthly and yearly prices, connected to your Stripe account, with member-only sections and sign-up flows in the theme.

Newsletters and email

Self-hosted Ghost sends bulk newsletters only through Mailgun, and basic SMTP will not do it. We set up Mailgun for newsletters and separate SMTP for sign-in and sign-up mail.

URLs and redirects

routes.yaml controls your URL structure and redirects.yaml carries the 301s from your old addresses, so links and rankings have somewhere to land.

Headless front ends

The Content API serves posts, pages, tags, authors, tiers and settings as read-only JSON to a Next.js or React site. Its key only exposes public data, so member-only content needs its own design.

Self-hosting Ghost 6

Ghost 6, released in August 2025, added native analytics and social web features through ActivityPub. Self-hosted, these run as separate services next to Ghost, and MySQL 8 is the only supported production database.

How a Ghost engagement runs

Usually a fixed-scope project, for a new publication or a move from another platform. The order puts subscribers and old URLs ahead of the visual work, because they are the hardest things to recover later.

  1. Audit what you have

    We list your content, URLs, subscribers and paying members, and the current platform. We also decide with you between Ghost(Pro) and self-hosting.

  2. Theme on a staging site

    We build the theme against a copy of your real posts, so long headlines and odd images show up early. You review it in demos, weekly on most projects.

  3. Trial migration

    We import content, map tags, write redirect rules and import members, then check a sample of old URLs against the new site before the real move.

  4. Switch over and hand back

    DNS changes, Stripe and email go live, and you get documentation for editing the theme and running the site.

The closest work we can show

None of these are Ghost builds. They show the parts of a Ghost project that carry over: a content programme on a headless CMS behind Next.js, and fast Next.js sites with search tooling set up from day one.

Ghost CMS questions

The ones to settle before a migration starts.

Can you move our WordPress site to Ghost?

Yes. Ghost has a built-in WordPress migrator that takes an XML export of up to 100 MB and 2,500 posts. Posts and pages come across, categories become tags and some shortcodes convert, but custom post types do not. Anything beyond that needs custom migration work, and the redirects need adding by hand.

Will our paying members survive a move?

That depends on where they are now, and it is the first thing we check. When restoring paid members from a Ghost backup, Ghost's documentation requires Stripe to be reconnected to the same account as the old install. For other platforms we plan the subscriber move before any theme work starts.

Ghost(Pro) or self-hosted?

Ghost(Pro) is Ghost's official managed hosting, and it removes the server work. Self-hosting gives you more control, but you take on MySQL 8, Mailgun for newsletters, and since Ghost 6 the separate services behind analytics and social web features. We will recommend one once we know your team.

Should we run Ghost headless?

Only if you have a reason. A Handlebars theme gives you templates, previews and member features ready to use, and with a headless Next.js site you rebuild those. It makes sense when Ghost is one part of a larger site or app.

Have you got a Ghost case study?

Not a published one. Most of our work is delivered under NDA, so many projects cannot be named. The closest work we can show is listed on this page: content sites on Next.js, including one with a headless CMS behind it.

How much does a Ghost project cost?

We quote each project at a fixed price once we have seen your content and design, and we do not publish a price band. For ongoing theme work, a developer starts from $20/h, invoiced in USD, GBP, EUR or INR.

Moving to Ghost, or stuck on it?

Tell us your current platform, roughly how many posts and members you have, and what you want to change. We will say whether Ghost is the right tool.

We reply within one business day (IST).