You Need to Reconsider Your CMS and Embrace the API.

December 12, 2018


Maxim Antipin

A traditional content management system (CMS) offers problems and constraints at almost every single step of the content creation and delivery process.

By reconsidering your CMS and embracing the future of API-driven headless architecture, you will empower content creators to engage customers, enable developers to build better products, and give users a better overall experience.

Part I: Reconsidering your CMS

CMS don’t do a good job of managing content.

Although designed, built, and even named specifically for the purpose of managing content, traditional content management systems don’t do a good job of managing content.

One of the foundational problems is the rigid data modelling that comes out of the box with popular traditional CMS like WordPress and Drupal. Built in an era of pages and posts, these systems were not designed with complex data relationships in mind that enable content creators to drive narratives and deliver compelling user experiences.

Another primary issue is the inability for data to freely flow in and out of the system. Traditional CMS do not offer an easy and efficient way of collecting data from multiple external sources, transforming it on the fly, nor delivering the result to various destinations. The content management system is isolated and acts as a barrier to the flow of information, instead of a conduit.

While these foundational problems are lurking beneath the surface, content creators are frustrated by the poor user interface and resulting experience. To get around the limitations and constraints imposed by the architecture of traditional CMS, content creators have to rely on hacky plugins that are probably going to break something now, or in the future. Instead of focusing on narratives, content creators are part-time developers, part-time quality assurance.

These same hacky plugins are often the cause of security issues. Although every single system is at risk of a breach or attack, the odds are much worse for a legacy monolithic architecture like WordPress or Drupal.

Speaking of monolithic architectures, CMS try to do more than just manage content, but they don’t do a very good job of that either.

Not only do content management systems control the backend experience, they also control the frontend, or customer-facing experience. Traditional CMS include the presentation layer which delivers content to the user.

The issue with this is the tight coupling of the backend data modelling and content creator interface, with the frontend templating and styling. Instead of the technology being content agnostic, constant developer support is required to reconfigure templates, modifying styling rules and solve plugin compatibility issues.

Content creators are held back by their dependency on software developers to push out new content, while new features and improvements are put on hold. Content always changes, so the vicious cycle doesn’t end.

The inherent problem is that with traditional CMS, technology gets in the way of people doing their jobs, instead of enabling them.

That’s why you should reconsider your CMS, and…

Part II: Embrace the API

The modern solution to the traditional CMS problem is a headless architecture (also called a decoupled architecture). It is a microservices approach applied to the traditional legacy CMS. By following the “separation of concerns” principle and focusing solely on content management, a headless CMS achieves 3 key goals:

  • Powerful Data Modelling — no longer limited to pages and posts, any data relationship can be modelled.
  • Frictionless Data Flow — data can be collected from external sources, transformed as needed, and delivered through an expandable API.
  • Simple Content Editing — the content editing experience is intuitive and flexible, allowing for the creative freedom content creators require.

No longer an isolated island that acts as a barrier to the flow of information, a headless CMS is a central hub for your content that interacts with as many services as needed.

It is future-proof, because the power of an API is the ability to deliver content to any platform, application, or device.
Most importantly, both content creators and developers are enabled to deliver better user experiences.

Developers can build a custom product tailored specifically towards marrying your business goals with end-user needs. It provides a stark contrast to your users whose experience is now optimized for them, compared to the formulaic products offered by your competitors. Developers can take advantage of modern standards such as SPA & PRPL patterns, Google’s Accelerated Mobile Pages (AMP), offline access and more, which all contribute to a better user experience.

Meanwhile, content creators are no longer dependent on developers to drive narratives and deliver content to users, as they make use of a declarative user interface that lets the non-technical users describe how content should be arranged and displayed, without having to resort to custom styling sheets or plugins. Instead, the content and metadata is interpreted by the frontend platform, optimized for the current device.

By embracing the API and choosing a headless CMS solution, you empower content creators to engage customers, enable developers to build better products, and give users a better overall experience.

Part III: Selecting your Headless Stack

While choosing to forego a traditional CMS is easy, architecting your new headless solution can be difficult. There is an innumerable combination of headless CMS and frontend frameworks to choose from, and the final decision will come down to your requirements and objectives.

At Blackcreek, one of our favourite headless CMS to work with is Contentful. Some of the advantages we enjoy that Contentful has over other headless CMS options are:

  • It is a native cloud, end-to-end managed service, mitigating the risk and removing complexity from hosting, deployment, scaling, compliance and security.
  • It provides great expandability from both an API and Content Creation UI interface perspective, including the ability to develop custom UI widgets.
  • It provides SDKs for a variety of platforms, including Javascript, iOS, Android, .NET, and more.

Meanwhile on the frontend, we enjoy using Gatsby — a static, progressive web application generator for React. By using Gatsby, we have the advantage of:

  • Extremely simple hosting, as the generated static files are hosted on a simple cloud object storage and served by a content distribution network.
  • Optimized performance, as Gatsby follows the PRPL pattern by loading the assets required immediately first, and prefetching additional resources for other pages later.
  • Support for Accelerated Mobile Pages (AMP) that are privileged in Google’s search results, along with offline access.

At Blackcreek we’ve had great success with our clients implementing the Contentful CMS combined with a Gatsby frontend, and even migrating traditional CMS projects to a decoupled architecture with WordPress’ new API.

Choosing the right technical architecture for your next CMS project will require research and a thoughtful analysis of your specific requirements and objectives — however, whatever the choice is, it almost certainly should not be a legacy content management system.