Our Own Online Headless CMS using SharePoint Online

Luis Juarez

November 8, 2024


We made it Our Own Headless SharePoint CMS

A Content Managment System is a platform which help us to manage the content of our website using a user interface from where we can customize the type of content we want to publish, some examples can be: articles, products, posts, among others. 

Years before the boom of Single-Page Applications and frontend frameworks such as React. Wordpress used to be the main option when someone need it to build a blog or a simple website with dynamic content. Wordpress works in a way that the content of our website is highly related to their interface which means we are obligated to use the same tool written in php, this is called a traditional CMS.

When the use of frontend frameworks increased people, found ways to build more modern, stunning and appealing websites; however, if someone wanted to build just a simple website to display some dynamic content, they needed to build the whole platform, similar to Wordpress, with authentication, storage persistence, security; which meant to build a complete full-stack application which expose the content through an API in we can consume the data with the technology we prefer. This is called a Headless CMS, because the content manager is not tight to our website.

Nowadays there are plenty of options we can choose. The purpose of this blog is to present how we found the way to use SharePoint as a headless CMS.

This is a product that is part of the Microsoft 365 plan and basically it is a web platform that help organizations to create their own websites to manage documents, collaborate, and share information. It has a lot of advantages because provides the storage and security standards and web HTML structure, which is exactly what we need to host all of our content and expose it through their REST API to embed it in our website.

Sharepoint

Process

Set up the environment

  1. To start we need a to have a Microsoft 365 account and, which will give us access to SharePoint.

  2. From Sharepoint we got to create a site