Forestry

Forestry Review and Features

Written by Thom Krupa

Last update: 6/11/2024

FeatureForestry

CMS Type

GIT

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.
N/A

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.

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.

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.

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.

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.

Team Members

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

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.

GDPR

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

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.
[@portabletext/react] Unknown block type "message", specify a component for it in the `components.types` prop

Forestry Overview

Forestry is definitely one of the most popular commercial Git-based CMSs. If you are not sure what's the difference between API and Git CMS, we wrote an article explaining the details.

User Interface

The dashboard is a bit rough, it doesn't tell you much besides a nice welcome message. There is room for improvement for sure. For example, it would be nice to see links to docs or code examples.

Here is what the posts page looks like:

Customizable Sidebar

The left side is the Sidebar you can adjust to your needs. You can create a section, name it as you wish, and select what links should be there. That's one of my favorite things with Forestry, simple and very customizable via settings.

Take a look at the short video below how we used Forestry to manage our very own website.

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

Support

Free plan support depends on availability. Priority support (median time to close issues under 8 hours) starts with the Pro plan. In reality, we have had a couple of issues previously and needed a fast response. Surely enough their support team helped us out immediately.

Pricing

The personal plan starts from $0/mo and it is a perfect choice for smaller projects. You can have up to 3 websites and up to 3 users per 1 website. It gives you full access to the CMS, in opposition to most API-based CMSes there is no limit in terms of the amount of content or types. The only limits here are the technical ones in your Git provider.

In case you need more control over your organization or if you want to manage more than 3 websites you should look at the Starter plan. For the $29/mo you have access to the organization account and can have up to 5 websites ($9 per additional site).

What Do Clients Say?

We used Forestry together with Vercel and Gatsby for this website. That should be a good enough pro on its own.

I love that I can edit content in Visual Studio Code and push changes through git. At the same time, we have a nice CMS editor for our marketing team.

Thom KrupaCo-founder at Bejamas

Check out a different case study for our own website here.

Pros and Cons

It's not a coincidence we picked Forestry as the main CMS for the Bejamas website. Thanks to its simplicity and native Git integration it's a perfect choice for a marketing team of editors and developers.

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