On the Merging of Headless and Traditional CMS

Back in 2019 (I’m told), I coined the term “race to the middle.” I don’t actually remember doing this, but lots of people have said I encapsulated the idea that coupled (traditional) CMS and decoupled (“headless”) CMS were on a collision course. They were each adding features to become more and more like “the other side.”

Both sides were on a “race” to someplace in “the middle,” meaning some theoretical functional set that embodied the best aspects of both philosophies: remote access to pure data, plus website-hosting and advanced page-building.

In the developer keynote at Sitecore Symposium back in 2018, I framed this as a “red ocean/blue ocean” strategy. Headless vendors had (to that point) been cruising in a “blue ocean” – they created a new category and had it all to themselves.

Inevitably, sales stalled. And when vendors start losing sales – when they start fighting in a “red ocean” – they adapt to be more like who they’re losing sales to. On the other side, the same thing was happening. When Sitecore and Optimizely started losing sales to headless vendors, they began adapting in the opposite direction.

And the “race” was on.

This week. Contentstack showed off their new visual building capabilities. What I saw was absolutely lovely, to be sure, but I’ve also seen similar things from Contentful and Storyblok.

…and from Optimizely. And Sitecore. And Adobe.

So, I’ll say the thing out loud –

Mainstream “headless” vendors have become what they swore they were created to destroy. They have become traditional CMSs. They’re no longer “headless” is any meaningful sense, and they have simply transcended (obliterated?) that category and distinction.

Yes, yes, they technically deliver “pure data” – whatever that even means – and use client-side templating to render. NO ONE CARES. That’s like saying you use HTML5 rather than HTML4, or REST rather than SOAP. Stop clinging to this distinction like it matters. It’s a technical detail, at best.

(Consider: anyone can deliver “pure data” in the form of really simple, server-rendered HTML then “template” it in CSS and JS. They’re really just serializing the data in a different language – HTML rather than JSON. Ask Adobe for a demo of Edge Delivery Services sometime. Or look at HTMX. Maybe read up on HATEOAS.)

On the other side: Optimizely has umpteen-million ways to get content out now, if you don’t want to server-side render it. Multiple REST APIs, and GraphQL in Opti Graph. I’ve argued before that Opti has really always been “headless” at some level, and that’s never been more true than it is today

So, THE RACE IS OVER. Everyone has arrived. It turns out the finish line was a big circle, and now we’re all standing around in it.

We have entered the era of Universal CMS (props to Preston). The headless/traditional distinction is gone. If you’re not Universal, then you’re… well, something else, out of the mainstream.

No one cares anymore. No one SHOULD care anymore. Let’s all move on.

This is item #2 in a sequence of 58 items.

You can use your left/right arrow keys to navigate