I Migrated from WordPress to Astro

I've been using WordPress for almost two decades now. I've built hundreds of websites with it, and I've learned a lot about the platform. But I've also seen how the hosting costs can add up, especially when you're paying $40 per month for a DigitalOcean droplet. That's $480 per year for a website that, frankly, doesn't get massive traffic. When I looked at my analytics and realized I was essentially paying premium prices for modest visitor numbers, I knew something had to change.
Today, my site runs on Astro with a serverless infrastructure, and my hosting bill is... well, basically nothing. Since I'm only billed for what I use and my traffic is moderate, most months cost me literally zero dollars. Here's my story of how I made the switch, what I gained, what I lost, and whether it might be right for you too.
The Breaking Point: When $40/Month Stopped Making Sense
My WordPress setup wasn't anything extraordinary. I had a DigitalOcean droplet that I managed myself, which included:
- Full server control and SSH access
- Manual updates and backups (my responsibility)
- SSL certificate via Let's Encrypt
- Self-configured caching and optimization
- Complete flexibility but also complete maintenance burden
While I had full control, I was also the sys admin, the security expert, and the performance optimizer. I was publishing maybe 2-3 articles per month, getting a few thousand visitors, and essentially paying $40/month plus my time for server management. The math just didn't add up anymore.
Enter Astro: The Static Site Revolution
Astro caught my attention for several reasons:
- Zero JavaScript by default: Pages load incredibly fast
- Component-based: I could still use modern development practices
- Markdown support: Writing content remained simple
- Framework agnostic: I could use React, Vue, or vanilla JS when needed
But the real game-changer? Deploying to Cloudflare Workers (or similar serverless platforms) meant I'd only pay for actual usage.
The Migration Process: Not as Scary as It Sounds
I won't sugarcoat it – migrating years of WordPress content took some effort. Here's what I had to do:
- Export WordPress content: Used the built-in WordPress exporter to get all my posts
- Convert to Markdown/Astro pages: Wrote scripts to transform WordPress HTML to clean Astro components
- Handle images: Downloaded all media files and organized them in a sensible structure
- Preserve URLs: Maintained the same URL structure for SEO
- Recreate functionality: Rebuilt essential features like search, categories, and tags
The whole process took me a single weekend of focused work. Intense? Yes. But absolutely doable when you're motivated by those monthly hosting bills.
The Cost Breakdown: Where the Magic Happens
WordPress Costs
- DigitalOcean Droplet: $40/month ($480/year)
- Premium plugins: ~$100/year
- Time spent on server maintenance: Countless hours
- Total: ~$580/year plus my time
Astro + Serverless Costs
- Cloudflare Workers: $0 (free tier covers my traffic)
- Build minutes: $0 (using free tier)
- Total: $0/year
That's a 100% cost reduction on hosting. From $580/year to literally nothing. And no more server maintenance headaches!
What I Gained: The Unexpected Benefits
1. Global Distribution
The site is now distributed across Cloudflare's global CDN network. Instead of serving everything from a single DigitalOcean droplet, static files are now cached and served from edge locations worldwide. This means faster load times for visitors regardless of their location.
2. Version Control Everything
Every change is now in Git. I can track modifications, revert changes, and collaborate using proper development workflows. No more "who changed what" mysteries.
3. Simplified Backup
My entire site is in a Git repository. That's my backup. No more database dumps or complex backup plugins.
4. Developer Experience
Writing in my code editor with proper syntax highlighting, using modern JavaScript when needed, and having full control over every aspect of the site – it's liberating. Plus, I redesigned the entire site from scratch instead of being tied to my old custom WordPress theme, giving it a fresh, modern look that better represents my current skills.
5. No More Server Management
Remember those DigitalOcean droplet maintenance tasks? Updating PHP, configuring nginx, managing MySQL, monitoring server resources, dealing with memory leaks, fixing permission issues... All gone. The serverless infrastructure just works.
What I Lost: The Trade-offs Are Real
Let's be real about the downsides:
1. No Admin Dashboard
Gone are the days of logging into wp-admin to write a post. Now I write in VS Code. For me, this is fine since I don't publish daily, but for content teams, this would be a dealbreaker.
2. No WYSIWYG Editor
WordPress's Gutenberg editor, love it or hate it, made formatting easy. Now I write in Markdown. Again, I'm comfortable with this, but non-technical users would struggle.
3. Comments and Contact Forms Required Custom Development
In WordPress, I had built-in comments and simple plugins for contact forms. With Astro, I had to build these from scratch. Being a developer, I created my own comment system with nested replies, built a custom contact form, and even developed an admin dashboard for managing them. It works great now, but it took time and effort that WordPress users get out of the box. Not everyone has the skills or time to build these features themselves.
4. Dynamic Features Require Work
Search and other dynamic features – everything that was a plugin in WordPress now requires either:
- Third-party services
- Custom API routes
- Client-side JavaScript
5. No Scheduling Posts
Want to publish something next Tuesday at 3 PM? In WordPress, that's two clicks. With Astro, I need to push to Git at that exact time or set up CI/CD automation.
6. Plugin Ecosystem
Need a feature? In WordPress, there's probably a plugin. With Astro, you're often building it yourself or integrating external services.
WordPress vs Astro: The Comprehensive Comparison
Aspect | WordPress | Astro | Winner |
---|---|---|---|
Performance | Depends on hosting, caching, and optimization. Can be fast with effort and money. | Lightning fast by default. Static files served from CDN edge locations. | Astro ⚡ |
Cost | $20-100+/month for decent hosting | $0-5/month for most sites | Astro 💰 |
Ease of Use | User-friendly admin, visual editing, no coding required | Requires technical knowledge, command line, Git | WordPress 👍 |
Flexibility | Thousands of themes and plugins, but limited by PHP/MySQL | Total control, but you build most features yourself | Tie 🤝 |
Maintenance | Regular updates, security patches, plugin compatibility | Minimal maintenance, update when you want | Astro 🛠️ |
SEO | Excellent with plugins like AIOSEO or RankMath | Great performance boosts SEO, features need manual implementation | Tie 🤝 |
Content Management | Best-in-class CMS with media library, user roles, revisions | Files in folders, Git for version control | WordPress 📝 |
Who Should Consider Switching?
Astro is perfect for you if:
- You're comfortable with code and Git
- You prioritize performance and cost savings
- You don't need frequent content updates
- You want complete control over your site
- You're building a portfolio, documentation, or blog
Stick with WordPress if:
- Non-technical people need to edit content
- You need complex dynamic features
- You rely heavily on plugins
- You publish content multiple times daily
- You need user accounts and permissions
Making Peace with the Trade-offs
Two weeks into using Astro, do I love it? Not really. I miss the WordPress admin. I miss how easy things were with plugins. Writing in a code editor isn't as pleasant as a nice CMS interface. But you know what I absolutely love? Not spending $580/year on hosting. Not worrying about PHP updates breaking my site. Not dealing with server maintenance, memory limits, or nginx configurations.
The money I'm saving? That's $580/year ($480 from hosting + $100 from plugins) that stays in my pocket. The peace of mind from not maintaining servers? Priceless. I may not be in love with Astro itself, but I'm definitely in love with the simplicity of serverless, the zero hosting bills, and never having to SSH into a server at midnight because something broke.
The Hybrid Approach: Best of Both Worlds?
If you're torn, consider these hybrid solutions:
- Headless WordPress: Keep WordPress as a CMS but use Astro as the frontend
- Astro + CMS: Use services like Contentful or Strapi for content management
- Incremental migration: Move marketing pages to Astro, keep blog on WordPress
My Workflow Now
Here's how I work with my Astro site today:
- Open VS Code
- Write content in Markdown with frontmatter
- Preview locally with
npm run dev
- Commit and push to GitHub
- Automatic deployment via CI/CD
- Site updates in under a minute
Is it as convenient as clicking "Publish" in WordPress? No. But the control, performance, and cost savings make up for it tenfold.
Final Thoughts: It's About the Money (and the Headaches)
Let's be real: I didn't switch to Astro because I fell in love with static site generators. I switched because I was tired of bleeding money for a low-traffic site and exhausted from playing server administrator on weekends.
Do I miss WordPress? Every single day. Would I go back? Not for $580/year. The developer experience in Astro isn't amazing – it's just different. But the hosting bills? Those are amazing. The server maintenance? Beautifully non-existent. The PHP update anxiety? Gone forever.
My migration from WordPress to Astro was purely practical. I traded convenience for cost savings, a nice admin panel for freedom from server management, and easy plugin installation for never worrying about PHP versions again.
Would I recommend everyone drop WordPress for Astro? No. WordPress is still fantastic for what it does. But if you're technically capable, if your hosting bills make you wince, and if you're tired of server maintenance, then yes – the inconvenience of Astro might be worth the savings and simplicity.
I may not love Astro, but I sure love keeping that $580/year. And I really, really love never having to update PHP again.
Have questions about migrating from WordPress to Astro? Found this helpful? Feel free to reach out – I'm happy to share more details about the migration process, specific technical challenges, or anything else about my experience making the switch.
Comments
Share your thoughts and join the conversation
No comments yet
Be the first to share your thoughts!
Failed to load comments
Please try refreshing the page
Leave a Comment