Headless has the potential to change the way many organizations deliver their content. Yet, as with any buzzy tech industry, ask three people on Stack Overflow what “headless” means, and you’ll get five variations of the same answer. Worry not, dear reader. We’ll answer what headless is and whether it’s right for you.
History of the CMS
A history lesson. Back in the halcyon days of the early 1990s, the web was composed solely of static HTML pages, no web-based applications, server-side headers, and footers, an invention of 1996. Interactivity only came in the form of rudimentary Perl and Python. You might be able to build something cool (anyone old enough to remember Hampsterdance or Ask Jeeves?), but only those who knew how to code could get any use of the ’90s net.
Enter the advent of the CMS! Suddenly, anyone from the local cafe down your street to The Walt Disney Company could make a professional website with the click of a few buttons. Even as the world of static site generation and web-based development becomes more comfortable to learn than ever, the draw of a CMS that requires no coding knowledge still grows. Over 39 percent of the web runs on some form of WordPress.
But what if you split that difference? The difference between having the flexibility of an API and non-technical users’ ability to contribute to your site without being a developer and using GitHub?
What does headless mean?
The term “headless” about a CMS is when the CMS is no longer responsible for rendering content. The content (or data) is delivered over an API, and a separate system is accountable for rendering the content. Hence, the CMS has lost its head! As a result, the content can be available to any number of “heads” or the frontends that end-users experience. A headless architecture allows you to choose where and how you present your content.
Headless can make use of both types of APIs, REST or GraphQL. In a traditional CMS, your content could only speak to the site on which that content was published. The flexibility offered by APIs allows you to talk not just to your site, but other applications.
Is headless right for you?
When considering headless architecture, it’s best to think of how it serves two types of personas:
A. The developer: Someone hates being bound by the constraints of a traditional CMS (cough, PHP, cough).
B. The writer, the content publisher, content marketer, you know… everyone else.
For Developers
While a traditional CMS contains a layer strictly for frontend content delivery, headless removes that layer and focuses exclusively on:
- Storing content in a database or content repository
- Rendering that content through whatever means the developer chooses.
For people used to a traditional model where users author content in an editor and that editor then converts that content into HTML, the idea of choice might seem daunting. But the agnosticism of headless empowers developers to use whatever application technology they are already familiar with. These can take the form of JavaScript-based “frameworks,” such as a React-based framework like Next.js, Angular, or Vue.
This flexibility extends to any medium that can consume an API. Want to send content to both your website and mobile app? Hello, headless delivery. Want to enable non-developers to write content for your static site? Jekyll, meet headless. Want to scrape a database for dynamic product information on your e-commerce site?
Headless is the Willy Wonka of content delivery. Developers are only limited to what they can achieve from their framework and backend.
For Everyone Else
“But how do I contribute content?”, say’s the content marketer? Well, if you’re a WordPress user, you can still contribute content or manage aspects of your site in the way you normally would, through your CMS’s admin panel, with a couple of caveats we’ll explain later.
Benefits of headless
Going headless indeed opens the door to endless possibilities on the frontend, but it’s also true that it closes the door on many things that content publishers have come to love. How do you know when it’s the right time to make the tradeoff? We’ve already mentioned that developers tend to enjoy it because they can choose their favorite frontend framework for rendering, but that’s not necessarily the best business case. There are other reasons as well:
Scalability
Since headless splits the processing between the frontend and the backend, a headless architecture is much easier to scale. You can distribute your frontend around the world close to your end-users, cache data from your API for use in other applications, and free your backend from the burden of rendering.
Extensive Integrations
Complex enterprise websites often require several 3rd party integrations like a CRM (e.g. Hubspot, Salesforce), ERP (e.g. Dynamics, SAP), custom systems, and other SaaS platforms. When you go headless, your frontend server is responsible for these integrations, and the JavaScript ecosystem is a first-class integration point.
Downsides to headless
There are still circumstances where a traditional CMS might be a better solution for you. These include:
- You want to build a website but don’t have the development structure to use headless.
- You want real-time content previews of your content as you write.
- You want access to the many themes and plugins that already exist in the WordPress ecosystem.
Keep in mind that a talented developer can overcome these issues through smart engineering, but to do so requires extra preperation. Still, the flexibility to deliver your content anywhere might make such a headless investment worth the effort.
Conclusion
The demand for more flexibility in the great big wide world of CMS’ has caused a shift away from the traditional WordPress model. Whether you’re a developer or content marketer, you should consider future-proofing your content development with headless. By doing so, your organization’s only limitation will be your imagination.
TL;DR
A headless CMS decouples a CMS’s input (content authored in an admin panel or editor) and delivers the content as data through an API. A headless CMS provides the following benefits:
- Greater flexibility on where you can send your content.
- The ability to use React or JavaScript-based frameworks to increase the functionality and responsiveness of your content.
Want more?
Are you interested in trying headless out for yourself? developers.wpengine.com has free tutorials to help get you started. And the best part? Any code used in these tutorials is open-source and completely free!!