I know, I know, I missed last week. Sorry about that, hopefully you’ll find this selection interesting enough to make up. As always, let me know if you have any questions or if there is any theme you’d like me to explore here.
In past issues, I’ve spoken about static sites, and discussed combining templates with collections of markdown documents to create a site or blog. While that is a popular approach, particularly with developers, it does lack some appeal to non-devs. And even developers may eventually feel they want a different interaction model.
Enter Headless Content Management Systems (CMS). From the content creator perspective, these are very much like traditional CMS, where they log in, add new posts, or pages, or articles along with media and metadata. However the term ‘headless’ means that they don’t render this content into a site or page. They simply provide this content as an API for other systems to consume.
How you consume the content is obviously dependent on what your needs are, but it could be loaded into a mobile application, loaded dynamically into a web app, or even fetched at build time and baked into a site then. In this manner, it can be used to replace markdown files in your static site.
All of these are headless CMS services. How they differentiate is on their editing/production user interface, along with any workflow capabilities. Many let you compose your content out of smaller content types, like lists, images, paragraphs, etc. And as usual, all offer some form of free tier.
I would say that Contentful is probably the most popular of the services listed. They provide the first space that you create for free. That also allows for 10 users as well, which is a nice touch. The provided space allows for 5,000 records, which should be enough for even the most ambitious of personal projects. That is over 13 years of daily blog posts for example.
Sanity’s standard plan is free by default, with a pay-as-you-go mechanism for adding extra documents, assets, requests or users. You only get 3 free users, but 10,000 free documents, which may or may not be what you need. In any case Sanity caught my eye because they have a tool for provisioning sites with popular static site generators directly to new Github repositories and can event deploy them to Netlify for you. It can be a nice assist if you want to get up and running with minimal fuss. Even their content editing UI is open source and can be self deployed. This allows for great customization possibilities.
Storyblok’s pricing is slightly different, in that you get basically unlimited content, but only for one user. So if you have a big project, but will be working on it alone, this is a good option. I can’t speak to the editing UI for all options, as that can be a very subjective evaluation.
In 2010, I was responsible for creating a content solution for a project at work. We wanted to leverage an existing CMS for editing capabilities, but due to various internal requirement, we couldn’t simply have editors working on production systems directly. We needed the content of the site to move through various environments along with the rest of the site.
So we decided to create an extension for the CMS we were using allowing us to download a snapshot of the content and load that into the site as a JSON file. This bypassed the rendering functionality of the CMS and allowed us to inject the content into our site ourselves. This file then moved around with the rest of the site assets. It wasn’t without its challenges, mostly due to a complex content hierarchy, but it was certainly a form of headless CMS in a time well before they were popular.
Now there are dozens of options for headless CMS, both self hosted or as services, however I couldn’t find even one just nine years ago. So there will always be a place in my heart for a headless CMS. :)
Next week… more headless CMS options, with a twist!