When we talk about static websites, the first thing that comes to mind is a bunch of web pages coded using HTML and CSS. Just plain text and graphics based interface with no interactive features and real-time processing whatsoever to facilitate the visitors.
Fortunately, that's not the case. At least, not anymore.
Static websites have evolved to embrace innovative technologies and today they can do things such as handling real-time requests, processing payments, managing customer accounts, carrying out full website search, and a lot more. That's why we don’t call them static anymore, we now call them JAMstack websites.
With the advent of JAMstack, we now don't need to divert our focus on specific web technologies in terms of operating systems, web servers, database development, management, and backend development. JAMstack has brought a completely refreshing method of building websites as well as apps that delivers enhanced development, maintenance, and operational efficiencies not only for the enterprise sector but individuals as well.
JAMstack bridges the gap of functionality between static and dynamic websites while keeping the key advantages of a static website intact.
Traditional CMSes like Drupal and WordPress are hosted and served with the website every time a request for a page is made. Headless CMS on the other hand, decouples content management from the presentation layer. That means your content management is separate from your front end and your back end allowing you to deliver content beyond websites and app. It allows you to repurpose your content from multiple front ends making them a perfect fit for JAMstack builds.
With so many brands focusing on repurposing their content on multiple front ends, the growing demand, and number of headless CMS solutions, should not come as a surprise. Especially when you look at all the benefits a headless CMS brings to a table:
- Hosting is delivered as Software as a Service (SaaS).
- Since there is nothing to maintain, security is also delivered as Software as a Service (SaaS).
- Content exists as a separate component altogether and is used when needed through an API request.
- Headless CMS gives you complete control over how your content will appear and presented. No forced reliance on themes and templates.
- You can reuse and repurpose the same content over and over again.
- It doesn't matter what programming language or framework you are using, headless CMS integrates with any codebase.
Honestly, no one but you can answer that question. Right now headless CMSs are considered future-proof mainly because of clear distinction between the content and presentation of it. However, only understanding your short-term and long-term content goals, can help you choose which content management model will best serve your business.
With over 30 different JAMstack projects under our belt what we can do for you is share our experience with the best headless CMSs we used so far.
Before we dive into each product, here’s a summarized list of headless CMSs we've worked with so far:
- Netlify CMS
- Dato CMS
- Wordpress API
- Google Spreadsheets API
Sign up for our JAMstack newsletter!
Get our EXCLUSIVE web development case studies in your mailbox!
Contentful is an API-centric headless CMS amazingly flexible from a developers perspective but also fairly easy to use and understand for average users. We've used it on a number of projects (the latest one being SEOmonitor project) utilizing the most of their modular approach to content which helped us bridge the gap between developers and the users.
✔️well written documentation and SDKs for different programming languages
✔️great DX - good "official" Gatsby plugin
✔️Gatsby image support
✔️images API for modifying / optimizing images
✔️referenced objects can be fetched with content or just id’s (customizable)
✔️easy to configure multi-language support
✔️GraphQL API under development
❌no backup feature
❌a bulk import feature would be nice
We used Sanity for the first time in our project for Just Technologies (you can read Just case study here). While we explained much of our experience there, here we should mention what makes Sanity stand out: their editor Content Studio, which can easily be tailored to whatever you need and a native plugin that supports all the great features of Gatsby.
✔️source plugin for Gatsby
✔️real-time collaboration and live previews
✔️full gatsby-image support
❌steeper learning curve
❌a backup feature would be nice option to have
❌still needs work to make it a well-oiled machine
For websites where content was stored as .md files in a repository in most cases we used Netlify CMS. It’s a great alternative for adding content, committing and pushing to master - it happens automatically from your browser editor. No need to worry about external services with it and it is easy to configure and easy to use. With all that said, it's a neat concept, but needs a bit more work.
✔️❌content is stored as .md files in the same place where website code is
✔️❌it’s an npm package running on your website - easy to configure
✔️works great with GatsbyJS
✔️100% free Git-based, open source React CMS
❌a lot of configuration. Example: a few plugins and some code are needed for gatsby-img or markdown to work
❌documentation is kind of hard to follow
Very similar API-based CMS to Contentful is DatoCMS. It has a simpler UI, ease of integration with all the popular static site generators, awesome roles/permissions system and third-party plugin customization option.
✔️build for simplicity of use
✔️easy to configure multi language support
❌no client side forms support
❌UI can’t be customized
We really liked Storyblok visual editor which allows you to select content you want to change with a single click. In one of our recent projects we played with stack Storyblok + Gatsby, unfortunately we had some issues with it. For example how to add global layout or how to fetch relational data on build time with no need to make an additional request on client side. Even so it is a good option when you want to be able to customise your page via CMS.
✔️user friendly visual editor
✔️developers can add custom plugins
✔️Storyblok offers an image API for optimizing and modifying images
✔️content previews and user roles options
❌we didn’t found a good way for fetching main components (pages) in nested component (eg. index blog page has a component for rendering thumbnails of all posts - there is no way to pass last pages with slug /blog/… to this component)
❌relational content is returning as array of id’s, for us it was an issue as we needed to spent time writing custom plugin to not send another request to api on client side
❌no user management
In case you want to have a full control over CMS, be independent from other companies policies, restrictions etc. you should take a look at Strapi. It’s an open source Node.js headless CMS you can host on your own server, with ability to add custom plugins allowing you to customise it even more.
✔️self-hosted - you can host it on your own servers
✔️easy to add custom plugins
✔️open source project
❌still in Alpha version (some features may not work as intended)
❌a lot of plugins with “soon” badge
❌not responsive for mobile (yet)
❌lack of multi-project support
Prismic is another headless, API-first, hosted, proprietary CMS we found easy to work with. While their UI with a visual editor, custom type builds, multi-language support, and full revision history features seams awesome for users it does take time, development time, to get it there.
✔️prismic offers a scheduled/automated publications
✔️native integrations with Shopify and Magento
✔️painless integration with gatsby and graphql
✔️handy tagging mechanism
❌you can't set up fields to
❌no backup feature
To be honest WordPress is trying to keep up with web development trends and we have to give them credit for that. The official WordPress REST API Handbook is built with Single Page Applications in mind. For an average user this solution is far from perfect and it requires serious development time. There is however, a new promising option WPGraphQL. It is a free, open-source WordPress plugin which provides an extendable GraphQL scheme and API for any WP site and we're just about to play with it.
Who would have thought that Google Spreadsheets API can be used as a headless CMS, right? In that regard Sheetsu is an interesting solution. It helps you connect Google Sheets to anything - Web, Mobile, IoT or any service's API.
It is hard turning a blind eye to the benefits of using JAMstack (and headless CMSes for that matter) from web developers and marketers perspective. Faster performance, more security and easier scalability being top ones among many.
On top of that people are making use of more devices and channels than ever before. In a climate such as this businesses / brands are forced to make omnichannel strategies to be able to get to their potential customers wherever they may be.
So... we're back to the question Does Your Business Need Headless CMS? As we already said it depends on your business requirements.
Being a WebDev shop focused on helping agencies and companies with serverless web, static site generators and JAMstack tools we can certainly help you answering that.
CLICK HERE to schedule 1-on-1 talk and learn more about what we can do for you and your business.