JAMstack in itself is not a technology but a development architecture. The JAMstack architecture gives developers and designers great flexibility and enormous benefits. Some of these benefits include;
- Improved performance
- Awesome developer experience
- Ease of maintenance
More on JAMstack here.
With SSGs, a website or blog can go live in a couple of minutes, thanks to awesome templates available. These templates allow developers to focus on perfecting the design and updating site contents.
Although developers can tweak and maintain a static site using code, non-developers can’t make changes due to the lack of know-how.
To accommodate non-developers in the JAMstack ecosystem, JAMStack developers built a Content Management System (CMS). These CMSs provide a more thrilling experience for website owners to manage and customise their websites. The accommodation of non-developers made JAMstack a popular kid around the block.
In this article, we will compare some of the most popular CMS available for JAMstack sites. As a static site development agency, we have tried lots of CMS, and we feel the need to elaborate on the best CMS adequately.
This article will be helpful for businesses that have static websites, static site developers, and people who intend to build a static site and manage it using a CMS.
After reading this piece, you’d be able to make a great CMS choice suitable to your needs. We will also be revealing the CMS we find most convenient.
Let’s get into the CMS showdown!
What we are looking at
In this showdown, we will be making our comparison based on these five salient points:
- Ease of development: We will look at each CMS’s editing experience, concise documentation, availability of starter templates, and developer freedom.
- Technical Support
Be that as it may, these points are not concrete but based on what we have tried and tested. However, this comparison also collates other people’s opinions from testimonials, blog posts, to YouTube reviews.
Let’s dive in.
Sanity Studio offers real-time collaborations for developers to create efficient data-driven content applications.
Sanity.io is API-driven and supports all static site generators. You can get started in two ways, either by using the CLI from npm to spin up a new project or using already-made templates.
Sanity.io offers the pay-as-you-go plan with a free forever plan. The free forever plan, amongst other features, has an open-source editing environment hosted on their server and a real-time content database.
Although Sanity.io does not specify the bandwidth or monthly page views you get. But, the free forever plan will be sure to get you started.
Sanity.io paid plan starts from $99/project/month.
Ease of development
Sanity.io offers an open-source react-based studio. So you’ll get to see changes you make in real-time.
The team at sanity.io has fantastic documentation that’ll allow developers to get started immediately.
Sanity docs got you covered whether you are a visual learner or you love to read.
Sanity.io offers a few starter projects; this will turn off non-developers.
But for developers, you can get a project up and running by using CLI. Again, sanity docs got every detail covered.
Sanity.io taunts itself as a CMS built to be built on.
With the pay-as-you-go price model, be at rest that your site can accommodate lots of requests and traffic. Just have your credit card funded.
There is no direct one-on-one support for the free forever plan. The Team plan comes with a one-time onboarding call. At the time of writing this piece, it is unclear to us if the team plan has access to support.
However, there is a slack community channel with over 5,000 users, where users can get help and learn new things.
Sanity.io hosts its servers on the Google Cloud Platform(GCP); this means that sanity.io relies on GCP’s security architecture.
Forestry.io is a Git-based, host-where-ever-you-wish CMS that supports all SSGs. Forestry.io pulls front-end codes from your GIt repo into itself and updates the CMS accordingly.
Forestry.io offers a customizable sidebar that you can tweak to your needs.
Being Git-based means that you can opt out of Forestry.io and still have all your codebase intact. Forestry.io is a developer’s delight with support for popular Git Repos like GitHub, GitLab, and BitBucket.
Forestry.io offers a “clean” UI and allows teams to collaborate without merge conflicts.
It allows content editors to write and edit using WYSIWYG while storing in Markdown, YAML, or JSON.
Forestry.io has a free plan - $0/month is enough to get you started. The free plan comes with an instant site preview, and you can add up to 3 websites with up to 3 users each. The free plan also grants you the ability to host the CMS admin on your domain.
Although, with the free plan, your site will be archived after three months of inactivity. However, you can always upgrade to the paid tier, starting from $29/month, and protect your site from being archived.
Ease of development
Forestry.io has a thoughtful documentation that shows you how to connect to a source provider and even has a detailed guide for your favourite repo. You can find the doc here.
You can get started with demo projects using your favourite SSG here. You’ll have to sign up a project and connect your Git repo for Forestry to store changes to your new project.
Unlike most CMS, your codebase is your website. Therefore, you will have the freedom to write codes as you wish locally and then push them to Git.
As you own your codebase, you also have the liberty to host where you want - Amazon S3, GitHub Pages, Netlify, or Vercel.
The free tier does not include direct access to support channels, but forestry.io has a slack community channel where you can interact with other forestry.io users.
To get a response from the forestry.io team, you have to upgrade to their paid tier.
Although no security assurance is found on forestry’s website, we know that it’s pretty much secured as your codebase is in a Git-repo.
Popular Git Repos like GitHub, GitLab, and BitBucket offer incredible security layers to protect your data from a breach.
Forestry.io also has support for both private and public Git repos.
Strapi.io is an open-source API-based headless CMS. With over 44k GitHub stars, it’s a delight in the JAMstack community. Strapi also supports all static site generators.
Strapi.io has a free forever community plan self-hosted server, with plans to launch a cloud plan where they host for you.
In the self-hosted community plan, you get to have unlimited locales, up to 3 user roles, highly flexible content structure, among others.
You have to pay for the bronze plan to expand user roles, which costs $29/admin/month. The community plan is enough to get you started, after which you can opt for a suitable paid plan.
Ease of development
Strapi has an intuitive UI where you get to customise your components and call them wherever you need them. It is fully extensible. It takes a couple of minutes to a few hours to find your way around the source code, admin dashboard, and other advanced concepts.
Documentation is pretty straightforward to follow. You can find it here.
You can get a project up and running by using the CLI and running the NPM command:
npx create-strapi-app my-project --quickstart
Or use the one-click install available in DigitalOcean, Platform.sh, and Render. Although one-click install docs are deprecated, Strapi still has documentation for them. You can find them here.
Strapi.io also offers starter templates to kickstart a project in a few minutes. In addition, Strapi.io is highly customizable and extensible, and developers have the freedom to customise the CMS fully.
Strapi.io is self-hosted and has plans to host servers for its users in the cloud themselves.
Self-hosted server means that you have the liberty to host on any cloud hosting provider.
Strapi.io has a community support channel for the free forever plan like any other CMS. With dedicated customer success manager access for the Silver and Gold plans.
According to cvedetails,
“In Strapi through 3.6.0, the admin panel allows the changing of one’s own password without entering the current password. An attacker who gains access to a valid session can use this to take over an account by changing the password.”
But Strapi.io has been updated to v4.
Strapi.io published a blog detailing what you need to do to keep your Strapi.io CMS secured. You can find it here.
Unlike traditional API-based CMSs, Contentful was designed to help digital teams innovate, iterate, and ship faster with an agile, modern tech stack.
Contentful unifies content, making your site contents editable from a single hub. In addition, its versatility makes it easy to integrate with hundreds of digital tools and saas platforms.
Contentful focuses on content, not pages. So you get to build and organise content models the way you want rather than being confined to templates.
The free community plan is sure to get you started. It comes with GraphQL and up to 48 content types.
Although the Team and Enterprise plans have more features, they don’t extend the number of content types. So, the pricing might seem outrageous for starters.
Ease of development
With a customizable interface, Contentful is easy to use and completely flexible for creating all types of content.
You can structure the content for any channel. Create custom content types, select and choose individual fields and arrange entries in a flexible hierarchy.
Contentful has a docs search; you can quickly search the docs to find what you’re looking for.
The documentation is in sections; you can get started from the Concept section and, in a few hours, get the hang of Contentful CMS. Their documentation can be found here.
Contentful also provides a learning centre where you can enrol and access free, self-paced live training led by Contentful experts. The best part - it’s free. You can access it here.
Unfortunately, Contentful does not come with starter templates. This lack of starter templates will be a bane to non-developers.
Contentful is fully extensible. It is an API-based CMS, so developers can tweak and integrate it with numerous tools and tech stacks.
Contentful doesn’t allow its users to host by themselves. Instead, they store your content on their servers. Contentful uses AWS, with server availability in three time zones.
So, basically, Contentful will handle the scalability of your content-driven website during peak times.
But, is this something you will want? Below is a review from a user from 2021.
“They are fast, safe, secure, and will take care of all the maintenance.”
The community plan does not have uptime and support SLAs, technical support, high priority support, and customer success services.
The Team plan, which starts from $489, has access to just technical support. The Enterprise plan has access to all support channels.
A good thing; all the plans have access to the developer ecosystem, so if you’re on the community plan, you can get answers to questions from other developers.
Contentful offers Brute force protection, Two-Factor Authentication (2FA), and frequent backups using AWS S3 buckets.
NetlifyCMS is an open-source Git-based CMS with a friendly UI and intuitive workflows. It has over 15k stars on GitHub.
Like Forestry.io, NetlifyCMS allows you to store contents and codes in your favourite Git repo. That means you have total control of content and code versioning, multi-channel publishing, and the option to handle content updates directly in Git.
NetlifyCMS is compatible with most static generators and is fully extensible, which means you can create custom-styled previews, UI widgets, and editor plugins.
NetlifyCMS is free and open source. No price plan or tier exists. This free pricing is more than what you need to get started with headless CMS.
Ease of development
NetlifyCMS editing UI is simple, considering the fact that it’s a free forever CMS. It has just three tabs: the content, workflow, and media tabs. Simple and friendly.
Once you hit the “Get started” button on the NetlifyCMS homepage, you’re immediately redirected to the documentation page.
The documentation has quite a steep learning curve for non-developers.
You can get started with a template suitable for your static site generator, complete signup to Netlify.com, and preview your site in less than 5 minutes.
As a Git-based CMS, developers have complete control over their websites. Use any SSG and customise as you please.
Git-based CMSs, by default, grants you the ability to host anywhere. But with NetlifyCMS, you get to host your code and content on the Netlify.com Paas.
NetlifyCMS is an initiative by the Netlify team to encourage JAMstack lovers to adopt and use Netlify cloud services.
You don’t get to have a dedicated support channel. But be rest assured that you get support when you need it. With over 3k developers in their Slack group - link here.
NetlifyCMS is a community-driven project. You will find answers to problems you face, and also you can contribute to the ecosystem by responding to other community user problems and questions.
Although there is no explicit page detailing NetlifyCMS security assurance, Netlify as a PaaS deploys only to major cloud providers who regularly undergo extensive security audits and certifications.
Netlify offers an active DDoS(Direct Denial of Service) mitigation, and all traffic over their networks is TLS encrypted.
You can find more information here.
The choice for CMS to use solely lies in what you or your business needs. We have different needs; some an impressive UI, while some want performance.
At BugleLab, we constantly test and iterate site builders, CMS, and static site generators. So far, in terms of CMS flexibility and convenience, we love and use Forestry for our clients and our company website.
We will keep updating this post as it is a work in progress. So let us know what we missed.
Want to know the business advantage a static website can give? Find out here.