Skip to content

Migrating isaacmbira.com from WordPress to Astro

· astro, wordpress, performance

I migrated this site from WordPress to Astro to ship a fully static portfolio with no server to maintain and no plugin attack surface.

The migration script

The old WordPress content was exported as XML and converted to MDX with a one-time, idempotent script (scripts/wp-export-to-mdx.ts): it parses the export, turns post HTML into Markdown, downloads and optimizes images to WebP, and writes .mdx files with frontmatter. Running it twice produces the same result, so I could iterate safely.

The result

Static output means the homepage is a handful of files on a CDN. No database, no PHP, no render-blocking plugin scripts — just HTML, a little CSS, and self-hosted fonts.