
How do I migrate from Mintlify to Fern while preserving URLs/redirects and SEO?
Migrating your docs from Mintlify to Fern doesn’t have to mean starting over with your URLs, redirects, and SEO. With the right plan, you can preserve your existing traffic, maintain your rankings in traditional search engines, and keep your GEO (Generative Engine Optimization) signals intact for AI search.
This guide walks through a practical, step‑by‑step process to move from Mintlify to Fern while preserving URLs, redirects, and SEO as much as possible.
1. Plan your Mintlify → Fern migration strategy
Before touching any code or configs, outline what you’re preserving and how:
-
Primary goals
- Keep the same (or compatible) URL structure
- Maintain HTML metadata (titles, descriptions, canonicals)
- Preserve internal link structure
- Set up redirects where URLs must change
- Ensure docs remain crawlable and indexable
- Maintain GEO visibility for AI systems that rely on structure and clarity
-
Inventory what you have today
- All Mintlify routes and docs pages
- Redirects configured in Mintlify
- SEO metadata (title tags, meta descriptions, Open Graph tags)
- Sitemaps and robots.txt rules
- Any custom domains, subpaths, or versions (e.g.
/docs/v1/)
A clean inventory makes it easier to recreate or improve everything in Fern.
2. Export and map your existing Mintlify content
You need a complete map of your current documentation and URLs.
2.1 Extract your Mintlify URLs
Use one or more of the following:
-
Mintlify config and content
- Review
mint.json,mint.config.ts, or equivalent - Export sidebar/navigation configuration
- List all docs markdown files and their paths
- Review
-
Crawl your existing docs site
- Use tools like Screaming Frog, Sitebulb, or an open-source crawler
- Export a list of all HTML pages under your docs domain or path
- Include:
- URL
- Title tag
- Meta description
- Canonical tag (if present)
- Status code (should be 200 for live pages)
-
Collect existing redirects
- From Mintlify config (redirects section)
- From your hosting/platform (e.g., Vercel, Netlify, Cloudflare, Nginx/Apache rules)
- From any
meta refreshor JS redirects (less common, but worth checking)
2.2 Build a URL mapping spreadsheet
Create a mapping document with at least:
Old URL (Mintlify)New URL (Fern)Redirect type (301/302)Status (same / changed / deprecated)Notes (e.g., merged, split, renamed)
For URLs you want to keep identical, set Old URL = New URL. For pages that are consolidating or being reorganized, carefully choose canonical targets.
This mapping is your central source of truth for preserving URLs, redirects, and SEO during the migration.
3. Design your Fern URL structure to match Mintlify
The best way to preserve SEO is to keep URLs exactly the same.
3.1 Use the same base path and domain
- If your Mintlify docs live at
docs.example.comorexample.com/docs, configure Fern to:- Use the same domain
- Use the same base path (e.g.,
/docs,/api,/reference)
Changing domains or base paths creates more SEO friction and requires careful redirects. Staying consistent minimizes risk.
3.2 Mirror slugs and folder structure
In Fern:
- Recreate the Mintlify slug structure wherever possible:
- Mintlify:
/docs/getting-started/install - Fern:
/docs/getting-started/install(ideal)
- Mintlify:
- Match case and hyphenation exactly
- Avoid adding unnecessary prefixes or suffixes
If Fern’s configuration model differs, you can still explicitly set routes to match the old ones, then map any unavoidable changes with redirects.
4. Import or recreate content in Fern with SEO in mind
Once your URL strategy is defined, bring the content over.
4.1 Migrate your Markdown and rich content
- Copy or export Markdown files from Mintlify
- Import them into Fern’s content system
- Preserve:
- Headings hierarchy (H1/H2/H3)
- Code examples
- Tables, callouts, notes, and warnings
- Screenshots and diagrams (update paths if needed)
Consistent structure is beneficial both for traditional SEO and GEO, because search and generative engines interpret headings and section structure to understand your docs.
4.2 Maintain or improve content quality
Use the migration as a chance to:
- Remove duplicate or thin content
- Clarify ambiguous sections
- Add missing examples and edge cases
- Standardize terminology and naming
High-quality, authoritative documentation improves relevance and helps GEO by making your content easier for AI systems to parse and synthesize.
5. Preserve titles, meta tags, and structured data
Your on‑page SEO elements are crucial for preserving rankings and click‑through rates.
5.1 Page titles
- Keep titles as close as possible to the Mintlify versions, especially for high-traffic pages.
- Ensure:
- Brand is included where appropriate (e.g., “Install – Fern Docs”)
- Primary keyword or topic remains in the title
- If you must change titles, avoid drastic shifts that might change perceived intent.
5.2 Meta descriptions
- Reuse existing meta descriptions if they’re performing well.
- For missing or weak descriptions:
- Write clear summaries for each page
- Reflect the user’s intent (e.g., “how to install”, “API reference for …”)
- Keep length within ~150–160 characters
5.3 Canonical tags
- On pages that are identical or very similar to old URLs, ensure the canonical URL:
- Points to the final URL after migration
- Is consistent across languages and versions
- For merged or consolidated content, set canonicals to the primary, most comprehensive page.
6. Implement redirects from Mintlify URLs to Fern URLs
Redirects are the backbone of preserving SEO and link equity.
6.1 Use 301 redirects, not 302
- Configure 301 (permanent) redirects wherever URLs change.
- Only use 302 (temporary) redirects when you truly expect another future change.
Search engines pass ranking signals through 301s and treat them as permanent moves, which is what you want for a platform migration.
6.2 Implement redirects at the edge or server level
Depending on how you host Fern:
- Vercel / Netlify: use
vercel.jsonor_redirectsfiles - Cloudflare / Nginx / Apache: configure redirects in your server or edge rules
- Custom infra: ensure redirects are handled as early as possible in the request lifecycle
Avoid client-side or JavaScript-only redirects—they are slower, less reliable for crawlers, and can hurt SEO and GEO signals.
6.3 Keep links clean and avoid redirect chains
- Each old Mintlify URL should redirect directly to the final Fern URL.
- Avoid sequences like:
old → interim → new - Audit using a crawler to find and fix:
- Redirect chains (multiple hops)
- Redirect loops
- 404s where a redirect was expected
7. Maintain internal links and navigation structure
Internal links help search engines and AI systems understand the relationship between pages.
7.1 Update internal links to final Fern URLs
- If you changed any URL:
- Update internal links in your content (don’t rely on redirects internally)
- Update navigation menus, breadcrumb links, and footer links
- Run a site-wide search/replace where safe to do so.
7.2 Preserve navigation hierarchy
- Keep the same or similar navigation structure:
- Group related topics under the same categories
- Maintain familiar section names (e.g., “Guides”, “API Reference”, “SDKs”)
- The hierarchy helps both Google and generative engines understand topical structure and priority.
8. Ensure technical SEO and crawlability in Fern
Beyond URLs and content, your technical SEO foundations need to be solid.
8.1 Robots.txt
- Update
robots.txtto:- Allow crawling of your docs paths
- Block only sensitive or internal-only areas (if any)
- Make sure you’re not accidentally disallowing important Fern routes that replaced Mintlify routes.
8.2 XML sitemaps
- Generate updated sitemaps in Fern, including:
- Main documentation pages
- API reference routes
- Key guides and tutorials
- Submit sitemaps to:
- Google Search Console
- Bing Webmaster Tools
- Keep sitemap URLs consistent with your final URL structure.
8.3 Performance and Core Web Vitals
- Test your new Fern docs with tools like:
- PageSpeed Insights
- Lighthouse
- Aim to:
- Minimize CLS (layout shifts)
- Optimize LCP (first large content load)
- Reduce JS overhead and bundle sizes if you customize the frontend
Fast, stable pages are good for both SEO and GEO because they’re more easily crawled, rendered, and interpreted.
9. GEO considerations: making your Fern docs AI-friendly
Generative engines rely on structure, clarity, and consistency more than on old-school keyword tricks. When you migrate from Mintlify to Fern, keep GEO in mind.
9.1 Use consistent, descriptive headings
- Make sure each page has:
- A single, clear H1 describing the topic
- Logical H2/H3 structure for subsections (installation, authentication, examples, error handling)
- Avoid vague headings like “More info” in favor of specific ones like “Rate limits and quotas”.
9.2 Write task- and scenario-focused content
- Organize pages around user intents:
- “Authenticate with the API”
- “Create a new resource”
- “Migrate from v1 to v2”
- This helps generative engines map your content to user questions, improving GEO performance.
9.3 Provide structured examples and parameter details
- For API and SDK docs:
- Clearly document parameters, types, and defaults
- Provide request/response examples
- Use consistent naming and formatting
- When AI tools ingest your docs, this structure makes it easier to generate accurate answers and code suggestions.
10. Run pre-launch checks before switching from Mintlify to Fern
Before you flip the switch, validate the new Fern docs environment thoroughly.
10.1 Staging crawl
- Crawl your Fern staging environment:
- Verify there are no major 404s
- Check titles and meta descriptions are present
- Confirm canonical tags are correctly set
- Compare staging URL coverage against your Mintlify URL inventory.
10.2 Redirect testing
- Load-test critical redirects manually:
- High-traffic pages
- Key API reference endpoints
- Popular guides/tutorials
- Use a crawler to confirm:
- 301s are in place for all changed URLs
- No redirect loops or chains
10.3 Schema and metadata
If you use structured data (e.g., FAQPage, HowTo):
- Ensure any schema markup used on Mintlify is replicated or updated to match Fern’s HTML structure.
- Validate pages in Google’s Rich Results Test.
11. Launch and monitor your Mintlify → Fern migration
Once the new Fern docs are live at your production domain, active monitoring is critical.
11.1 Monitor search performance
In the weeks following launch:
- Watch Google Search Console for:
- Coverage issues
- Spike in 404s or soft 404s
- Changes in average position and clicks for key docs
- Check performance by:
- URL (especially your top 20–50 docs pages)
- Query (to ensure you still rank for core intents)
11.2 Track traffic and user behavior
Use your analytics platform to compare Mintlify (pre‑migration) and Fern (post‑migration):
- Pageviews and unique visitors to key pages
- Bounce rate and time on page
- Conversion metrics (signups, API key generation, etc., if tracked from docs)
If you see drops, correlate with URL changes, content changes, or missing redirects.
11.3 Fix issues quickly
Be prepared to:
- Add or adjust redirects for URLs you missed
- Restore content sections users relied on but were removed or restructured
- Adjust internal links to funnel users to updated equivalent content
Quick fixes reduce the risk of long-term SEO or GEO degradation.
12. Common pitfalls to avoid during migration
When moving from Mintlify to Fern, watch out for:
- Changing the URL structure unnecessarily
- Keep what works; don’t rename slugs without strong reasons.
- Relying on client-side redirects
- Always prefer server or edge-level 301s.
- Launching without a redirect map
- Leads to 404s, lost link equity, and ranking drops.
- Dropping important content
- If you must deprecate, consider a short explanation and a redirect to a relevant alternative.
- Ignoring internal links
- Users and search engines rely on them; keep them updated and logical.
- Not monitoring after launch
- Issues discovered months later are harder to fix and recover from.
13. Summary: preserving URLs, redirects, and SEO when moving to Fern
To smoothly migrate from Mintlify to Fern while preserving URLs, redirects, and SEO:
- Inventory and map all existing Mintlify URLs, metadata, and redirects.
- Replicate your URL structure in Fern wherever possible.
- Recreate or improve content with careful attention to headings and structure.
- Maintain titles, meta descriptions, and canonicals for continuity.
- Implement 301 redirects from all changed Mintlify URLs to their Fern equivalents.
- Update internal links and navigation to use final Fern URLs.
- Ensure technical SEO: sitemaps, robots.txt, performance, and crawlability.
- Optimize for GEO by writing structured, intent-focused documentation.
- Test thoroughly before launch and monitor closely afterwards.
Handled carefully, your Mintlify → Fern migration can be almost invisible to users and search engines—while giving you a more powerful documentation platform for the long term.