Documentation migrations lose traffic when teams treat them as content copy projects. Search engines and AI systems do not care that the new site looks better. They care whether the same useful information remains reachable at stable, understandable URLs.
The safest migration keeps the public contract intact: domain, valuable paths, page intent, internal links, canonicals, structured data, and machine-readable entry points. Change the platform behind that contract in a private environment, then cut over only after the replacement behaves like the existing site.
The Short Version
- Export every indexable URL and its traffic before touching the site.
- Keep the same custom domain and paths wherever possible.
- Map every changed URL to one relevant destination.
- Recreate content, metadata, navigation, images, and structured outputs in a private draft.
- Test HTML, Markdown,
llms.txt, sitemap, robots rules, canonicals, and redirects. - Launch with server-side
301or308redirects for changed paths. - Monitor Search Console, analytics, server logs, and AI answer quality after cutover.
Google explicitly recommends building an old-to-new URL map, using permanent server-side redirects, avoiding redirect chains, updating canonicals and sitemaps, and retaining redirects for at least a year. Those rules are the minimum viable migration plan, not optional polish.
First Decide Whether URLs Need to Change
Changing documentation platforms does not require changing public URLs.
If docs.example.com/guides/authentication works today, the lowest-risk replacement should serve the updated page at that exact URL. The DNS target can change while the public address stays stable. Google treats a hosting change without URL changes differently from a site move with URL changes, and the former is materially simpler.
Preserve, in order of importance:
- the custom domain
- high-traffic and high-conversion paths
- page titles and search intent
- canonical URLs
- internal links
- image URLs where those images receive traffic
- anchors used by external links
- sitemap coverage
Only change a path when the current structure is genuinely harmful or the page has moved to a different intent.
Build a Migration Inventory
Create one row for every existing page. At minimum, record:
| Field | Why it matters |
|---|---|
| Current URL | The public address that search engines and users know |
| Proposed URL | The destination after migration |
| Status | Keep, merge, redirect, remove, or rewrite |
| Organic clicks | Separates valuable pages from low-signal inventory |
| Backlinks | Identifies pages with external authority |
| Primary query or intent | Prevents a redirect to an irrelevant page |
| Canonical | Catches duplicate and generated paths |
| Index status | Reveals pages already excluded from search |
| AI entry points | Notes Markdown, llms.txt, MCP, or other machine-readable paths |
Do not redirect every removed page to the homepage. Google calls irrelevant redirects soft 404s. If a page has a true replacement, redirect to it. If it does not, return a real 404 or 410 and remove it from internal links and the sitemap.
Rebuild Content Before the Cutover
The replacement site should be reviewable on a private URL before DNS changes. Compare the old and new versions page by page.
Check that each high-value page retains:
- the answer or task it previously satisfied
- examples, warnings, prerequisites, and troubleshooting
- descriptive title and meta description
- one self-referencing canonical
- heading hierarchy
- contextual internal links
- accessible images and alt text
- any JSON-LD that remains accurate
A thinner page at the same URL is still a content regression. Preserve the useful information first. Improve it after parity is established.
Preserve GEO and Agent Access
There is no universal GEO migration protocol, but the same fundamentals reduce disruption for AI readers: stable URLs, fast crawlable HTML, complete content, explicit internal links, and machine-readable alternatives.
Validate these surfaces before launch:
- a complete XML sitemap
- accurate
robots.txt - Markdown versions of documentation pages where supported
llms.txtor another clear index of important documentation- stable heading anchors
- clean OpenAPI files for API references
- MCP or retrieval endpoints if customers depend on them
- no authentication wall on public documentation
Do not assume an llms.txt file repairs missing content. It is a recovery and discovery path. The task page still needs enough context for an agent to produce a correct answer.
Test Redirects as a Graph
Every changed URL should resolve in one hop:
1old URL -> 301 or 308 -> final 200 URLAvoid:
1old URL -> old category -> new category -> final pageTest query strings, trailing slashes, uppercase paths, locale prefixes, versioned pages, and old assets. Crawl the private replacement and a staging redirect map before launch. A spreadsheet review will not catch malformed links or redirect loops.
Launch and Monitor in Layers
During cutover:
- Lower DNS TTL in advance if the infrastructure requires it.
- Publish the replacement and verify its health directly.
- Change the DNS or routing target.
- Submit the new sitemap in Search Console.
- Inspect representative high-value URLs.
- Watch
404,5xx, redirect, and crawler logs. - Compare clicks, impressions, indexed pages, conversions, and AI referrals to the pre-launch baseline.
Temporary ranking movement can still happen. A safe migration means the site supplies consistent signals and has a fast recovery path, not that no metric can fluctuate.
What Success Looks Like
The migration is healthy when valuable URLs keep resolving, search clicks stabilize, conversions do not fall, and the replacement produces fewer operational problems than the old stack. Page speed can improve the experience, but speed alone cannot rescue missing pages or broken redirects.
Use the documentation migration checklist during execution. If the decision is still financial, model the first-year hosting cost before committing engineering time.