TL;DR (Opinion): Headless and static CMS has devolved into a labyrinthine jungle of scrappy projects. I like a few of them. But boring old Wordpress has a lot to teach them all about useability..
I’ve been building Wordpress websites way back since I was a chirpy, enthusiastic young university student (I was neither that chirpy nor enthusiastic but let’s stick with that as the story please).
And Wordpress — for all its … simplicity ..has served me very well over the years.
Back in the day, I built a whole news website type thing with it (this was before everyone and their grandmother had a blog).
Lately I hacked together a data portal. Wordpress is great. But — okay, I’ll admit it — it’s very … vanilla.
I think that this motivation — the proclivity of many to explore whatever’s just a little more ‘out there’ and alternative (in CMS terms that is — this is a tech blog) is a huge part of the reason why there are officially a gazillion and one static site generators (SSGs), flat file CMSes, and every other combinations of bits and bytes that can take some ideas and put them into some human-digestible format on the internet.
The Long Tail Of CMSes Is … Oh My … It’s Long
No, really.
If you ever get a rabbit-hole-impending warning coming from me you know it’s a fricking deep one.
If you haven’t gone down the CMS rabbit hole, please (I beg): Do yourself a favor and temper any desire you may have to try them all out.
You will disappear for days, maybe weeks, into an online abyss that’s deeper than you ever imagined. You will mumble to your spouse or anyone prepared to listen about what a CMS is and what you’re about to discover by tapping to the great beyond of them.
Wait, somebody’s made the 50th markdown-first CMS … in 2024 alone .. you will find yourself dreaming.
Why yes they have! It’s called MDStaticGPT and it’s taken all the best things about ChatGPT, static, and … yawn. And it comes replete with a shiny Discord server and some cool graphics. But it’s okay. I give you permission to let this one pass you by.
Jamstack is cool.
I really want to try Statmatic.
And Wagtail.
But look at this list of CMSes. Perhaps I’m just jaded and cynical but I don’t think humanity has ever wished to spawn a list of website-making technologies this long. There are almost as many CMSes in existence as there are medicines on the WHO Essential Medicines list (*okay, I exaggerate a little).
(I checked out the entire list of these things this week. No, actually, did!)
Who Really Benefits From The Sprawling Labyrinth Of Niche CMS Projects?
(Rhetorical question. Your answer can’t be “the people selling them as SaaS)
So getting above the minutiae of differentiators and deployment mechanics, here’s what I would argue has really happened:
The collective interest of developers to create something more “dev-friendly” ”/ “hackable” / [insert your buzzword] than Wordpress (utter it quietly) hasn’t resulted in the arrival of one “anti-Wordpress” that’s like Wordpress for people who can tolerate editing (prepared to shudder) code.
Rather, it’s spawned a long tail of literally hundreds of CMSes many of which are buggy, poorly-documented, and — yes, some will hate this — hard to distinguish from one another.
It reminds me of adopting the Linux desktop around the year 2000 when it seemed like there was a new distro coming out every second minute. Things have gotten a little better since.
Oh. And rapid development of very similar things demands extraordinary creative powers to think of ways to differentiate them.
The weirdest trend in tech marketing I’ve seen in a while?
Describing new products by referring to them as the hypothetical love-child of two well-known technologies (really … can this be stopped somehow).
”It’s like Git and PostgreSQL had a baby”
Wordpress and MySQL were having sex in missionary but then our AI thingy came on the scene and made it in a threesome worthy of porn (okay, this one I made up).
(Postgres is typically represented by an elephant and if Git were personified it would be a cranky startup founder in Silicon Valley worried about running out of Ritalin. Beastiality aside, they’re not having a child any time soon. Why has noone but me done the due diligence on these mental images before unleashing them on the world!?!?)
Headless CMS: The Stack Devs Made For Content People Who Are Confused By Them
So here’s the thing about the great and never-ending attempt to reinvent Wordpress:
Arguably like so many ‘things’ that gone before it, it was working on a problem that didn’t need “fixing.”
Because here’s a fact that I think is deeply disappointing for many:
For the vast majority of the great unwashed internet-using population and — one might argue — even the vaunted ‘enterprise,’ plain old Wordpress is Good Enough (trademark pending).
And “Good Enough” is the arch nemesis of the technology industry which prides itself upon the restlesness of its need to innovate.
Don’t get me wrong, here:
There are valid concerns about the security of the Wordpress codebase and the fact that like all the internet is probably running on it makes it an enormously appealing attack vector for would-be hackers.
If you’re going to put effort into cooking up some good ransomware, Wordpress is probably a much better bet than Daniel’s Markdown Generator 3.0 with its userbase of Daniel.
Static websites (note: this site is static) are inherently faster (although that doesn’t stop the various static site generators from differentiating themselves based upon the number of miliseconds of loading time they reduced themselves by. Word of truth: nobody but the benchmarking tool is able to detect any of these differences).
But those aspects of the value prop are totally negated by the majority of the internet-building community by the massive elephants in the room this blog’s title alluded to.
But first, another sloth graphic:
Headless CMS & Stack-Creep: Swapping 1 Tool For 4
In a simpler time, your classic web script for creating blogs (AKA ‘CMS’)consisted of a single component which had a frontend and a backend.
It was easy to use and the fact that millions of other simple people like you were using it meant that if you couldn’t figure something out there was always a plugin just a couple of clicks away.
If you got hacked, so did lots of other people and you could find solace in collective misery.
But while Wordpress is effective, for those of us beholden of a desire to tinker with technology, it isn’t satisfying.
Even simple Wordpress users like you and me have moments when we feel that we could leverage something better and conquer the world if only we had it.
We reckon that if only we had the CMS equivalent of a Ferrari and not the beat-up hunk of PHP everyone is using and abusing that then we could really go on to prove our mettle in an internet that’s never been more crowded.
In 1991 you could impress your date by mentioning that you were distantly related to somebody who once owned a computer and it only took up a whole floor of their house and could do a math problem in only a decade.
In today’s era you need something extraordinary to differentiate yourself from the great unwashed hordes of Wordpress users.
But then you Google the alternatives and get back to this:
In its well-intentioned quest to create something really innovative, truly spectacular, the runaway industry of new -and-better CMSes has instead spawned a whole new tech stack where before there was just … CMS.
To reuse content — a sensible recommendation, by the way — we’re told that we need to stop thinking about it as words and thoughts.
It’s code — those expressions and thoughts that lowly non-developers have running through their heads.
And it needs to be reduced to an API (has someone termed the call API-fication yet or can I get that claim to fame?!).
Surveying the sprawling ecosystem of better, cooler CMSes one feels a whiff of shame for feeling the need to resort to using any level of GUI in order to create ‘content’ on the internet.
Markdown is offered as a kind of friendly middleground (lest this ever be misconstrued: I’m a huge markdown fan. In fact, I’m writing this post in markdown!)
If you can’t handle markdown then I guess you should accept that you were too stupid to have Googled easy to use Wordpress alternatives
and should crawl back into your Wordpress came from whence you came.
(Pet peeve #2: as a somewhat tech-literate non-developer who has made a reasonably good career to date working in tech marketing alongside plenty of actual developers, I hate seeing ‘non-technical users’ referred to as a homogenous category of presumed imbeciles who might on a good day know how to turn on a computer but on an average day, if they knew what an SSH key was, be assumed to be stupid enough to delete the whole AWS account. Also: who decided that “developers” should be knighted the kings of this strange new content fiefdom? Besides developers, I mean…)
The Boring Nuts And Bolts Of CMS Trump What’s New And Flashy
The above is why Wordpress still not only proliferates but thoroughly dominates the CMS market. Drupal and Joomla and to a lesser extent Ghost are somewhat known. But venture beyond Reddit and the name ‘Strapi’ won’t get the kind of recognition you might have been hoping for.
So where were we?
What’s probably not coming across is that I think that headless CMS is a bloody good idea. This isn’t a hatched job on headless/static/flat-file (yes, I know that these are different things). Rather, it’s a case against unnecessary proliferation of unrefined products whose common denominator is that they regard useability for mere mortals as a ‘nice to have’ (if even).
Key problems:
Way Too Many Novel CMSes Fall Down On Basic Useability
For alternative CMSes to become … non-alternative … they will have to accept the need to accept that for most non-technically-gifted users there are some basic must-haves for a tool to be useable.
And a properly QA-d codebase and adequate documentation are only the beginning. Plenty of companies understand this and invest well in customer success and customer support and documentation. Such companies tend to be loved by their users.
Some of the “must haves” include that:
The CMS Has To Be Functional At A Basic Level
This goes of all software but especially CMSes which are the workhorses of day to day online content generation.
- 1: There’s a whole litany of CMSes out there that are terribly documented and barely useable but which are nevertheless dressed up in delightful marketing. This is probably known to the devs and the few people who’ve actually spent time using them.
A Single Keystroke Shouldn’t Ever Kill The Entire Backend!
- 2: Many headless CMSes — even those I love, like Astro CMS — are, by normal people standards, also completely unfit for their intended purpose of creating websites
If I were to botch a HTML entity in the CMS I’m using for example my whole dev server — the only way I can visually preview the content I’m typing — will come crashing down.
Wordpress may be tempermental but you at least don’t have to hope that you’ll manage to debug an NPM package just to be able to get the nice-visual-thingy back.
If I were to bring this up as an obvious problem in a dev-centric community I presume I’d be considered an imbecile and told to go back to Wordpress.
But outside of the developer bubble one sometimes feels these tools are intended for, issues like this are justifiably considered complete deal-breakers and blockers to widespread adoption.
Other “Real World” Issues With Headless CMS:
No-one Really Wants A Content “Stack” (Besides Those Marketing It). Especially Not Content Creators.
Finally I come back to stack-bloat.
I was sincere when I said that I think that headless CMS is a brilliant idea. However, I think that the downside of the idea is also easy to underappreciate.
If we reconceive of the CMS from being an end to end tool that is great at making it easy to publish web pages and see it instead as only a constituent element in a pipeline then:
Where One Tool Sufficed, We Now “Need” An Entire Toolbox. Is This Progress?
- Where we had one tool we now need about 4
- We interject version control / Git into a workflow thereby making it intimidating for anyone not literate in Git which is the vast majority of people who aren’t developers
- For most end-users we now need a “stack” — like Astro + a visual backend. While this is typically celebrating as offering fantastic modularity, for many people this just sounds like a massive PITA. Give me one tool that gets the job done and leave “stacks” for those crazy developers.
Concluding Thoughts
If a random friend of mine were to ask: is there something that’s better than Wordpress that I can use to make a really great blog? then unless they were a) a developer or b) somebody who relished challenges, then I would tell them something like that’s a great question but ask it again in a few years.
There’s a lot of innovation happening right now and some very cool tech (the two tools I’m enjoying right now are Astro and LocalWP for a local Wordpress workflow).
However, while the “big ideas” are awesome and dovetail perfectly with other lots of great ideas in tech (serverless, for one), I think there’s far too little emphasis on boring considerations like:
- The useability of these tools to normal people (ie, non-developers)
- The fact that the majority of users — even technical ones — would rather one good tool over a stack of components, even if that means losing out on some customisation
- The fact that being able to interrupt the visual backend to a site with a single misplaced keystroke is a big impediment to typical use
- Documentation and quality control
Until the next blog/rant.