Migration guide
Migrate from Ghost to RankFlo
Move from Ghost to RankFlo — keep the editor speed, gain AI and analytics.
Why move from Ghost
- Built-in AI content generation (Ghost has none)
- Real-time SEO scoring inside the editor
- Cookieless analytics built in (vs Ghost's basic email metrics)
- LLM visibility tracking — see when ChatGPT and Perplexity cite you
- Open source and self-hostable like Ghost, but with a modern type-safe API
- Native team workflows: roles, approvals, scheduled publishing
Things to plan for
Edge cases that come up on most Ghost → RankFlo migrations.
Ghost's Mobiledoc → Tiptap
Ghost stores posts as Mobiledoc JSON. Our importer converts Mobiledoc cards (markdown, image, html, embed) to RankFlo blocks. Custom Ghost cards become HTML blocks.
Members & subscriptions
If you used Ghost Members for paid subscriptions, those don't transfer (different billing system). Plan a separate migration to Stripe or another billing provider.
Newsletter sends
Ghost sends emails on publish. RankFlo focuses on the content side — pair with a separate newsletter tool (Resend, Buttondown) and use a webhook.
Step-by-step migration
7 steps. Export format: JSON — Ghost's native export format
- 1
Export from Ghost
2 minGhost Admin → Settings → Labs → Export your content. Downloads a .json file.
- 2
Create your RankFlo project
Sign up and create a project for the migrated content.
- 3
Run the Ghost importer
5–15 minSettings → Import → Ghost (JSON). Upload the .json file. Posts, pages, tags, and authors are parsed.
- 4
Review posts as drafts
Imported content lands as drafts. Spot-check formatting — especially HTML cards, code blocks, and image alignment.
- 5
Re-upload featured images
Ghost's image URLs point to your old Ghost host. Use our "refresh media" action to fetch and self-host images on RankFlo's S3-compatible storage.
- 6
Update your frontend or use rankflo.io
Ghost users typically have a custom theme. Either rewrite as a Next.js/Astro frontend hitting RankFlo's API, or host content on RankFlo's domain.
- 7
Redirect old Ghost URLs
Ghost typically uses /blog/slug. RankFlo uses the same. If you keep the structure, redirects can be a single CNAME swap.
After the migration
SEO and operational checklist — don't skip these.
- ✓Set up 301 redirects from old URLs to new RankFlo URLs
- ✓Submit your new sitemap to Google Search Console
- ✓Verify all internal links resolved correctly
- ✓Re-add SEO meta titles and descriptions where missing
- ✓Configure your custom domain and HTTPS
- ✓Run a crawler (Screaming Frog) against the new site to catch broken links
Ready to leave Ghost?
Start a free trial — the importer ships with every plan.