Eight years. That’s how long I ran my personal site on WordPress.

I didn’t hate it. WordPress is fine — genuinely good for a lot of use cases. But somewhere along the way, maintaining it started to feel like overhead I didn’t want. Plugin updates. PHP upgrades. The occasional “your site was hacked” email.

What I actually wanted was a blog that felt like a folder of text files, because that’s what it is.

The migration

I exported everything with WordPress’s built-in exporter, then wrote a small script to convert the XML into Markdown frontmatter. Titles, slugs, publish dates, tags — all of it moved cleanly.

The body content was messier. WordPress stores post content as a mix of HTML and Gutenberg blocks. I used Pandoc to convert most of it, then manually cleaned up the rough edges.

Total time: one weekend.

What I gained

Speed. The site now scores 100 on every Lighthouse metric. There’s nothing to be fast — it’s just HTML and CSS.

Simplicity. The entire site lives in a git repository. I write a post in any editor, commit it, push, and a GitHub Actions workflow handles the rest.

Durability. Markdown files will be readable for the next fifty years. The same can’t be said for a WordPress database dump.

What I gave up

Comments. That’s it, really. I’m not sure I miss them.


If you’re a developer running a personal blog, I can’t imagine a reason not to make this switch.