4 Arguments to Be Made Against a Headless WordPress Website
A recent trend in blogs and websites I've been seeing a lot lately is headless WordPress installations. There are a bunch of businesses springing up to offer their versions of the front-end for sites and a lot of posts about how it can be beneficial to use WordPress headless.
Personally, I don't think the advantages are all that advantageous, and I think there are some serious drawbacks that people are underestimating, so I wanted to say my piece.
What is Headless WordPress, Anyway?
If you aren't knee-deep in the weeds when it comes to WordPress, coding, and web development, you might not even have any idea what I'm talking about. Maybe you've seen people on Reddit recommend running WordPress headless, or maybe you've seen other blogs recommending it, and you want to figure out what they're even talking about.
WordPress is a front-end and a back-end for a website combined. On the back end, it has a database and content management system. On the front end, it has a theme and interface. These two are designed as a single unit, working well together, and with a lot of different hooks and buttons you can press to customize them.
Part of the power of WordPress is that, out of the box, it can do everything you need to run a website. Buy web hosting and a domain, put WordPress on it, and you're live and ready to go. Everything else is customization and content.
This is in contrast to a lot of other website systems. With other systems, you might need a database system and the code to manage it, a front-end system to display information, and the code to manage that.
Headless WordPress takes this full product and cuts it in half. It still uses WordPress as the back-end content management system because it's hard to beat an optimized database with well-documented functionality.
What it does, though, is eliminate the front end. The themes and templates that make up the front side of WordPress are all eliminated. Instead, a headless WordPress installation takes advantage of the WordPress REST API and uses something else as the front end to take that data and display it. Sometimes, that's a custom site designed with React or Node.JS. Other times, it's a static site generator like Gatsby.
Proponents of this form of website say it has a few advantages:
- It's fast and responsive, with prefetching and potentially even static sites.
- It's more secure because the disconnect between the front and back ends serves as a wall.
- It allows for completely custom web design instead of relying on hammering WordPress templates into shape.
Those are the claims. I will say that comparing a well-developed headless WordPress site with a relatively basic WordPress installation, then yeah, those advantages are true. But I don't think they tell the whole story.
I have four main reasons why I don't think most businesses should be looking at headless WordPress at all. Let's go through them.
Argument #1: Headless WordPress Ramps Up Complexity
One of the biggest benefits of WordPress is that it has been developed over the course of decades, extensively used and tested by millions of people, and is extremely well-documented. Pretty much everything Just Works, and if you find something that doesn't, there's a good chance that you can easily find people who know why and can tell you how to fix it.
When you run WordPress headless and run your own front end, relying on the WordPress REST API to feed you information from your database, you're basically reinventing half of WordPress on your own. There's a lot of added complexity in just getting a site to function.
Then, once you have a functional site, what if you want to add features? It's not as easy as just going and grabbing a plugin to do what you want; you need to develop it yourself or pay to have it developed for you.
Truth be told, you can get into this situation with WordPress on its own. If you're crazy like me and want to do wild customizations using plugins like Advanced Custom Fields, you're going to run into niche issues and greater levels of complexity.
The thing is, I enjoy that complexity. I like to try to get an idea to work and troubleshoot the issues when they come up. It's satisfying to me to solve these problems, even if they are problems I created for myself.
For a business, especially a business that isn't owned by a coder, that all just becomes a burden. Not only is the complexity written in dollar signs, but it's also written in time; you have to figure out something is wrong, figure out who to contact about it, find time to get them to look at it, get a solution made for you, get it implemented, test it to make sure it works, and finally settle in and hope nothing else breaks.
Don't forget that WordPress updates regularly, and changes to the back-end and the API can affect your site. With a normal WordPress update, themes and plugins are working with the WP development team and can have their own updates ready for simultaneous roll-out. For those operating headless, you just need to scramble to adapt.
There are more possible points of failure, less knowledge of how everything works to figure it out, and more delays and money involved in fixing it all.
Argument #2: Headless WordPress Discards Many Advantages of WordPress
If you look into lists of the various CMSs out there on the market and all the different ways you can create and manage a website, you'll see one benefit touted for WordPress pretty much everywhere:
It's incredibly flexible and customizable.
WordPress just works out of the box, but if you want it to look or function differently, it's almost guaranteed that there's a plugin for that.
- Want to change how images are handled? There's a plugin for that.
- Want to reorganize the way elements are displayed on your page? A new theme fixes that.
- Want to add integrated features like automatic Schema? There's a plugin for that.
- What to optimize everything with a robust caching and speed optimization tool? There's a plugin for that.
Yeah, sometimes the plugins are old and not well-maintained. And sometimes, a feature you want to implement is hard to find or requires using a different and more broad-spectrum plugin to use a narrow sub-feature.
Those tend to be niche considerations, though. How often do you want to implement something that no one has come up with before? I find that in a lot of cases, those ideas are actually pretty bad ones, and the person who wants to implement them just isn't aware of why.
What about headless WordPress?
Well, right off the bat, you lose out on a ton of the customization and flexibility of WordPress. A bunch of plugins that affect the back end or the admin dashboard all still work, but anything that requires the front end in any way will break entirely.
Now, sure, you can replace that functionality with your own version, developed for whatever front end you want to use. Sometimes, it might even be pretty easy!
But why?
You're reinventing the wheel at the cost of time and money, so you can have something that you could have had with WordPress with a couple of plugins and probably with more useful features besides.
In the very rare instance where you want to do something and no WordPress plugin exists to do it the way you want to, sure, maybe going headless would allow you to get what you want. At the same time, hiring a developer for custom WordPress development is likely just as available and possibly cheaper.
Argument #3: Headless WordPress Isn't Really Faster
One of the big arguments in favor of headless WordPress is that, by using the API and code to statically generate a website, you can have something that is ultra-fast, responsive, and loaded basically before the user realizes they clicked.
That can be true!
It's not always true, of course. Just like any website, it depends on the web host's servers, the distance between the user and the server, the user's client device, the quality of the site's code, and a hundred other factors. You can develop a blazing-fast custom site and still fail Google's Core Web Vitals analysis if you coded it wrong.
At the same time, you can hammer WordPress into shape relatively easily. I have a 99 in PageSpeed insights, and while I've definitely gone above and beyond with my tweaking, you can still get in the 90s quite quickly with a few simple steps.
Truth be told, between WP Rocket, caching and CDN with Cloudflare, and a few simple steps like paying attention to image size, you can be right up there with a fast, responsive site in an hour, no coding necessary. I do this for my clients routinely and even provide WP Rocket to them for free.
Argument #4: Headless WordPress is Expensive to Develop and Maintain
Underlying all of the other three arguments is the fact that doing anything with headless WordPress means having a developer do work on it.
For most businesses, that means hiring a developer. That means finding one you can trust and who is familiar with the WordPress REST API. It means figuring out how to convey what you want out of a site with all of the back-and-forth prototyping, wireframing, and iterative feedback. It means developer hours and paying for that time.
Then, when anything changes or goes wrong, or when you want to add a new feature, you're right back at it again.
I know some of you are saying, "But I can do all of that myself!" To that, I say, sure! Go right ahead. But, if you're a competent developer who can make and maintain a headless WordPress site, a lot of what I've said doesn't really apply to you. I'm talking more about the people who run businesses, hear about this fancy new kind of WordPress that's fast and secure, and want to want it.
Are the Benefits of Headless WordPress Worth It?
I don't think so, really.
If you want to set up headless WordPress for a faster, more responsive site, I will do my best to talk you out of it. There are easier, lower-impact, faster, and more reliable ways to set up a fast and responsive WordPress site without going headless.
If you want to set up headless WordPress for security reasons, I will do my best to talk you out of it. Yes, WordPress is hugely popular and thus constantly under attack. But if you change the login URL, disable XML-RPC, use 2FA for your login, and keep your infrastructure up to date, it's realistically not something you need to worry about.
If you want to set up headless WordPress because you're a full-stack dev and can't leave anything alone, then go for it. You know what you're doing, or you should, and it's really more of a prestige project at that point anyway. Go get 'em, champ!
If you want a fast, optimized site, I can help you get it. Part of my blog management is a thorough evaluation and audit of your site, optimization for everything from speed to security, and, of course, excellent content marketing. You don't need a headless WordPress site to succeed.
Comments