My WordPress sites were slow. Not unusably slow, but slow enough that I knew I could do better.
Three seconds to first contentful paint. Every page. Every load. Acceptable, sure. But I was leaving conversion on the table.
So in February, I rebuilt two of my sites in Astro and deployed them to Cloudflare Pages. First contentful paint is now 0.4 seconds.
Here's why I did it, what broke, and whether you should care.
Why WordPress got slow
WordPress sites get slow because of: 1. Plugins — Every plugin you install makes your site slightly slower 2. Database queries — Each page load hits the database multiple times 3. Image optimization — Photos need to be optimized for mobile, desktop, retina, etc. WordPress doesn't handle this elegantly by default 4. Caching complexity — WordPress needs plugins to cache. Then those plugins need configuration. Then they conflict with other plugins.
I had 12 plugins. Good plugins, but 12 nonetheless. The site was doing 50+ database queries per page load.
Also, WordPress hosting (I used Kinsta, which is actually good) costs $35+/month. Good hosting, but expensive for a simple blog.
What's Astro
Astro is a static site generator. The distinction matters:
WordPress: Server gets request → queries database → runs PHP → generates HTML → sends to browser
Astro: You build the site once → generates HTML files → server just serves the files
The second is way faster because there's no computation happening at request time.
Astro is specifically good because: 1. You can use modern JavaScript frameworks (React, Vue, Svelte) but they only run where you need them 2. It generates static HTML by default 3. It's fast to build 4. Cloudflare Pages (where I host) is basically free ($0 for small projects)
The build process (for non-technical people)
Instead of WordPress's admin dashboard, you write your content in markdown files. Your computer runs a build process that turns those markdown files into HTML. Then you push those HTML files to Cloudflare Pages.
On every deploy, Cloudflare rebuilds your site and pushes it to its global CDN. Now your site is served from the edge, not from a central server.
This is why it's fast.
The honest conversion numbers
Old site (WordPress on Kinsta):
New site (Astro on Cloudflare Pages):
The faster site converted better. Whether that's causation (people sign up because it's fast) or correlation (I also improved the copy) is unclear. Probably both.
Newsletter signups are up 40% in two weeks.
What broke
WordPress admin dashboard is gone. Now I have to:
If I misspell something, I don't fix it in an admin panel. I fix the markdown file and redeploy.
This is actually slower for quick corrections. With WordPress, I'd fix a typo in 10 seconds. With Astro, I'd edit the markdown, rebuild, and deploy (2 minutes).
Also, I lost:
Those plugins are useful. Now if I want that functionality, I have to write custom code.
The cost comparison
WordPress:
Astro + Cloudflare:
The 8 hours is the kicker. But if you're building a new site, you don't have that cost.
Who should switch
You should switch if:
You shouldn't switch if:
The bigger picture
The web is moving away from CMS-centric architecture. Instead of WordPress doing everything (hosting, rendering, database), services are specializing.
Astro handles static generation. Cloudflare handles CDN and edge computing. If you need a database, you use something like Supabase. If you need a CMS interface, you plug in Decap CMS or Sanity.
It's more complex to set up, but once it's set up, it's faster, cheaper, and more maintainable.
Would I do it again
Yeah. The performance gains are real. The cost savings are real. The developer experience is better.
But I'm not going to migrate my high-traffic sites. One of my authority sites gets 50K visits per month and serves AdSense. The revenue justifies WordPress hosting and the ecosystem complexity.
But for new projects and smaller sites? Astro + Cloudflare is my default now.
The learning curve
One thing I didn't mention: Astro has a steeper learning curve than WordPress.
You need to be comfortable with:
If you're non-technical, WordPress is still better. The admin interface is good. Things are documented. You can Google your way through problems.
Astro requires you to be willing to code a bit. Not a lot, but some.
Hybrid approach
You don't have to choose. Some people run Astro for the blog and WordPress for e-commerce or membership. The combination works.
Or you could use a headless WordPress (database only) + Astro (frontend). That gives you WordPress content management + Astro performance.
That's probably the future, actually. WordPress gets good at managing content. Astro/Next.js/whatever gets good at presenting it fast.
The real conclusion
The web is moving toward decoupled architecture. The tool that stores your content (CMS) is separate from the tool that displays it (static generator or framework).
WordPress was an all-in-one solution. That made sense when the alternatives sucked. Now the alternatives are better for specific use cases.
Pick the architecture that makes sense for your specific needs. Don't pick based on what you know. Pick based on what makes business sense.
That's the competitive advantage now.