Why We Chose Strapi as Our Headless CMS
Choosing a CMS is one of those decisions that shapes every project that follows. Get it wrong and you are fighting the platform instead of building what matters. After years of working with WordPress, dabbling with Contentful, and testing out Sanity, we settled on Strapi - and it has genuinely changed how we approach client work.
What is Strapi?
Strapi is an open-source headless CMS built on Node.js. Unlike traditional content management systems that bundle the backend and frontend together, Strapi focuses purely on content management and delivers everything through a clean REST or GraphQL API. You bring your own frontend - whether that is Astro, Next.js, React, or anything else that can make HTTP requests.
Why Not WordPress Headless?
We still build plenty of WordPress sites, and we are good at it. But using WordPress as a headless CMS always felt like forcing a square peg into a round hole. The REST API works, but it carries decades of legacy baggage. Custom post types need plugins, the API responses are bloated, and you are still running PHP on the server for what is essentially a JSON endpoint. It works, but it is not elegant.
Strapi was built API-first from the ground up. There is no legacy to work around. Every content type you create automatically gets a well-structured API endpoint with filtering, sorting, pagination, and population of related content. It just makes sense.
Content Types That Actually Flex
One of the things that sold us immediately was the content type builder. Need a case study with a title, client name, tech stack array, results metrics, and a gallery of screenshots? You can build that content structure in minutes through the admin panel - no plugins, no custom code, no messing about with register_post_type functions.
Components and dynamic zones take it further. We build reusable content blocks - hero sections, feature grids, testimonial carousels - that content editors can mix and match on any page. It gives clients real flexibility without them needing to touch code or install page builder plugins.
Self-Hosted Means Full Control
This was a dealbreaker for us with platforms like Contentful and Sanity. They are brilliant tools, but your content lives on someone else's infrastructure. Pricing scales with usage, and you are locked into their ecosystem. With Strapi, we host it ourselves. The database is ours. The media files are ours. If Strapi the company disappeared tomorrow, our sites would keep running.
For agencies managing multiple client sites, that independence matters. We are not accumulating monthly SaaS bills that eat into margins, and we are not explaining to clients why their content platform costs went up because they added more editors.
Developer Experience Worth Talking About
Strapi 5 runs on TypeScript, has a solid plugin system, and the codebase is clean and well-documented. Setting up custom controllers, services, or middleware feels natural if you are comfortable with Node.js. The admin panel is built with React, so customising it is straightforward too.
The media library handles image uploads, transformations, and organisation without needing third-party services. Role-based access control is built in, so you can give clients editor access without worrying about them breaking things. Internationalisation support is there if you need it.
Pairing Strapi with Astro
Our current favourite combination is Strapi for content management and Astro for the frontend. Astro generates static HTML at build time, pulling content from Strapi's API. The result is websites that load incredibly fast, score perfectly on Core Web Vitals, and cost almost nothing to host. The content team gets a familiar editing experience in Strapi, and the end users get a site that feels instant.
The Community Edition is Production-Ready
Unlike some open-source tools where the free tier is basically a demo, Strapi's community edition is genuinely usable for production work. We have been running client sites on it without hitting limitations. The enterprise features - things like SSO, audit logs, and review workflows - are nice to have, but they are not essential for most projects we deliver.
If you are building websites and still wrestling with a CMS that was not designed for modern development, it is worth giving Strapi a proper look. It is not perfect - the plugin ecosystem is smaller than WordPress, and the learning curve is steeper for non-technical editors - but for agencies and developers who want full control over their content infrastructure, it is hard to beat.