This blog is built on GatsbyJS, hosted by Netlify and uses a headless CMS. I've been using ButterCMS for the last year (2019), but I'm moving everything to NetlifyCMS as a headless CMS. I debated using Contenful, but found Contentful a bit more complicated than I wanted it to be.
ButterCMS has been good, but after using it for a while there's a few reasons I'm moving to NetlifyCMS. The primary reason was I wanted to support a Table of Contents type scrolling. I found that with ButterCMS, I wouldn't be able to do that easily with my limited CSS skills.
Differences Between ButterCMS and NetlifyCMS
There's a few notable differences between ButterCMS and NetlifyCMS, but the biggest difference is how content is stored. In ButterCMS, content is stored on ButterCMS servers, whereas NetlifyCMS is frequently stored on your own medium (GitHub repo, etc.). With NetlifyCMS, I can use a Markdown editor instead of using a ButterCMS WebEditor.
ButterCMS pricing was expensive ($40 / month)
NetlifyCMS has a better integration with Netlify and Gatsby. I found GatsbyJS and Netlify was constantly improving, so I found myself missing on features and documentation that I wanted.
I found it difficult to write and format with ButterCMS's editor. The lack of auto-save and the difficulty I had with formatting made writing harder for me.
Using ButterCMS made it harder to dynamically format content. For instance, I wanted to be able to control links, table of contents, and images easier. Adding new Markdown plugins from Gatsby (like dynamic table of contents) lets me have improved features for my new and past content. I was styling a lot by hand in ButterCMS and it was time-consuming. Markdown is a blessing, but having the raw files let me customize frontmatter attributes much easier.
I had some minor bugs with plugins between Gatbsy and ButterCMS that were slightly frustrating.
Having your content stored on someone else's server isn't always ideal.
Much more documentation around using NetlifyCMS than ButterCMS.
Good Parts of ButterCMS
I do want to praise the good parts of ButterCMS!
It was much easier to setup than NetlifyCMS.
It has been reliable, I haven't noticed much downtime.
I had a few articles that got a surge in traffic randomly. ButterCMS's CDN was able to handle images seamlessly.
Let's see how this goes. It takes a bit of time to switch from one headless CMS to another, especially if you have to migrate a lot of content and code, so I hope this is the last CMS I switch to!