Migration guide
Migrate from Hashnode to RankFlo
Move from Hashnode to a self-hostable platform with full control.
Why move from Hashnode
- Self-host on your own infrastructure (Hashnode is SaaS-only)
- Custom domain without Hashnode's free-tier limitations
- AI content generation and real-time SEO scoring
- Open source — extend or fork as you wish
- Type-safe API for any frontend — Hashnode's API is GraphQL, often slower
- Better team workflows: roles, approvals, multi-author projects
Things to plan for
Edge cases that come up on most Hashnode → RankFlo migrations.
Hashnode's blocks → RankFlo blocks
Hashnode posts are in markdown with embedded GraphQL fragments for custom blocks. The importer parses markdown directly; custom blocks fall back to HTML.
Series & multi-author publications
Hashnode has "Series" (collections of posts) and multi-author publications. These map to RankFlo tags + projects respectively.
Step-by-step migration
4 steps. Export format: GraphQL API (no UI export)
- 1
Export Hashnode content via API
Hashnode doesn't have a UI export. Use their GraphQL API to fetch all posts: query Publication { posts { ... } }. RankFlo provides a CLI to do this in one command.
- 2
Run the Hashnode importer
5–10 minSettings → Import → Hashnode. Provide your Hashnode API token; we fetch posts directly via their GraphQL API.
- 3
Review series structure
If you used Hashnode Series, those become tags. Verify the tag mapping.
- 4
Update your frontend
Either keep Hashnode as the public-facing site and use RankFlo as a backend, or migrate the frontend to a custom Next.js / Astro setup.
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 Hashnode?
Start a free trial — the importer ships with every plan.