Skip to main content

Headless CMS comparison from JAMStack perspective (Gatsby)

I am more than confident that headless architectures will rule the future.

What are JAMStack projects#

JAMStack has been popularised by teams like Netlify who along with many static site generator frameworks like Gatsby are making the process of hosting sites way better than before. If you are anyone like me, you must have utilised Gatsby and Netlify and one of the headless CMS tools out there already. No?

Checkout JAMStack.org site to know more about JAM stack and its advantages over traditional stacks.

What are Headless CMS tools#

These are CMS tools where content is decoupled from their respective templates, thus avoiding the tight dependency of frontend projects on these CMS tools. If these are used, front-end developer can easily get the content and plug it in wherever required for the application they are making.

These CMS tools will expose an API layer that gets consumed by the front-end setup, as a traditional REST api or a GraphQL api.

Static Site Generators, will consume this API and generate static HTML pages that can be hosted easily without an actual server -- the whole point of JAMStack.

Checkout the HeadlessCMS.org site for a quick look at the plethora of these kind of CMS solutions out there, sorted by their popularity.

Also checkout StaticGen.com which has a similar listing for Static Site Generator tools out there, sorted by their popularity.

What is the comparison then#

Recently, I went through a bunch of these CMS solutions against the Gatsby framework, mainly understanding how well and easy, we can integrate them with an existing Gatsby setup, how easily we can migrate content to these CMS tools and how easily we can maintain these.

Here is a full list of comparisons I did ⬇️

FeatureNetlify CMSContentfulStrapi CMSTina CMS
Gatsby integrationYesYesYesYes
Cloud basedNoYesNoNo
Separate repoNoNoYesNo
AuthenticationGitHub/GitLab/BitBucketGitHub/Google/TwitterEmail based/random UIDAnyone with access to the repo
Static filesYesNoNoYes
Same repoYesNoNoYes
Multi-mediaRepo-basedCloud-basedIndependentRepo-based
Integration changesLowLowLowMedium
Incremental buildsYes, possibleNo, full build requiredNo, full build requiredYes, possible
CMS UISeparateSeparateSeparateIntegrated
CMS Component supportNoNoYesNo
Content TypesYesYesYesNo
File formatsMarkdown, Yaml, JSONN/AN/AMarkdown, JSON
Component modification required (one time)NoNoNoYes
Multi-site supportNoYesYesNo
WebhooksNot requiredYesYesNot required
Content migrationPossibleNot possibleNot possiblePossible

How do you find this comparison to be? Would you like to add more details? Probably more points to compare? Have you done a similar comparison with these (or other) CMS tools? Please jump in and leave a comment. I will definitely check them out.

Last updated on