Wiki Migration Strategies

Migrating wikis is rarely fun. Source wiki has its quirks; target wiki has its own. Pages have history, links, attachments, formatting that may not translate cleanly.

This page covers the patterns for surviving wiki migrations.

Common migration scenarios

Platform change

MediaWiki → Confluence; Confluence → Notion; Markdown-in-git → SaaS wiki.

The hardest. Different content models, different feature sets.

Self-hosted to SaaS

On-premises Confluence to Confluence Cloud; self-hosted MediaWiki to a managed service.

Less hard; same platform but different deployment.

SaaS to self-hosted

The reverse — usually data exodus from a vendor.

Often time-pressured (vendor changes terms; price increase; outage). Plan for it.

Consolidation

Merging multiple wikis into one. Multiple sources; one target.

Often involves deduplication, conflict resolution, link rewriting.

What migrates poorly

Custom formatting

Wiki-specific markup that doesn't have an equivalent in the target. Tables, callouts, embedded macros.

Macros / plugins

Source wiki has a custom macro that displays a calendar. Target wiki doesn't. Page now broken.

Embedded content

YouTube videos, Twitter embeds, etc. Embedding methods vary; may break.

Page hierarchy

Some wikis have explicit hierarchy (Confluence); some don't. Mapping isn't always clean.

Attachments

Inline references to attached files. URL structure changes; references break.

Permissions

Source has fine-grained permissions; target's model is different. Hard to translate exactly.

History

Edit history may not migrate at all. Or migrates as a single "imported" entry.

For most platforms, accepting some history loss is realistic.

The migration process

Phase 1: discovery

What's in the source?

- Page count

- Attachment count and size

- Custom formatting / macros used

- Permissions

- Active vs. dead content

Most migrations have surprises. Discovery surfaces them.

Phase 2: pilot

Migrate a small subset (10-50 pages). See what breaks.

- Formatting issues

- Broken links

- Missing attachments

- Permission gaps

Iterate on the migration tool until the pilot is acceptable.

Phase 3: full migration

Run the migration at scale. Probably overnight or weekend. Monitor for errors.

Phase 4: validation

Spot-check pages. Use analytics to verify high-traffic pages.

Phase 5: link rewriting

Old wiki URLs likely don't match new ones. Either:

- Rewrite links during migration

- Set up redirects from old URLs

- Both

Without this, links throughout the new wiki break.

Phase 6: parallel run

For a period, both old and new wikis available. Users transition. Old wiki marked read-only; eventually decommissioned.

Phase 7: decommission

Old wiki goes away. Final backup; archive; remove.

Tools

Wiki-specific tools

Many platforms ship migration tools: Confluence has importers; MediaWiki has dump tools.

Check what's available for the source-target combination.

Pandoc

Converts between document formats. For markdown, MediaWiki, AsciiDoc, etc., pandoc handles much of the format translation.

Custom scripts

For complex migrations, custom code reads source; writes target. Time investment but flexibility.

SaaS migration services

Some companies specialize in wiki migrations. Worth it for large complex migrations; overkill for small.

Patterns for cleaner migrations

Clean up before migrating

Migrate clean content; don't carry forward dead pages, broken links, deprecated content.

Pre-migration audit: delete what's not worth migrating.

Document mapping

Source format → target format mappings. Where the source has X, what's the equivalent target?

Spot the gaps where there's no equivalent.

Test pages explicitly

Before migrating production content, test pages with known features:

- Tables

- Code blocks

- Embedded media

- Various formatting

See what works.

Preserve URLs where possible

Keep page slugs the same. External bookmarks survive.

If URLs must change, redirects are essential.

Communicate

Users need to know:

- When the migration is happening

- What may change

- How to find content in the new system

- Who to ask for help

The "rewrite vs. migrate" decision

Sometimes pages are bad enough that rewriting is better than migrating. The "garbage in, garbage out" problem — bad source content stays bad in the target.

For high-traffic pages: consider rewriting during migration.

Common failure patterns

- **Migrating without discovery.** Surprises during.

- **No pilot.** Full migration breaks; nothing tested.

- **No link rewriting.** New wiki has broken internal links.

- **No redirects.** External bookmarks break.

- **Migrating dead content.** Effort wasted.

- **No parallel run.** Users get cut off cold.

- **No communication.** Users find out via broken bookmarks.

A reasonable approach

For typical wiki migrations:

1. Discovery (1-4 weeks)

2. Pilot (small subset; iterate)

3. Pre-migration cleanup (remove dead content)

4. Full migration (off-hours)

5. Link rewriting + redirects

6. Parallel run (1-3 months)

7. Decommission

Plan for the timeline. Migrations always take longer than estimated.

Further Reading

- [WikiBackupAndRestore](WikiBackupAndRestore) — Backup precedes migration

- [LegacyCodeModernization](LegacyCodeModernization) — Adjacent practice

- [CloudMigrationStrategies](CloudMigrationStrategies) — Cloud parallel