After 15+ years on WordPress, I’ve finally moved the blog. You’re now looking at Hugo with the PaperMod theme, hosted on Azure Static Web Apps.
For those keeping score, this is actually the blog’s third home. I started writing on Windows Live Spaces back in 2009, which Microsoft later migrated to WordPress.com. Some of those earliest posts still have placeholder images where Live Spaces screenshots used to live – a reminder that platform migrations are nothing new around here.
Why Leave WordPress?
WordPress.com served me well for a long time, but I’ve been itching to make a change for years. I don’t need a CMS, a database, or PHP. I write markdown and paste in PowerShell – that’s about it. WordPress’ admin UI had become oppressive – or as my kids would say, extra.
As an infrastructure guy, I also wanted more control over the hosting. Static site generators produce plain HTML files that can be served from practically anywhere, with no runtime dependencies and no attack surface worth mentioning. That’s appealing.
Why Hugo on Azure Static Web Apps?
Hugo is fast, has no runtime dependencies, and the content is just markdown files in a Git repo. That means version control, branch-based previews, and CI/CD – things I already use every day.
Azure Static Web Apps made the most sense for hosting:
- Free tier covers everything I need
- GitHub Actions integration for automatic deployments on push to
master - PR preview environments out of the box
- Custom domain and TLS with zero configuration
- Global CDN
The whole pipeline is: write a post, commit, push, done. No plugin updates, no database backups, no WordPress admin console.
The Migration
I used Claude Code to help with the migration – converting WordPress exports to Hugo-compatible markdown, reformatting frontmatter, cleaning up image references, and building out the site configuration. I ran agent teams to pull in all the old posts and scan for dead links. It saved me a ton of time on what would have otherwise been tedious, repetitive work.
All 131 posts made the trip, with the original URLs preserved so existing links still work.
A Note About AI on This Blog
Speaking of Claude Code – I’m a big fan, and I’m looking forward to a future where natural language programming makes traditional scripting languages optional. I write plenty of code, but my job is to play the orchestra – and tools like this make that easier. I’ll be writing about how I use it to manage Entra ID and Microsoft Graph in future posts. It’s a massively useful tool for infrastructure work.
That said, I want to be upfront: I will not use AI to generate blog posts. Every article on this site is written by me. I use AI as a helper – for migration grunt work, code review, polishing the occasional rough paragraph, and bouncing ideas – but not as an author. I have no interest in contributing to the growing pile of AI slop on the internet, and I think you deserve to know that a real person with real opinions is behind what you’re reading here.
If something on this blog has my name on it, I wrote it.
No Comment Section
You may have noticed there’s no comment section. For now, that’s intentional – I’d rather keep things simple. If you want to reach me, I’m available through the social links on this site (GitHub, LinkedIn, X, etc.).