RankFloRankFlo

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. 1

    Export from Ghost

    2 min

    Ghost Admin → Settings → Labs → Export your content. Downloads a .json file.

  2. 2

    Create your RankFlo project

    Sign up and create a project for the migrated content.

  3. 3

    Run the Ghost importer

    5–15 min

    Settings → Import → Ghost (JSON). Upload the .json file. Posts, pages, tags, and authors are parsed.

  4. 4

    Review posts as drafts

    Imported content lands as drafts. Spot-check formatting — especially HTML cards, code blocks, and image alignment.

  5. 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. 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. 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.