Ghost logo
Tina CMS logo

From Ghost to Tina CMS

We are the Ghost to Tina CMS migration experts

Last verified:



Challenges with Ghost

Key pain points

Ghost is great until you need it to do anything more than “post blog, send newsletter, and beg readers for $5/month.” The moment you step outside that happy path, the whole thing starts feeling painfully bare-bones. There’s no real visual builder, no serious content modeling, and the plugin ecosystem is basically “good luck, build it yourself.”

Hosted plans get expensive fast once memberships grow, and self-hosting turns into a weekend-killing DevOps hobby nobody asked for. If you need anything beyond a clean blog with a paywall, Ghost will politely tap out and tell you to write less ambitious content.

Help me migrate


Blogging-centric feature set

Blogging-centric feature set

Ghost is brilliant for blogs… and very “meh” for anything else. If you need complex content models, workflows, or enterprise-level flexibility, you’ll hit a wall quickly.

Sparse plugin marketplace

Sparse plugin marketplace

There’s no real ecosystem to lean on. Anything outside the basics usually means rolling up your sleeves and writing code yourself.

No visual page builder

No visual page builder

If you were hoping to drag, drop, and magically design pages, Ghost politely says “no.” Everything beyond basic layouts needs theme edits.

Custom coding required

Custom coding required

Even simple enhancements often require Handlebars or API work. Non-technical teams will run out of road fast.

Limited content modeling

Limited content modeling

You get posts and pages, that’s pretty much the deal. Anything beyond that is a workaround, not a first-class feature.

Lacks multi-site support

Lacks multi-site support

Running multiple sites under one instance isn’t Ghost’s thing. If you’re scaling across regions or brands, you’ll feel boxed in.



Benefits of Tina CMS

Key advantages

Tina CMS has a genuinely compelling core idea: real-time visual editing backed by Git. Instead of your content living in some opaque database, every change becomes a Git commit. For developer teams that already live in Git, this feels natural. The local development workflow is solid too — you can iterate on schema and content simultaneously, merge everything in a single commit, and keep your content pipeline tightly coupled with your codebase. That's a meaningful advantage over CMS platforms that treat content as a completely separate concern.

The inline editing experience is where Tina really shines. Content editors can see their changes in context on the actual live site, which dramatically reduces the feedback loop between "I changed something" and "here's what it looks like." For marketing teams and content creators who are tired of editing fields in a dashboard and then previewing on a separate URL, this is a breath of fresh air. It bridges the gap between developer-friendly and editor-friendly in a way that most headless CMS platforms don't even attempt.

Since going fully open-source under Apache 2.0 and being acquired by SSW, the self-hosting story has improved significantly. You can run your own backend with your own database and auth, which gives you more control than relying on TinaCloud. If you're building a Next.js or React-based project and want a CMS that lives close to your code, Tina is worth serious consideration. If you want help evaluating whether Tina fits your stack, or you're looking at alternatives, we're happy to chat.

Start my migration


Real-time visual editing in Tina CMS

Real-time visual editing

Editors can make changes directly on the live site with instant visual feedback. This is genuinely one of the best inline editing experiences in the headless CMS space.

Git-backed content workflow in Tina CMS

Git-backed content workflow

Every content change becomes a Git commit, so your content versioning, branching, and collaboration all flow through the same tools your developers already use.

Schema defined in code in Tina CMS

Schema defined in code

Content models are defined in your codebase alongside your components, keeping your content structure and frontend tightly aligned and version-controlled.

Strong local development in Tina CMS

Strong local development experience

You can develop locally with full CMS functionality, iterate on schema and content together, and push everything in a single commit. No cloud dependency during development.

Markdown and MDX support in Tina CMS

Markdown and MDX support

Tina works natively with markdown and MDX files, making it a natural fit for documentation sites, blogs, and any project that already uses file-based content.

Open-source and self-hostable Tina CMS

Fully open-source and self-hostable

The entire backend is open-source under Apache 2.0. You can self-host with your own database, auth, and Git provider, giving you full control over your content infrastructure.





Common questions

Ghost to Tina CMS migration FAQs

Answers to the most common questions about Ghost to Tina CMS migration

How much does Ghost CMS really cost beyond the "free" open source version?
Ghost is free to self-host, but "free" is misleading. You'll need a VPS ($5-$20/month minimum), someone to handle server maintenance, security updates, SSL certificates, and backups. That's either your time or a developer's hourly rate. Realistically, self-hosted Ghost costs $50-$200/month in labour and infrastructure for a small team. Ghost's managed hosting (Ghost Pro) starts at $9/month for the Starter plan (500 members), jumps to $25/month for Creator (1,000 members), and scales to $199/month for the Business tier. Once your membership list grows past a few thousand, costs climb fast. We've seen publishers hit $300+/month on Ghost Pro before questioning whether the platform still made sense for them.
Does Ghost need a developer to maintain it?
If you're self-hosting, yes. Ghost runs on Node.js and requires regular updates, database maintenance (MySQL), and server monitoring. Major version upgrades (Ghost 4 to 5, for example) can break themes and integrations, and someone technical needs to handle those. On Ghost Pro, maintenance is handled for you, but customisation still requires a developer. Custom themes use Handlebars templating, and anything beyond basic styling means editing theme files and redeploying. If your team is purely non-technical and you want to go beyond Ghost's default themes, you'll need developer support on an ongoing basis.
When should you migrate away from Ghost?
Ghost hits its ceiling when you need more than blog posts and newsletters. If you're trying to build landing pages, manage structured content across multiple page types, run an ecommerce store, or handle multi-language content, Ghost wasn't designed for any of that. We've migrated publishers off Ghost when they outgrew the "blog plus newsletter" model and needed a real content platform. The migration itself is painless. Ghost's JSON API makes content extraction simple, and posts map cleanly to markdown. The typical timeline is 4-6 weeks to move content into a headless CMS and rebuild the frontend.
Can Ghost handle a site with more than just a blog?
Barely. Ghost gives you two content types, posts and pages, and that's it. There's no custom content modelling, no relational fields, no structured data beyond tags and authors. You can hack together something with custom routes and internal tags, but it's brittle and hard to maintain. If you need case studies, service pages, team directories, or any structured content beyond articles, you're fighting the platform. Ghost is excellent at what it does. It just doesn't do very much. For sites that need a blog alongside other content types, a headless CMS gives you the flexibility Ghost intentionally leaves out.
How do we migrate content out of Tina CMS?
Tina stores content as markdown and MDX files in your Git repository, which makes extraction the easiest part of any CMS migration we do. Your content is already files on disk. The work is in transforming those markdown files into the structured format your new CMS expects. Rich text blocks, custom components embedded in MDX, and frontmatter fields all need mapping. For a blog or docs site with 100 to 500 pages, we typically complete the migration in 2 to 4 weeks.
Why are teams leaving Tina CMS?
Three issues come up repeatedly. First, the React-only constraint for visual editing blocks teams that want to use Astro, SvelteKit, or other frameworks. Second, the development environment is unstable. The admin interface loads external assets that update independently of your codebase, so it can break without you changing anything. Third, the 2024 security breach involving compromised AWS keys shook confidence in the platform's operational maturity. Teams with enterprise compliance requirements found that hard to overlook.
Is it worth self-hosting Tina instead of migrating away?
Self-hosting removes the TinaCloud dependency, but it introduces its own gaps. There's no search functionality, no Git LFS support, and reference fields timeout on large collections. If you're already frustrated with Tina's instability, self-hosting adds more operational burden rather than solving the root problems. We've found that teams considering self-hosted Tina are usually better served by migrating to a platform with proper managed hosting and a more mature editorial experience.


Get in touch

Fill out the form below and we'll get back to you