We’re getting our geek on by looking at decoupled content management system (CMS) architectures.
No, no, don’t run. Just stick with us. It’ll be worth it!
The benefits of decoupled CMS architectures
A long, long time ago (the 90s), website copy and code lived together in static HTML files. This made it really hard to update content or redesign pages. Content management systems overcame this challenge by separating the content editing interface and the web template system. By separating copy from code, marketers and developers have, for the past decade or so, happily churned out fresh copy and custom templates.
But not everything has been puppies and rainbows. CMS's place constraints on designers and developers, forcing lengthy workarounds, cookie-cutter websites, performance issues, and painful upgrades. From the content editor perspective, there are often tedious workflows, and the beastly process of migrating content to a new platform.
Decoupled CMS's take the idea of separating content from code one step further, where the front-end and back-end are separate systems connected via an application program interface (API). This promises to give developers greater freedoms, while simplifying content workflows and cross-platform publishing.
Here’s a quick primer on web content management systems (CMS's).
CMS's typically consist of three components: 1) a content repository (like a database) that houses all the content you want to publish, 2) an administration interface that lets you put content into that repository, and 3) some kind of template system that takes that content and publishes to the web.
Going headless
Recently, we’ve seen a rise of content management scenarios in which the templating system is dropped (a.k.a., headless), and the focus is solely on the API. What’s an API? Think of it as a sort of phone line between two computers or computer programs. It’s a way for these two computers to talk to each other and share information, regardless of what handset they’re using.
So what’s the big deal with using an API instead of templates in a CMS?
Rather than publishing to a template system, you can publish to… well, to just about anything you want. Using a decoupled CMS, you could push content to a custom mobile app. Or to a Single Page Javascript web application based on technologies like Angular and React. Or even—and this where things get interesting—to other CMSs!
The bane of many a CMS is the rigid workflow imposed on the content writer. Your organization might need to publish content in certain way, but you’re forced to bend your process to the tool you’re using instead of the other way around. Sound familiar?
Now imagine being able support more complex workflows that include separate staging and production environments, or delivering content in an technology independent way across multiple platforms and channels. It means making sure content is accessible to the user—on their terms, meeting their needs and expectations.
We think that’s pretty cool.
But what does this mean for your business?
Business benefits
- Future-proofing: A big pain with content management systems is migrating content, should you choose to switch platforms. We've gone so far as to call this the iceberg of CMS projects. Decoupling gives you greater freedom with your publishing, allowing you to switch front-end platforms, but avoid the painful migration process.
- Speed: As discussed above, a decoupled CMS has the potential to cut down barriers for internal publishing workflows. In addition to improving publishing efficiency, there is also potential for streamlining the front-end, which can result an overall faster site. There's a good article from Shopify on the impacts of site speed to conversion, search ranking, and advertising costs.
- Cross-platform publishing: This would give you the option to publish content across multiple platforms—and display it any way you like. For example, you could feed content into both your mobile app and your website at the same time.
Technical benefits
- Flexibility: One of the downsides of certain content management systems is the limits and constrains imposed on developers. Choosing to go headless, and just provide a content API to developers provides more freedom to develop as they see fit.
- Application-like functionality: Single page applications, using frameworks like React and Angular, allow websites to behave more like desktop applications, and significantly speeds up load times.
Beyond the aforementioned benefits, going headless means your data can maintain some independence from the format consuming it. That way you can focus on what you’re good at while making sure your reach is as broad as possible.
Thinking Ahead
Decoupled CMS architectures are a new concept—and still certainly aren't right for everyone. However, it’s clear that these decoupled CMS architectures provide significant benefits for larger scale publishing projects across devices, and we expect to see more of this approach. In fact, WordPress and Drupal (arguably two of the largest CMS products) support full JSON (JavaScript Object Notation) REST APIs out of the box.
Some of this keeping you up at night? Ready to put some of these ideas into action? We can help. Get in touch today. And stay-tuned for the next article in our series.
2023 update
Back in 2016, the idea of decoupled CMS architectures was relatively new and may not have been widely known. Since then, we've gained some expertise in using this type of CMS. We've previously developed a working example of a decoupled CMS by combining Drupal and Vue.js, also a new website using Strapi, which is a type of decoupled CMS, combined with Gatsby, a front-end tool that generates static web pages.
This technical solution is still a viable option for our clients, depending on the situation.