5 Content Editing Options For JAMStack Sites

October 23, 2020 · 2 min read
Sleepy cat in front of MacBook
Photo by Catherine Heath on Unsplash

When you have a JAMStack website, you need some way to edit your content.

In this article, we‘ll go over the different options you have, so you can find the editor that best suits your content workflow.

The two basic options are publishing based on Markdown files, and publishing on a headless CMS.

In a traditional CMS, the content editor, backend, and your website are all bundled into one application. Typically, on each request for a website, the backend fetches the latest version of an article and renders it on the fly.
Most headless CMS on the other hand only contain the editor, store your content (texts, images), and offer the content via an API. This way, JAMStack websites are only built when content changes and are otherwise served as static websites.

Here are 6 options for editing content for JAMStack sites.

Markdown-based options

The first option most JAMStack starter projects offer is to render content from Markdown files with front matter. I've written a blog post about how Gridsome loads Markdown files.

You have three choices when you want to keep all your blog posts in your Git repository:

API-based options

Headless, API-based CMSs offer a smooth editing experience with collaborative features and often a compelling visual editor. When you want to use a headless CMS, you have many options at hand. You can either use Open Source projects or one of the paid services.

Open Source Headless CMS

Some traditional CMS also offer APIs. The JAMStack community integrated with them, so now you can use APIs of popular open source CMS for your JAMStack projects:

  • Ghost offers a JSON API to integrate into your content editing workflow. You can use a hosted Ghost instance of host one yourself to get the great content-editing experience of the Ghost open source CMS.
  • You can also use Wordpress as a headless CMS with any frontend using its REST API. You can look at this React+Wordpress tutorial to get yourself started.

Apart from open source CMS, there are plenty of paid headless CMS, many of which have a free plan. Two interesting options are Sanity and Contentful:

  • Sanity is a highly customizable solution for content management. You can adapt it for a variety of use cases.
  • Contentful is an enterprise-focused content management solution. It is extensible and supports many content types.

Both have great documentation and offer a REST API and a GraphQL API. Also, both Sanity and Contentful have a free tier, but the price quickly gets higher.

There are many more headless CMS services, e.g.: Storyblok, ButterCMS, Contentstack, GraphCMS, Prismic, Strapi, ...

Other blogs have written excellent comparisons between different headless CMSs.

Start Simple, Then Fix Your Pains

As with most software projects, the key is to start with a solution that works for now and improve from there.

This blog started with editing bare Markdown files. After trying out Netlify CMS and discarding it for its lack of mobile optimization, I'm now using Forestry.

Two posts to go on from here: