back buttonback button mobile

It’s hard to choose a headless CMS when you are cheap (and snobby)

2022-12-29

Jamstack is great. It is easy to build and deploy a great SSG/SSR website and deploy it for a cheap price. I have built many sites using Strapi, Hygraph(Graph CMS) and as a developer I loved using these tools. But everyone might not have the same opinion.

Full disclosure, I am not currently using a headless CMS for my website. I just use MDX. I write content in markdown. I felt that markdown should be enough for a site that’s not going to be updated often. I might change my mind soon, Who knows?!

I got into Jamstack when i wanted to create my first blog (Million ways to program a bug), Which now i have taken down. I created it using Next JS, and Hygraph as CMS. It was a great experience building with a headless CMS. I can create the schema i want, it provided flexibility. But most importantly, I can do it my way. I’m not forced to adopt to the CMS’s way of building things which is what i always hated about WordPress.

Headless CMS like Graph CMS and Strapi gives you full control over how you define the content types, Schemas, and they also let you choose your favorite front end framework. Since they are not concerned about how the data is shown, A headless CMS only cares about delivering the content.

For developers building a simple blog or a portfolio website for themselves there are many good options out there. I personally liked Hygraph, as it offers generous amount of usage. Contentful also provides a free tier for developers. And there are other services that has similar free tier options.

So when i started building a portfolio website for my Product designer friend, I just thought I’d use Hygraph & Next JS, as that is my usual workflow for these kind of websites. I built the design he gave me and added SSR to the site so that he can change almost every piece of content in the site. But when I showed him how to use the CMS, He did not like the experience. Not the whole CMS. Just the content editing part.

The content editing in these CMS has never bothered me before, because mostly i just need a simple editor. But for him, he required more control. So now i have to figure out what would be a good content editing experience for him. Most of the headless CMS will have a very similar content editing experience. The rich text editor is not going to be an out of the world writing experience. It’s all pretty basic.

What would be a good alternate?

Let’s look at other options some of them are free, some of might come with a little bit of cost.

1. Ghost CMS

Ghost CMS has a very clean rich text editor. It is built for publishers, So the content writing experience is great. But the problem with Ghost CMS is that it is not primarily designed to be a headless CMS. It’s a traditional CMS like WordPress. You can still use it as a headless CMS, and it will work great. You can use your favorite static site framework and ghost provides a Javascript content API library which will make it easy to connect with your Ghost CMS instance.

Connecting to Ghost

const api = new GhostContentAPI({
   url: 'https://demo.ghost.io',
   key: '22444f78447824223cefc48062',
   version: "v5.0"

// fetch 5 posts, including related tags and authors
 
api.posts
  .browse({limit: 5, include: 'tags,authors'})
  .then((posts) => {
      posts.forEach((post) => {
          console.log(post.title);
      }); 
  }); 
  .catch((err) => {
      console.error(err);
  });

Pros of using Ghost

  1. Great user interface.
  2. Plugin library provides easy integration to tools.
  3. You can use it as both traditional or headless CMS
  4. Extensive theme library.
  5. Good content writing experience.

Cons

  1. You need to pay at-least 25$ a month to get the option to use custom theme if you are using their hosted service.
  2. Self hosted option might end up costing you, and it comes with additional overhead of maintaining the servers.

2. Strapi

Strapi is great. It offers a lot of flexibility. I have built multiple sites using Strapi. I have even migrated WordPress sites to strapi. The plugin ecosystem is getting better. What about the content writing experience? It’s better than most. You can even change the default rich text editor to your favorite editor. Strapi offers CK Editor, Quill and Editor.Js as plugins and it is easy to configure and get started with those.

Pros of using Strapi

  1. Great user interface.
  2. Good developer experience. It’s easy to build a site using strapi.
  3. It’s easy for users to use strapi. It does not require a lot of training.
  4. Good and improving plugin marketplace.
  5. Multi language content

Cons of using Strapi

  1. Cost & efforts of running and maintaining the servers

Keystone

Anyone who has been building websites for a while might have definitely heard the name Keystone.js. Keystone is a developer friendly CMS built on Node JS. Keystone has a nice UI, and a friendly community. Although strapi might be easier than Keystone to build faster, the writing experience in keystone is on par, if not better than Ghost CMS. And similar to Ghost, Keystone can be used as traditional CMS and also as a headless CMS. Keystone 6 offers Graphql based API.

Pros of using Keystone

  1. Good user interface
  2. Developer friendly
  3. Good content writing experience.
  4. You can use it as both traditional or headless CMS

Cons of using Keystone

  1. Cost & efforts of running and maintaining the servers

It looks like all the good option requires you to host and maintain the CMS yourself. Now, that’s a little tricky because it will cost you to host the servers yourself.

How can we host the CMS for free?

Freemium services like Heroku has stopped providing free tier. Digital ocean is quite easy to get started and it’s relatively cheaper compared to other services. But thankfully there are other options.

Hosting applications

  1. Fly.io
  2. Render.com
  3. Railway.app
  4. Cyclic.sh

All of these services offer generous free tier options to host your applications.

Hosting images & media

  1. Cloudinary
  2. Imagekit
  3. ImgBB

There are many free options available for users to crate and deploy websites. Launching a website is easier than ever. I have only covered a fraction of the available tools. I will post more on other CMS and services in the future. To stay updated Sign-up for my newsletters.