Hey everyone,
I recently helped a friend transition from a failing WordPress site to using Contentful as a headless CMS with Next.JS on Vercel. While it worked fine initially, we've hit the API limit of the free tier after just a few months, and now they've paused the site. It feels like Contentful is pushing towards enterprise pricing, which isn't feasible for a simple blog at $300 a month.
I could optimize the API calls, but I really think it's time to explore other options. I'm torn between searching for another headless CMS or going with a blog-focused platform like Ghost. While a headless approach might allow for more flexibility, Ghost could offer a solid long-term solution.
Here's what I need:
1. An admin interface so my friend can manage content easily, and possibly even handle the design (though I'm okay managing that through NextJS).
2. The ability to create static pages, blog posts, and category pages based on tags.
3. We currently have a newsletter function through a webhook to Buttondown, so it would be great to either replicate that or have it built-in (like Ghost).
4. Given we have a well-structured content setup on Contentful—11 content types and over 1200 entries—the new platform must support decent limits and a structured approach, avoiding options like Webflow that could quickly lead to a need for a business license due to CMS limits.
I know this combines two questions—about headless CMS options and blog platforms. I had a look at Strapi and Sanity but am worried about hitting limits again. Kirby CMS is on the table too, and I've considered Ghost. I'd love to hear your thoughts or suggestions!
1 Answer
I've been using Strapi on my own Hetzner server, and it's super affordable at around $3. It works flawlessly for my needs! Just to clarify, Strapi is self-hosted, so you would log into your server rather than a third-party service like Contentful. This gives you a lot more control over your setup.

Thanks for clarifying that! So I’d need to deploy both the CMS and the actual site on the same server, right?