Ditching WordPress for Astro
Background
I’ve used WordPress for over a decade, even developing plugins and themes professionally. When I started blogging again in early 2025, WordPress was the natural choice for my personal blog.
Static site generators aren’t new—people have been hosting on GitHub Pages for years. So why did I stick with WordPress for so long? The CMS. WordPress’s backend is genuinely good, especially for image-heavy content. Static sites traditionally meant no visual editor, no media management—just you and your text editor.
Why I Left WordPress
The problem became clear quickly: constant plugin updates. Every login brought notifications. Every week brought update emails. For a blog I update infrequently, the maintenance overhead was absurdly high.
Yes, most updates come from third-party plugins. But I wasn’t running anything exotic, just Kadence (a popular block theme) and a handful of security and performance plugins. Even if I stripped everything down to core WordPress with a custom theme, I’d still need a caching plugin. And building a custom theme means dealing with WordPress’s clunky developer experience, requiring various community workarounds just to get a decent workflow.
Here’s the critical issue: with WordPress, plugins run in production. Every update is a potential breaking change to your live site. Pressable even offers an add-on service that charges money to update your plugins with human verification because breaking things is so common.
Beyond maintenance, my tolerance for slow sites evaporated. The web got faster, and my expectations followed. I want sites to load instantly, get in, read, get out. WordPress out-of-the-box doesn’t deliver that. Even a basic WordPress install requires paid caching plugins to feel snappy.
As I started caring about optimized images, minimal JavaScript, instant page loads — I realized I was bolting plugins onto WordPress to achieve what Astro does by default.
A few things also shifted over the years that made the migration more appealing:
- I got comfortable writing in Markdown. What felt clunky in 2015 became second nature by 2025.
- My content became less imagery, more straightforward text posts. The appeal of a full media manager diminished while the update burden kept growing.
After a 5-year programming hiatus, I’d been catching up on modern front-end development: TypeScript, React, and the Jamstack ecosystem. That’s when I discovered Astro.
The trade-off became obvious: a slightly clunkier editing experience in exchange for better performance, zero maintenance, and a cleaner developer workflow.
The Migration Process
The migration itself was surprisingly painless. Instead of wrestling with WordPress/Astro XML export and import plugins, I had Claude Code crawl my old site and convert everything to Markdown, reformatting images in the process.
When my hosting renewal came up, I chose not to renew. Instead, I migrated all my sites to Astro and hosted them on Cloudflare Pages. The free tier is enough for most use cases, $5/month if I need more.
Here’s the key difference: with Astro (or any other static site generator), the build process happens separately from production. Updates, dependency changes, breaking things—all of that happens locally or in the build pipeline. Your production site is just static files. No server maintenance, no plugin updates, no security patches needed just to keep the lights on.
For a blog that’s mostly text and images, you end up with a handful of Markdown files. That’s it. Portable, version-controlled, and easy to migrate if I ever want to switch platforms again.
The old workflow: log in to write a post, see 2-3 plugin updates waiting, worry about whether they’ll break something. For a simple blog, WordPress’s maintenance burden finally outweighed its convenience.
Last modified: 8 Nov 2025