The Best CMS for a Developer Blog (On a Modern Stack)
Developers who blog have strong opinions about their tools, and most CMS platforms fail their taste test on contact. WordPress feels bloated. Medium and dev.to own your audience. Static-site-plus-Markdown is clean until you want comments, scheduling, or an editor that isn't your text editor. What a developer blog actually wants is a CMS that respects code — proper code blocks, an API, Git-friendly ownership, and a stack you'd actually choose.
This guide is about picking a CMS for a developer blog that you'll still like using in a year.
What a developer blog needs
Developers optimize for a specific set of things:
- Great code presentation — syntax-highlightable code blocks, not mangled formatting.
- An API — because you'll want to script things, and maybe go headless later.
- Ownership and no lock-in — your writing builds your domain, not a platform's.
- A stack you respect — developers care what a tool is built on and won't tolerate bloat.
- The essentials done right — SEO, scheduling, comments, without a plugin zoo.
A developer will judge a CMS by its architecture as much as its features. That's fair — you have to live in it.
The short answer
For a developer blog, a self-hosted, modern-stack CMS with a clean API beats both bloated traditional CMS platforms and audience-renting publishing sites. You own your content and domain, you get an API when you want it, and you're on a stack you chose.
UnfoldCMS is built on Laravel 12, React 19, TypeScript, Inertia 2, Tailwind v4, and shadcn/ui — a modern stack, not legacy PHP. It self-hosts, ships a REST API at /api/v1, and includes the blog essentials. It's aimed squarely at developers who want to own their blog. Below is why the stack and the details matter.
The stack developers actually want
Most CMS choices ask you to accept a stack you'd never pick for a new project. UnfoldCMS doesn't:
- Laravel 12 backend — the mature, well-loved PHP framework, not raw legacy PHP.
- React 19 + TypeScript admin, wired through Inertia 2 — a real single-page admin, not jQuery-era forms.
- Tailwind v4 + shadcn/ui — the admin is built from 51 shadcn/ui components across 210 admin pages, so it looks and feels like something you'd build yourself.
If you care what your tools are made of — and developers do — this is a CMS whose internals you can respect and extend. See what makes a CMS developer-friendly and the 51 shadcn/ui components we built.
Code and content, handled properly
A developer blog is full of code. The essentials UnfoldCMS gives you:
- A real editor for the post body with a featured image (auto-converted to fast WebP).
- Drafts and scheduling — write a batch, set future publish times, posts go live on their own. Scheduling runs synchronously every minute, no queue worker, works on cheap shared hosting.
- Categories to organize by topic.
- Comments in the core — threaded discussion built in, with a moderation queue. No third-party comment widget renting your readers.
- Slug history — rename a post's URL and old links still resolve.
One honest note: the post body is stored as HTML/Markdown-rendered content. There's no revision history to roll a post back to an earlier version inside the CMS — a real gap if you rely on that. Version your drafts in Git if it matters to you.
The API: go headless when you want
Even if you start with the CMS rendering your blog directly, you may later want to build a custom front end. UnfoldCMS ships a versioned REST API at /api/v1 so you can:
- Fetch posts, pages, categories, and search results as JSON.
- Build a custom Next.js, Astro, or SvelteKit front end against it.
- Trigger rebuilds with HMAC-signed outgoing webhooks on publish.
It's REST, not GraphQL — no GraphQL endpoint. For a developer blog front end fetching posts and lists, REST is all you need. This means you're not locked into the built-in theme forever; the same content can power a hand-built front end later. See CMS with a REST API and headless CMS for Next.js.
Ownership: build your domain, not a platform's
The strongest reason to self-host a developer blog is compounding ownership:
- SEO builds your domain. Every post raises your site's authority, not dev.to's or Medium's.
- Your audience is yours. No platform sits between you and your readers.
- No lock-in. REST is standard; your content is on your server; you can migrate anytime.
You can still cross-post to dev.to or Hashnode for reach — just keep the canonical version on your own domain so the SEO value accrues to you. See avoiding vendor lock-in with a self-hosted CMS.
When something else fits
Be honest about tradeoffs. Choose differently if:
- You want zero maintenance and don't want to run a server — a hosted platform or managed host is easier.
- You want pure Markdown-in-Git with no database at all — a static generator like Astro or Hugo alone fits, though you lose the admin UI, comments, and scheduling.
- You need revision history as a hard requirement — plan around its absence or pick a tool that has it.
Frequently asked questions
What is the best CMS for a developer blog?
A self-hosted, modern-stack CMS with a clean API is best for a developer blog — you own your content and domain, get an API for going headless, and run on a stack you respect. UnfoldCMS fits: it's built on Laravel 12, React 19, and shadcn/ui, self-hosts, and ships a REST API. Static generators suit developers who want pure Markdown-in-Git and don't need an admin UI or comments.
What stack is UnfoldCMS built on?
Laravel 12 (backend), React 19 with TypeScript and Inertia 2 (admin), and Tailwind v4 with shadcn/ui — the admin uses 51 shadcn/ui components across 210 admin pages. It's a modern stack, not legacy PHP.
Can I go headless with a developer blog later?
Yes. UnfoldCMS ships a REST API at /api/v1, so you can build a custom Next.js, Astro, or SvelteKit front end against the same content and trigger rebuilds with HMAC-signed webhooks. It's REST, not GraphQL.
Does it have built-in comments?
Yes — threaded comments ship in the core, with a moderation queue, so you don't need a third-party widget that rents your readers. Guest comments are configurable.
The takeaway
A developer blog needs a CMS that respects code, offers an API, and lets you own your domain — on a stack you'd actually choose. UnfoldCMS fits: modern Laravel/React/shadcn stack, self-hosted, REST API, comments and scheduling built in. The honest caveat is no revision history — version drafts in Git if that matters. If you want zero-maintenance or pure Markdown-in-Git, a hosted platform or static generator is the alternative.
Related: What makes a CMS developer-friendly · CMS with a REST API · Avoiding vendor lock-in with a self-hosted CMS
Free & Open Source
Own your CMS. No subscriptions.
Unfold CMS is free to download and self-host. Built on Laravel + React, full source code included.
Share this post: