Astro.js потрясающе работает с локальными Markdown и MDX-файлами. Для разработчика писать посты прямо в VS Code — сплошное удовольствие. Но как только к проекту подключаются редакторы, маркетологи или клиенты, возникает неизбежная проблема: им нужен удобный визуальный интерфейс, а не текстовый редактор с синтаксисом --- и ##.
Решение — Headless CMS (Системы управления контентом без фронтенда). В отличие от монолитных CMS вроде WordPress, Headless CMS предоставляет только административную панель и хранилище данных. Astro подключается к ней через API или файловую систему и генерирует красивый сайт.
В 2026 году рынок Headless CMS созрел. Есть четкие категории решений для каждого типа проекта. Разберем их детально.
Категория 1: Git-based CMS (контент в вашем репозитории)
Эти системы не требуют отдельных серверов или баз данных. Контент сохраняется прямо в Git-репозиторий в виде Markdown/MDX/JSON файлов. Это абсолютная победа для DevOps: история изменений контента — это история Git-коммитов.
Keystatic — фаворит экосистемы Astro
Keystatic
— продукт команды Thinkmill (авторы Keystone.js), созданный в тесном партнерстве с командой Astro. Это не просто интеграция — это эталонное решение для Git-based управления контентом.
Как работает: Keystatic добавляет в ваш Astro-проект административную панель по адресу /keystatic. Когда редактор создает или правит статью через этот UI, Keystatic автоматически делает коммит в GitHub-репозиторий с соответствующим Markdown/MDX файлом.
// keystatic.config.ts
import { config, fields, collection } from '@keystatic/core';
export default config({
storage: {
kind: 'github',
repo: { owner: 'your-org', name: 'your-astro-site' },
},
collections: {
articles: collection({
label: 'Статьи',
slugField: 'title',
path: 'src/content/articles/*',
entryLayout: 'content',
format: { contentField: 'content' },
schema: {
title: fields.slug({ name: { label: 'Заголовок' } }),
description: fields.text({ label: 'Описание', multiline: true }),
date: fields.date({ label: 'Дата публикации' }),
cover: fields.image({ label: 'Обложка', directory: 'src/assets' }),
content: fields.mdx({ label: 'Текст статьи' }),
},
}),
},
}); Плюсы Keystatic
Бесплатно. Контент в Git (история изменений, ветки, ревью через PR). Локально без задержек. Красивый современный интерфейс. Поддержка MDX с компонентами прямо в редакторе.
Минусы Keystatic
Не подходит для проектов с тысячами страниц (файловая система ограничена). Нет встроенного поиска по контенту в панели.
Decap CMS — проверенная классика
Decap CMS
(бывшая Netlify CMS) работает по аналогичному принципу, добавляя Git-based админку по пути
/admin. Decap добавляет ценную функцию Editorial Workflow: черновик → на проверку →
опубликовано. Это идеально для редакций с несколькими авторами и редакторами.
Категория 2: API-based облачные CMS
Эти системы хранят контент в облаке и отдают его через API (REST или GraphQL). Astro запрашивает данные во время сборки (getCollection через лоадер) или в режиме SSR по каждому запросу.
Sanity — корпоративный уровень с Visual Editing
Sanity
— самая технически продвинутая Headless CMS на рынке. Данные хранятся в облаке в формате структурированного JSON, а запросы пишутся на языке GROQ (Graph-Relational Object Queries).
Главная суперсила Sanity в 2026 году — Live Visual Editing. Редактор видит свой Astro-сайт прямо в интерфейсе Sanity Studio и кликает на любой элемент для редактирования. Изменения отображаются мгновенно.
// src/lib/sanity.ts
import { createClient } from '@sanity/client';
export const client = createClient({
projectId: 'your-project-id',
dataset: 'production',
apiVersion: '2026-04-22',
useCdn: true, // CDN кэш для быстрых ответов
});
// Запрос статей через GROQ
export async function getArticles() {
return client.fetch(`
*[_type == "article"] | order(publishedAt desc) {
title,
"slug": slug.current,
description,
publishedAt,
"coverUrl": cover.asset->url,
}
`);
} Кому подойдет: Крупным медиа-изданиям, e-commerce с богатым контентом, корпоративным порталам, где контент используется одновременно на сайте, в мобильном приложении и рассылках.
Storyblok — визуальный редактор блоков
Storyblok
— уникальная CMS с концепцией «компонентного» контента. Редактор не пишет текст в редакторе, а собирает страницу из заранее заготовленных блоков (Hero, Features, Testimonials) — как конструктор Lego.
Это идеально для маркетинговых лендингов, где маркетолог должен самостоятельно создавать новые страницы без помощи разработчика. Каждый блок в Storyblok соответствует компоненту в Astro.
Категория 3: Self-hosted (на своем сервере)
Strapi — Open-Source мощь
Strapi
— самая популярная Open-Source Headless CMS на Node.js. Устанавливается на собственный VPS (идеально через Coolify), полностью под вашим контролем. Автоматически генерирует REST и GraphQL API на основе созданных типов контента.
Почему это важно для РФ-проектов: Strapi решает проблему с 152-ФЗ (закон о персональных данных). Все данные пользователей хранятся на ваших серверах в российском дата-центре.
PocketBase как Headless CMS
PocketBase
— единый исполняемый файл на Go, который включает в себя базу данных SQLite, REST API, авторизацию и… встроенную панель администратора. По сути, PocketBase может выступать в роли легковесной Headless CMS для небольших и средних проектов.
Категория 4: Notion как CMS
Благодаря Astro Content Loaders (появились в Astro 4.14), теперь можно использовать Notion как полноценную CMS. Если ваша команда уже ведет все заметки и базы знаний в Notion, зачем учить новый инструмент?
// content.config.ts — пример с Notion Loader
import { defineCollection } from 'astro:content';
import { notionLoader } from 'notion-astro-loader';
const blog = defineCollection({
loader: notionLoader({
auth: process.env.NOTION_TOKEN,
database_id: process.env.NOTION_DATABASE_ID,
filter: {
property: 'Status',
select: { equals: 'Published' },
},
}),
});
export const collections = { blog }; Кому подойдет: Стартапам и командам, уже живущим в Notion. Быстрый запуск корпоративного блога или страницы вакансий без дополнительных инструментов.
Итоговое сравнение
| CMS | Хранение | Цена | Для кого |
|---|---|---|---|
| Keystatic | Git (GitHub) | Бесплатно | Разработчики, небольшие блоги |
| Decap CMS | Git | Бесплатно | Редакции с ревью-процессом |
| Sanity | Облако Sanity | Free / $99+/мес | Корпоративные порталы, медиа |
| Storyblok | Облако SB | Free / €90+/мес | Маркетинговые сайты |
| Strapi | Свой сервер | Бесплатно (Self-hosted) | Проекты с требованиями к данным |
| PocketBase | Свой сервер | Бесплатно | Небольшие и средние проекты |
| Notion API | Облако Notion | Стоимость Notion | Команды в экосистеме Notion |