Migration guide
Migrate from Sanity to RankFlo
Move off Sanity Studio — keep the structured-content workflow, lose the per-API-call billing.
Why move from Sanity
- No per-API-call billing — Sanity charges per request after free tier
- Open source and self-hostable — Sanity Studio is open source but the backend is SaaS
- Built-in AI writing and SEO tools — Sanity needs custom plugins
- Native cookieless analytics
- Type-safe API for any frontend
- Cheaper at scale — RankFlo Pro is $5/mo flat, no usage tier
Things to plan for
Edge cases that come up on most Sanity → RankFlo migrations.
GROQ → REST/tRPC
Sanity uses GROQ as its query language. RankFlo uses standard REST + tRPC. Translate your GROQ queries to RankFlo API calls.
Portable Text → Tiptap
Sanity's Portable Text format (block content) maps cleanly to Tiptap blocks. Custom block types may need manual conversion.
References between documents
Sanity references (cross-document links) become tag-based relations or post-to-post links in RankFlo.
Step-by-step migration
3 steps. Export format: tar.gz via Sanity CLI
- 1
Export Sanity dataset
5–15 minsanity dataset export production output.tar.gz. Outputs a tar archive of all documents and assets.
- 2
Run the Sanity importer
Settings → Import → Sanity (tar). Upload the archive. We parse documents, convert Portable Text to blocks, and re-upload assets.
- 3
Translate GROQ queries
Update your frontend code to use RankFlo's REST endpoints. Common GROQ patterns (like *[_type == "post"]) become /api/v1/content?type=post.
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 Sanity?
Start a free trial — the importer ships with every plan.