Состояние рынка
Headless CMS перестал быть нишевой темой. Рынок оценивается в $3,94 млрд в 2026 году и прогнозируется к росту до $22 млрд к 2034-му (CAGR >21%). Для большинства команд это уже инфраструктурное, а не инструментальное решение.
Рынок сложился в два лагеря:
Enterprise-Grade Orchestrators — Contentful, Sanity, Kontent.ai. Проприетарные SaaS-платформы с высоким ценовым порогом, позиционирующие себя как «Composable DXP» или «Content Operating System». Высокий уровень managed-сервисов, global CDN из коробки, но данные живут у провайдера.
Developer-Owned Backends — Strapi, Payload CMS. Open-source, self-hosted, максимальный контроль над инфраструктурой. Strapi — самый популярный headless CMS с открытым исходным кодом по числу GitHub-звёзд и задокументированных enterprise-деплойментов.
Что такое Strapi
Strapi — headless CMS на Node.js с MIT-лицензией. Self-hosted Community Edition полностью бесплатен.

Ключевые параметры платформы:
- API: REST и GraphQL генерируются автоматически для каждого content type. OpenAPI v3 spec с v5.20
- База данных: PostgreSQL (рекомендован для production), MySQL/MariaDB, SQLite. Только SQL — намеренный выбор под реляционную enterprise-инфраструктуру
- TypeScript: 100% кодовая база с Strapi 5, сборка через Vite
- i18n, Draft/Publish, версионирование контента — из коробки
Архитектура: схема как код
Главное архитектурное решение Strapi — content type как файл в репозитории. Каждый тип — это schema.json, который версионируется в git, открыт для диффа в PR и читаем любым инструментом.
// src/api/article/content-types/article/schema.json
{
"kind": "collectionType",
"options": { "draftAndPublish": true },
"attributes": {
"title": { "type": "string", "required": true },
"slug": { "type": "uid", "targetField": "title" },
"content": { "type": "richtext" },
"author": { "type": "relation", "relation": "manyToOne", "target": "plugin::users-permissions.user" }
}
}
Из этой схемы Strapi автоматически генерирует полный CRUD-слой. REST-эндпоинт поддерживает фильтрацию, сортировку, пагинацию и populate для связей:
GET /api/articles?filters[author][username][$eq]=john&populate[author][fields][0]=username&sort=createdAt:desc&pagination[pageSize]=10
Тот же запрос через GraphQL — через /graphql, который подключается одним плагином.
Кастомная бизнес-логика
Lifecycle hooks перехватывают события без написания отдельных эндпоинтов:
// src/api/article/content-types/article/lifecycles.ts
export default {
async beforeCreate(event) {
const { data } = event.params;
if (!data.slug && data.title) {
data.slug = slugify(data.title, { lower: true });
}
},
};
Кастомные роуты добавляются декларативно:
// src/api/article/routes/custom-article.ts
export default {
routes: [
{ method: 'GET', path: '/articles/trending', handler: 'article.findTrending',
config: { policies: ['global::is-authenticated'] } },
],
};
Официальный @strapi/sdk-js генерирует типизированные клиентские методы из OpenAPI-спецификации инстанса — IntelliSense и type narrowing без ручных деклараций.
Почему dev-first архитектура выигрывает у AI-агентов
Это принципиальный момент для современного рабочего процесса.
AI-агенты (Claude Code, Cursor, Copilot Workspace) работают с файловой системой и документацией. Когда схема контента существует как JSON-файл в репозитории, агент может прочитать её, добавить поле, написать lifecycle hook и сгенерировать seed-скрипт — всё в рамках одного PR без выхода в браузер.
В CMS с UI-first архитектурой (Contentful и подобных) схема живёт только в базе данных провайдера. Агент вынужден делать аутентифицированные API-вызовы к Management API, не имея статического контекста. Это не техническое ограничение — это архитектурное.
| Задача |
Strapi |
UI-first SaaS |
| Прочитать схему |
JSON из репозитория |
API-вызов к провайдеру |
| Добавить поле |
Редактирование файла |
POST к Management API |
| Добавить логику |
Lifecycle hook в TS |
Отдельная Lambda/Function |
| Ревью изменений |
git diff в PR |
Только в UI провайдера |
Strapi AI и MCP
В 2025 году Strapi выпустил Strapi AI — генерацию content models из текстового промпта или Figma-дизайна. Параллельно разрабатывается нативный MCP-сервер, который позволяет AI-ассистентам управлять схемой через Model Context Protocol. Пока он в разработке, доступен community-плагин @sensinum/strapi-plugin-mcp.
Документация публикует специальные файлы: llms.txt, llms-full.txt, llms-code.txt — структурированный, токен-экономный контекст для RAG-систем и IDE-агентов.
Сравнение с конкурентами
| |
Strapi |
Contentful |
Sanity |
Payload |
| Лицензия |
MIT |
Проприетарный |
Проприетарный |
MIT |
| Self-hosting |
Да |
Нет |
Да |
Да |
| Schema as code |
JSON в git |
API-only |
TypeScript |
TypeScript |
| MCP-поддержка |
plugin + roadmap |
Нет |
Нативный |
Да |
| DB freedom |
SQL (PG/MySQL) |
Vendor |
Vendor |
PG/MongoDB/SQLite |
| Цена (managed) |
Бесплатно / $18+ |
$300+/мес |
$15+/мес |
Бесплатно |
| Admin UI зрелость |
Высокая |
Высокая |
Высокая (Studio) |
Базовая |
Payload CMS — ближайший конкурент в open-source нише. Устанавливается прямо в Next.js-приложение и работает внутри App Router. Figma приобрела Payload в июне 2025 года, MIT-лицензия сохранена. Если проект Next.js-first и минимальный network overhead важен — Payload стоит рассматривать наравне со Strapi.
Contentful — правильный выбор для global enterprise с требованиями к SLA, managed CDN и zero-ops. Ценовой порог отражает реальную стоимость этих гарантий.
Sanity выигрывает на real-time collaboration и кастомизации редактора через Portable Text.
Self-hosting: что нужно учесть
Strapi в production стандартно деплоится за reverse proxy (Cloudflare, nginx) с frontend на Vercel/Netlify. Для медиа нужен отдельный CDN (S3 + CloudFront или аналог) — Strapi не предоставляет его из коробки.
Для multi-region деплоймента придётся самостоятельно проектировать топологию репликации и кэширования. Именно это managed-платформы берут на себя за деньги.
Честно про миграции: upgrade между major-версиями Strapi исторически требует значительных усилий. Переход v4 → v5 не исключение. Это нужно учитывать при оценке long-term стоимости ownership.
Когда выбирать Strapi
| Сценарий |
Вывод |
| Data sovereignty, GDPR/HIPAA compliance, self-hosted |
Strapi |
| Code-first команда, схема в git, CI/CD пайплайн |
Strapi |
| AI-агенты работают с кодовой базой |
Strapi |
| Ограниченный бюджет, нужен production-ready CMS |
Strapi (MIT) |
| Next.js-monorepo, минимальный инфраструктурный overhead |
→ Payload |
| Global CDN, 99.99% SLA, zero-ops |
→ Contentful |
| Real-time collaboration редакторов |
→ Sanity |
Dev-first архитектура была преимуществом удобства. В мире, где AI-агенты читают, пишут и изменяют кодовую базу напрямую, она стала архитектурным преимуществом: инструменты работают с кодом, а не с UI провайдера.