Skip to main content
Technical July 23, 2026 • by Taha

Which CMS for an Astro site? 2026 comparison

Headless CMS options for Astro compared: Pages CMS, Decap, Sanity, Contentful, Strapi. Real costs and the criterion that matters in Morocco.

Abstract illustration of a content management interface with green accents

When I hand over a static site, the next question is always the same: “What if I want to change some text myself?”

It’s the right question. A site the owner can’t edit either goes stale or generates an invoice every time a phone number changes. So the CMS choice matters as much as the framework — and for a small business in Morocco, the criteria aren’t the ones in English-language comparisons.

The decision that changes everything: where content lives

Two families, and the difference is structural.

Git-based CMS. Content is stored as Markdown or JSON files in your repository. The editing interface writes to those files via a commit. Pages CMS, Decap and TinaCMS work this way.

API-based CMS. Content lives on the vendor’s servers. Your site queries it at build time. Sanity, Contentful, Strapi and Hygraph fall here.

The direct consequence is underrated: with a Git CMS, you physically own your content. It’s versioned, backed up, readable without any tool, and if the editing service shuts down tomorrow your files are untouched. With an API CMS, your content sits with a third party, subject to their pricing and their survival. For a client who pays once and expects to keep the site five years, that isn’t a detail.

The options

Pages CMS

A web interface that edits files in your GitHub repository, configured by a single .pages.yml file describing your fields.

Cost: free. Best for: brochure and SME sites whose content is already in files.

What I like: no account for the client to create beyond GitHub, no database, no recurring bill, and content stays in the repo. Configuration is declarative and quick.

The honest limitations: it’s a young project maintained by a small team — a risk worth weighing. The interface is basic next to Sanity. And the config file must mirror your data structure exactly: a field you forget to declare is invisible in the interface, with no warning. I made precisely that mistake on this site.

Decap CMS (formerly Netlify CMS)

The original Git-based CMS. Open source, widely deployed.

Cost: free. Best for: the same cases, when you’d rather bet on established open source.

More mature and better documented than Pages CMS, but development has slowed and authentication takes more setup. The interface shows its age.

Sanity

The most capable hosted option. Customisable React editor, real-time collaboration, very fine-grained content modelling.

Cost: a genuine free tier usable in production, with caps on seats, documents and API requests. Paid plans start around $15 per seat per month.

When it’s justified: complex structured content, several simultaneous editors, a large catalogue, editorial governance needs. For a ten-page site it’s overkill.

Watch the per-seat model: billed in hard currency, $15 per user per month is a meaningful recurring cost for a Moroccan SME relative to the price of the site itself.

Contentful

The enterprise option. Solid, but priced for organisations of a different size — the free tier is deliberately constrained and the first serious plan runs to hundreds of dollars monthly.

My view: for a brochure site or an SME in Morocco the cost/benefit isn’t there. Contentful solves problems that international content teams have and you don’t.

Strapi

Open source and self-hosted: you control everything, and you administer a server, a database and backups. That shifts cost from software to infrastructure and time.

Sensible if you already have a technical team. Otherwise you’ve reintroduced exactly the maintenance burden that going static was meant to remove.

Comparison

Pages CMSDecapSanityContentfulStrapi
Entry cost000 (capped)0 (very limited)Server
You own the contentYes (Git)Yes (Git)No (API)No (API)Yes (self-hosted)
Account requiredGitHubGitHubSanityContentfulYour own
Offline editingYesYesNoNoNo
Editing experienceAdequateAdequateExcellentExcellentGood
MaintenanceNoneNoneNoneNoneYours
Suits a brochure siteYesYesOverkillNoNo

The criterion nobody mentions: connectivity

English-language comparisons assume a stable connection. In Morocco a Git-based CMS has a concrete advantage: response times are GitHub’s, and editing doesn’t depend on constant round trips to a content API. On an unreliable connection the difference in experience is obvious.

Another field observation: Sanity’s and Contentful’s interfaces are in English. For an SME owner in Marrakech working in French and Darija, a minimal interface with clearly named French fields usually beats a powerful but intimidating tool. The best CMS is the one your client will actually open.

What I choose, and why

For the large majority of my projects — brochure sites, business sites, practices — I use Pages CMS: free, no subscription to explain, content versioned in the repo, and entirely sufficient when the fields are well designed.

I move to Sanity when there are multiple simultaneous editors, substantial content volume, or a need for review and approval before publishing.

I only recommend Contentful when the client already uses it elsewhere.

One point that applies to all of them: editing quality depends less on the CMS than on the care put into modelling. Fields named in the client’s language, described, with long-text areas where they belong and dropdowns where free text would create inconsistency — that matters more than the brand. A badly configured Sanity is more painful than a well-planned Pages CMS.

Pricing changes regularly; check the official pages before committing.


See also: the business website page and an easy visual admin.

#cms#headless#astro#contentful#sanity

Let's talk about your project

Start Your Project