This article started as a write-up of my move from WordPress to Gatsby, Contentful and Cloudflare Pages. I’ve updated it to explain how the site has evolved since then.
The original move made sense at the time. WordPress had done its job, but I wanted more control over performance, a cleaner publishing workflow, and a site that felt more like an engineering project than a collection of plugins I was carefully hoping not to break.
Why I moved away from WordPress
WordPress was productive, but it also came with the usual trade-offs: plugin maintenance, performance drift, theme complexity, and a general feeling that I was optimising around the platform rather than around the site I actually wanted.
I did not leave because WordPress is bad. I left because I wanted a different shape of ownership and a more deliberate publishing stack.
What Gatsby solved at the time
At the time, Gatsby gave me a clear static-site story. Fast pages, React-based control, modern build tooling, and a decent path into a more performance-focused site. For that phase of the web, it was a sensible choice.
The main thing Gatsby gave me was confidence that the public site could be static-first without feeling limited.
What Contentful added
Contentful separated content from presentation in a way I liked. It gave me structured publishing, cleaner modelling, and a better foundation for future changes than editing everything through a traditional blog engine.
If you are choosing between blog platforms today, that distinction still matters. I cover the wider trade-offs in my CMS comparison.
Why Cloudflare Pages was useful
Cloudflare Pages gave me exactly what I wanted from hosting: fast static delivery, straightforward deploys, previews, and a platform that did not demand much operational ceremony. That part of the decision still holds up well.
It is one reason I still rate Cloudflare highly for content-heavy sites and lightweight public web surfaces. I explain the broader trade-offs in my Cloudflare pros and cons article.
What changed later
The stack did not stop evolving after Gatsby. The current site uses Astro rather than Gatsby, still leans on Contentful for publishing, and still deploys through Cloudflare Pages. That change was not about chasing novelty. It was about preferring a lighter, more content-friendly static-first architecture.
Astro fits the site better because it lets content pages stay mostly content pages. Less client-side weight, less framework ceremony, and a clearer separation between the parts that need JavaScript and the parts that do not.
What the current stack is
Astro for the site architecture
Contentful for structured publishing
Cloudflare Pages and small Pages Functions for delivery
Static-first rendering with selective dynamic features where they earn their keep
What I would choose now
If I were starting again now, I would skip Gatsby for this kind of site and go straight to Astro or a similar content-first static framework. I would still choose a structured CMS only if it genuinely improved the editing workflow. Otherwise, I would seriously consider content collections or MDX in-repo for a simpler setup.
Lessons learned
Moving away from WordPress does not automatically make a site better. The architecture still has to stay simple.
Static-first is worth it when the site is mostly content and discovery.
Headless CMSs are powerful, but only if the extra complexity is justified.
Hosting matters less than content and frontend discipline, but a good platform removes friction.
Bottom line
This migration was never really about one framework beating another. It was about gradually getting closer to the kind of site I actually wanted: fast, maintainable, content-led, and under control. Gatsby was part of that journey. Astro is a better fit for where the site is now.