Butter CMS

Butter CMS Review and Features

Written by Bruno Aderaldo

Last update: 6/11/2024

FeatureButter CMS

CMS Type

API

Editor Experience

Dashboard Internationalization

The CMS interface can be displayed in multiple languages, making it accessible for non-English speakers.

Multilanguage Content

Support for creating and managing content in multiple languages. Useful for global websites that need to cater to different regions.

Scheduling & Releases

Allows you to schedule content to be published at a specific time and date in the future.

Content Versioning

Keeps track of different versions of content, allowing you to revert to previous versions if needed. Like an "undo" button for your content.

Autosave

Automatically saves changes as you work, preventing data loss if something unexpected happens, like a browser crash.

Preview Content

Lets you see how content will look on your live site before publishing it. Like a sneak peek before it goes live.

Multiple Environments

Support for different stages of content (e.g., development, staging, production). This allows testing changes in a safe environment before going live.

Workflow

Sets up an approval process for content creation. For example, a writer might submit content, then an editor reviews and approves it before publishing.
possible to review the content

Customizable UI

Allows customization of the CMS user interface to match your brand or specific needs.

Team Management

User Roles

Predefined roles (like admin, editor, viewer) with specific permissions.
limited options

Custom User Roles

Ability to create custom roles with specific permissions tailored to your organization’s needs.

Organization Management

Allows you to manage different user groups and access within the CMS.

Developer Experience

REST API

An API that follows REST principles, allowing developers to interact with the CMS using standard HTTP requests.

GraphQL API

An API that uses GraphQL, allowing clients to request exactly the data they need, making data fetching more efficient.

Images API

API specifically for managing images, including uploading, processing, and retrieving images.
via API (query) or UI (editor - paid feature)

Content Management API

API for managing content, including creating, updating, and deleting content items.

Field Types

Different types of data fields available for content, such as text, number, date, media, etc.

Custom Field Types

Allows you to create even more specific field types beyond the basic ones, to perfectly match the type of content you manage.

Webhooks

Allows the CMS to send real-time notifications to other systems or services when certain events happen (e.g., content published). You can use these to trigger actions in other applications.

CLI

Command Line Interface tools that allow developers to perform tasks and manage the tool via the command line.
last update in 2018

SDK

A set of tools and pre-written code snippets that developers can use to integrate the CMS with their project more easily.

Free Tier

Free Plan Available

Some headless CMS providers offer a free plan with limited features, allowing you to try it out before committing.
for non-commercial project

Team Members

The number of users (team members) that can be added to the CMS.

Locales

The number of different languages and regional settings the CMS supports for content creation and management.
N/A

Projects

Support for managing multiple projects within the same CMS account.
N/A

Security & Compliance Offerings

Two-factor authentication

Adds an extra layer of security when logging in.

Team Logs

Tracks user activity within the platform for better accountability.
N/A

GDPR

Compliance with the General Data Protection Regulation for handling personal data.

SOC2

Service Organization Control 2 compliance for managing customer data.

ISO27001

International standard for information security management.

Others

Extensions

Additional plugins or add-ons that can enhance the functionality of the platform.

Built-in Backups & Restore

Features that automatically back up content and settings, allowing easy restoration in case of data loss.

What is ButterCMS?

API-based CMS and blogging engine for rapidly building websites in any programming language. Great for blogs, dynamic pages, and more. Understanding the pain points of WordPress all too well is what sparked Jake Lumetta, the founder and CEO, to develop ButterCMS.

User interface

Butter has a comfortable, clean, and intuitive interface. All menu options are accessible in the sidebar on the left side, which includes dashboard, blog posts, pages, collections, media library, users, and useful links like their knowledge base and docs.

Dashboard

Let’s take a look at the dashboard page of a new account. Besides a couple of nice tour videos to understand the concept and core solutions, you’ll have access to a quick video comparing the ButterCMS with a traditional CMS like WordPress as well.

More below you will find a couple of interesting articles from their knowledge base showing how to do or understand specific topics and invite users.

Pages

This menu is used for creating your page types and pages (based on a page type). Page Types allow you to quickly launch a new marketing site or add pages to your existing site.

You can compose flexible page layouts and easily reorder them with ButterCMS’ Components. Instantly. Without developers or IT department.

As a marketer, you will have the freedom and flexibility you need to compose compelling, unique content experiences with Pages built using Components. Your team can define a library of reusable, custom Components that you can use to create limitless kinds of experiences.

These are the options you have to create templates. Pages are a very flexible content type that allows you to create any custom combination of content fields. You can build a Page Type that can be used over and over again by the content editing team to create new content.

After saving your page type, you can fill in all your page data and schedule or publish it!

[@portabletext/react] Unknown block type "newPdfPage", specify a component for it in the `components.types` prop

Blog Engine

Remember about the blog engine I mentioned before? This is how it looks like. A list of all your blog posts and cool options to filter them, export all posts (.csv), and obviously, create a new one!

Blog Posts are pre-configured pages with predefined fields that enable you to quickly connect a blog to your site with built-in, optimized SEO.

Here is a test post that comes when you create your account, it is very interesting as it helps you understand what you can do, the types of content you can insert.

Butter's WYSIWYG editor supports standard text formatting including headings, links, quotes, code, text alignment, and more. You can upload, crop, and resize images that are automatically hosted and delivered through a CDN. You can also edit HTML directly when needed.

Here is where you can do your SEO stuff:

Here is the space where you can optimize for SEO:

Finally, you can schedule posts.

Butter handles your SEO

The blog engine also comes with two additional tabs that will help you with your SEO efforts. The first tab is for you to cover the metadata fields, and the second one is to cover the essential SEO Tags (that your page can't live without).

Collections

Collections are tables of data to be referenced by Pages, extending the use cases that you can achieve with ButterCMS. Collections can also be queried from the API directly. You will be able to store data on the Collections and then reuse it on any page you want.

Let’s suppose you have a list of testimonials that you want to show on different pages. You can use collections for that.

Media Library

A key way to make your blog posts and articles engaging is to break up the content with images and videos. Adding media files to your posts is super easy.

ButterCMS comes with a robust and reliable Media Library that helps you to store and distribute all your media content. You don’t have to have your own image hosting or configuring a complex CDN. Their media library supports all file types and provides a fast and efficient experience for your content editors and your end-users.

Another cool feature inside of the media library is that they have an image editor, so you can transform your images with a beautiful, modern interface. Crop, resize, apply filters, and more. Over time the number of files can grow a lot, so you can organize your media with tags.

Users

Invite your team members, developers, marketers, or editors to work with you.

You also can set roles and permissions for them. Right now ButterCMS has three roles: Admin, Publisher, and Author. But you can chat with them to discuss Enterprise options if you need a custom role.

ButterCMS API

Butter was built from the ground up with developers in mind to make integration as fast as possible.

There is a Content API that you can use to retrieve, edit, search, filter, sort and paginate your content.

But if you need more power there is a Write API which you should use to update your eCommerce product listing, marketplace data, collect form data, or build an FAQ database by writing any data your app needs into Butter.

Add CMS capability to your app in minutes, there are many options to integrate with Butter, actually, they say you can integrate with any tack stack. If you are looking for some starters I’d suggest you can take a look at starters using Gatsby.js and Next.js.

Support

They really care about explaining everything or at least give you a small review about the feature you might be interested in.

You can watch the full tour or visit their Knowledge Base to review Content Modeling best practices and find answers to your FAQs. But if you really need help, you can contact support using the chatbot on their website and on your dashboard.

Priority support starts with their Small Busines plan and with Enterprise you’ll get access to the dedicated Slack channel as well.

ButterCMS Pricing

[@portabletext/react] Unknown block type "newPdfPage", specify a component for it in the `components.types` prop

ButterCMS Pros and Cons

[@portabletext/react] Unknown block type "prosCons", specify a component for it in the `components.types` prop