DEV Community

Discussion on: Which headless CMS would you recommend for a blog site?

Collapse
 
jnv profile image
Jan Vlnas • Edited

I can share a personal experience with WordPress. We used it as a headless CMS until a year ago. It's possible things have improved meanwhile, but at the time it was the worst choice for headless CMS by far.

Here's the thing: most WordPress + Next.js starters and tutorials will show you absolute basics. Get list of articles from WordPress API, set innerHTML for the post content, done. Things get tedious pretty quickly if you attempt to do anything more complex like, use WordPress blocks. Want to style blocks with custom behavior? Good luck, WP gives you a monolithic HTML with no information about the blocks, so prepare to do some extra parsing and DOM gymnastics to get done anything more complex than render a text. Even embedding a tweet is a problem, the respective block will render <script> tag for you, but that won't work with innerHTML. Also, some blocks will happily set inline styles for you.

In comparison, most headless CMS provide you with structured data which can be easily transformed and rendered the way you see fit. WordPress will just give you an HTML blob. Oh, and be also prepared to install a lot of plug-ins to make the API at least somewhat usable…

Collapse
 
hunghvu profile image
Hung Vu

Thanks for the great insight!

Collapse
 
jwp profile image
John Peters

Ok. What do you recommend?

Collapse
 
jnv profile image
Jan Vlnas • Edited

Depends on the project.

For a personal blog, no CMS, just Markdown files committed to the repository; I like to keep things simple. We currently do that on Superface Blog, but it doesn't work well for non-technical users and handling image-heavy posts is painful. So I plan to use Notion as a backend. We use it for editorial process anyway.

In case of the WordPress-based project, its successor uses Contentful. I think it's okay choice, but the developer experience could be better. The team basically turned the headless CMS into a page builder and then they cornered themselves by using Contentful's GraphQL API which isn't appropriate for this use case. So it really depends on what sort of content you need to manage.

At the time we also tested Prismic which, compared to Contentful, felt more approachable and cheaper for smaller sites.
For page builder-like experience, Storyblok seems like an interesting choice.
If I needed a lot of structured content and/or heavily customized administration, I'd consider Sanity.
And for larger projects with possible needs for deeper customization and budget for on-prem deployment I'd look into open-source/open-core systems like Strapi, Webiny, or Contember.

Thread Thread
 
annietaylorchen profile image
Annie Taylor Chen

I was going to say something but found your post said mostly what I wanted to say. I agree with your assessment based on my personal experience with MD, contentful, prismic, storyblok and strapi.