Sitecore Box

Sitecore web developer at Americaneagle.com

Sitecore from headless CMS Perspective


What is a Headless CMS?

Headless CMS simply is a separation between the content and presentation. 

The regular CMS gives an ability to store and manipulate the data, create, update and delete and gives ways to view the data, while the headless CMS gives the same things but, instead of viewing the data gives an API to access the data and make the presentation regardless of what the channel you are using to present the data.

In the headless CMS the developers can write the code and prepare the front-end design in their preferred language without having to be restricted in back-end technologies. They can use Application Programming Interfaces (APIs) to consume the back-end functions in any front-end environment like webpages, smartphones, wearables, headsets, etc...



Image credit for this site https://medium.com/tech-tajawal/why-headless-cms-is-becoming-so-popular-57d262b1e096

Sitecore as a Hybrid Solution

Sitecore support both approaches, a site generated with the Sitecore layout engine or a headless CMS and app based on the Sitecore REST API (JSON), and from here we can realize how Sitecore is unique in this aspect.

When Sitecore® Experience Platform™ (XP) 7.5 launched, they introduced the Sitecore Services Client, which is an API layer that uses RESTful services to communicate with channels. When a request comes, Sitecore translates the request to a search query which in turn returns the information to the device.

So the users can consume the content that comes from Sitecore Services Client in different channels, from mobile applications to any IoT-connected device.

Sitecore JavaScript Services (JSS), is a good example of headless solution that allows developers to build solutions using Sitecore and modern JavaScript UI libraries and frameworks Angular, React, and Vue.js to render Sitecore content on any device without the need for Sitecore prerequisites.


Headless CMS Downside

The downside is that your app’s customer experience will also be decoupled. You won’t be able to personalize that experience, or respond in real time with relevant content, or test and optimize and manage forms and market in context of user interactions.

Your content may live on the devices but you can’t collect the user’s interactions and do personalized content.

The good news is in Sitecore you can transform the content into JSON format by dragging and dropping JSON components on the page using Sitecore® Experience Accelerator as well as JSS personalization works exactly how it does in a non-headless Sitecore site. The Layout Service renders pages using the exact same pathway as a traditional Sitecore site uses - meaning that personalization rules, multivariate tests, etc are all respected. As a developer, there's nothing you have to do. The content returned to your JSS app is pre-personalized before it is received.