The scary part of leaving WordPress isn’t the new site. It’s the old content — a decade-plus of posts, images, tags, and permalinks that all have to survive the move.
The plan
- Export everything as WXR (WordPress’s XML format).
- Convert to Markdown + downloaded images.
- Normalize the frontmatter into a strict schema.
- Emit redirects so every old URL still lands.
Where it gets messy
Old posts are full of shortcode residue — [caption], gallery tags, embeds — that
converts to garbage if you’re not watching. The rule I’m following:
- Sample 10–15 posts first.
- Measure how many convert badly.
- If it’s more than ~5–10%, stop and script targeted fixes before importing everything.
Migrations fail quietly. A broken image or a dropped redirect doesn’t throw an error; it just disappears from the internet.
The redirect map is the non-negotiable deliverable. Thirteen years of links pointing at this domain, and not one of them is allowed to 404.