skip to main content
Menu

Headless WordPress: A maintenance burden

WordPress without it’s “head” of it’s frontend or more commonly known as Headless WordPress was a bit of a trend a year or so ago. While at Invisible Dragon, we like to go for the “boring” option, some companies jumped right into the headless game for their websites for a bag of mixed results.

Benefits of Headless WordPress

Key benefits of going headless was the frontend could be in a simpler technology, and potentially even separated between different teams able to do different types of work. This meant a frontend heavy team could focus on displaying the information, and a CMS team can ensure the WordPress CMS part of the site was suitable for the content to be edited.

Another big part is security – by running a very tight amount of plugins which can’t affect plugins from the CMS side, the attack surface was limited. Also on the front-end by doing very little than putting data on a page this was also quite limited. So long as the CMS was firewalled so if any bad actor got access and posted spam content which was malicious, it was intended to be pretty secure.

Downsides of Headless WordPress

It’s quite easy to get into the downfalls of the approach. Firstly is the update time for content — a lot of WordPress sites make use of some kind of caching platform. Even headless sites would also make use of caching on the front-end to ensure things are performant with good PageSpeed.

However typically when caching is applied within WordPress all of the components work together. For instance using LiteSpeed cache when publishing a new post, the appropriate places cache is cleared automatically and similar when using plugins like WP Rocket. Unless a bespoke integration is added, this doesn’t tend to apply within Headless WordPress – although a Headless WordPress site can take advantage of a more planned cache strategy so can be a little faster.

Vendor lock-in

The biggest issue with Headless WordPress is that it locks you in with the developers who built the website. With so many different ways of building a Headless WordPress website, you will need to find a developer who is capable of managing all of the moving parts without breaking anything. Typically, the frontend may even include a compiled piece of code – especially for Javascript/NodeJS/NextJS based platforms – and even then the deployment mechanism can be complex.

Even after all of that, typically with a WordPress site one of the advantages of the platform is you can move. Even websites we build, if you wish you can request a copy of all of your files and database and take your website to a new provider who can continue to provide services which work better for your business (or even the same in reverse to bring to Invisible Dragon!). However with multiple components, some of which may not even run on a traditional hosting environment, this limits the movability quite significantly.

A silver lining with having a CMS

If you do have a Headless WordPress website which is causing a thorn in your side there is a slight silver lining which is that all of your content and information is at least already stored within a CMS. With WordPress being as portable as it is you can take the pre-built CMS and effectively add a “head” back to it with a theme and convert back into a full traditional WordPress set-up.

Conclusion

Headless WordPress was a hot topic for a moment, however it’s time does leave a maintenance burden which can cause websites to become stale and cause small businesses to not be proud of their website existing – which in this digital age can become a bigger problem.

However at the end of the day so long as your content is within a CMS, and you have HTML being output at the other end, typically there is a solution where the thorns can be sorted one way or another. Every option you pick will have both positives and negatives to it, although everyone will have opinions to what they prefer.

If you have a Headless WordPress website causing a thorn in your business’s side, please feel free to get in touch.