
Payload CMS 2026: чому Figma його купила (і чи варто вам його обирати?)
Payload — це headless CMS з відкритим кодом, написана на TypeScript, яка живе всередині вашого застосунку Next.js. Не поруч із ним, не в окремому контейнері, а буквально в тій самій папці /app. Якщо ви вже обпікалися на хостингових CMS-платформах, які беруть оплату за кожного користувача або блокують ваш контент за пропрієтарними API, Payload варто серйозно розглянути.
Але 2026 рік підкинув несподіванку: Figma придбала Payload, Payload Cloud призупинив реєстрацію нових користувачів, і розробникам раптово довелося самостійно вирішувати питання хостингу. Цей посібник охоплює все: від першого встановлення до продакшн-деплою, з актуальними прикладами коду для Payload 3 та чесними висновками про те, де Payload сяє, а де ні.
Що таке Payload CMS? (І чому розробники його люблять)
Payload — це headless CMS і фреймворк для створення застосунків з відкритим кодом на TypeScript, який працює всередині вашого застосунку Next.js. На відміну від хостингових CMS-платформ, Payload надає конфігурацію через код (code-first), три вбудовані API (REST, GraphQL, Local) та повністю налаштовувану адмін-панель — і все це з єдиної кодової бази. Згідно з офіційною документацією Payload, вона створена, щоб бути «найкращим способом побудови сучасного бекенду».
Проєкт розпочався у 2021 році як CMS на Node.js/Express. У 2023 році вийшов Payload 2 з покращеною підтримкою TypeScript. Потім Payload 3 повністю змінив правила гри: CMS перемістилася всередину вашого застосунку Next.js. Жодного окремого серверного процесу. Жодного окремого деплою. Ваша CMS і фронтенд використовують один і той же рантайм Next.js, ті самі маршрути й той самий пайплайн збірки.
Це справді інша архітектура порівняно з тим, що пропонують Sanity, Strapi або Contentful. І це має реальні наслідки для того, як ви будуєте, розгортаєте та мислите свій контентний шар.
Філософія Code-First
Більшість CMS-платформ надають графічний інтерфейс для визначення моделі контенту. Натисніть «додати поле», оберіть «текст», назвіть «title». Payload перевертає цей підхід: ви визначаєте все у файлах TypeScript. Ваша схема — це код. Вона зберігається в системі контролю версій. Ви перевіряєте її в пул-реквестах.
Це означає відсутність розбіжностей схем між середовищами, жодних сюрпризів типу «хтось змінив модель контенту в staging, і ніхто не знає, що сталося». Якщо ви працювали в команді, де модель контенту жила в хмарній панелі керування, ви точно знаєте, чому це важливо.
Архітектура Payload 3, рідна для Next.js
Payload 3 не працює поруч із вашим застосунком Next.js. Він працює всередині нього. Адмін-панель розміщується за адресою /app/(payload)/admin, ваші маршрути API живуть у /app/(payload)/api, а сторінки фронтенду співіснують у тому самому проєкті. Якщо ви раніше використовували Next.js у продакшні, ви почуватиметеся як удома.
| Аспект | Деталі |
|---|---|
| Ліцензія | MIT (безкоштовно назавжди) |
| Мова | TypeScript |
| Фреймворк | Next.js 15+ (нативно) |
| База даних | PostgreSQL, MongoDB, SQLite |
| API | REST, GraphQL, Local |
| Адмін-панель | Повністю налаштовуваний UI на React |
| Аутентифікація | Вбудована (JWT + refresh токени) |
| Rich Text | Lexical (редактор від Meta) |
| Хостинг | Self-hosted (Payload Cloud на паузі) |
| Зірки на GitHub | 30 000+ |
Ключові функції, що виділяють Payload
До видатних функцій Payload належать Колекції для моделювання контенту, потрійний рівень API (REST, GraphQL, Local), контроль доступу на основі ролей з гранулярністю до рівня полів, вбудована аутентифікація, редактор форматованого тексту Lexical та попередній перегляд у реальному часі для візуального редагування. Ось що кожна з них реально означає для вашої кодової бази.
Колекції, Globals та поля
Колекції — це основний примітив моделювання контенту в Payload. Уявляйте їх як таблиці бази даних, але визначені повністю в TypeScript. Кожна Колекція отримує власні endpoints REST і GraphQL, власний вигляд в адмін-панелі та власні правила контролю доступу, які генеруються з одного конфігураційного файлу.
// collections/Posts.ts
import type { CollectionConfig } from 'payload'
export const Posts: CollectionConfig = {
slug: 'posts',
admin: {
useAsTitle: 'title',
defaultColumns: ['title', 'status', 'updatedAt'],
},
versions: {
drafts: true,
maxPerDoc: 10,
},
fields: [
{ name: 'title', type: 'text', required: true },
{ name: 'slug', type: 'text', required: true, unique: true },
{ name: 'content', type: 'richText' },
{
name: 'status',
type: 'select',
defaultValue: 'draft',
options: ['draft', 'published', 'archived'],
},
{ name: 'author', type: 'relationship', relationTo: 'users' },
{ name: 'publishedAt', type: 'date' },
],
}Globals працюють схожим чином, але для даних-синглтонів: налаштування сайту, конфігурація навігації, вміст футера. Один екземпляр, без списку колекцій, просто один документ для редагування.
Потрійний рівень API (REST, GraphQL, Local)
Саме тут Payload справді перевершує будь-яку іншу open-source CMS. Ви отримуєте три способи запитувати свій контент, кожен з яких оптимізований для різних контекстів:
- Local API: Серверні запити без накладних витрат HTTP. Викликайте свою CMS безпосередньо в серверних компонентах Next.js. Жодних мережевих затримок, жодних витрат на серіалізацію. За нашими тестами, Local API скоротив час завантаження сторінок приблизно на 40 мс порівняно з REST-запитами на тому самому сервері.
- REST API: Автоматично згенеровані endpoints для зовнішніх клієнтів, мобільних застосунків або інтеграцій третьої сторони.
- GraphQL API: Гнучкі запити для фронтендів, яким потрібно точно формувати свої запити даних.
Ось як виглядає виклик Local API в серверному компоненті Next.js:
// app/(frontend)/blog/[slug]/page.tsx
import { getPayload } from 'payload'
import config from '@payload-config'
export default async function BlogPost({ params }: { params: { slug: string } }) {
const payload = await getPayload({ config })
const post = await payload.find({
collection: 'posts',
where: { slug: { equals: params.slug }, status: { equals: 'published' } },
depth: 2,
})
return <article>{/* render post.docs[0] */}</article>
}Жодного виклику fetch. Жодної URL-адреси API. Жодного токена аутентифікації. Ви запитуєте свою базу даних безпосередньо з серверного компонента, і TypeScript надає повну типобезпеку для відповіді. Це важко перевершити.
Контроль доступу та аутентифікація
Система контролю доступу Payload базується на функціях. Замість налаштування дозволів у панелі керування, ви пишете функції TypeScript, які повертають true або false. Рівень полів, рівень колекцій або рівень операцій — ви визначаєте гранулярність.
// Example: Only published posts are publicly readable
access: {
read: ({ req }) => {
if (req.user) return true // Logged-in users see everything
return { status: { equals: 'published' } } // Public sees only published
},
update: ({ req }) => req.user?.role === 'admin',
delete: ({ req }) => req.user?.role === 'admin',
}Аутентифікація постачається з коробки: JWT-токени, refresh-токени, процес відновлення пароля, підтвердження електронної пошти. Вам не потрібні Clerk або NextAuth, якщо ви спеціально цього не хочете. Для багатьох проєктів вбудованої аутентифікації Payload більш ніж достатньо.
Редактор форматованого тексту Lexical
Payload використовує Lexical, фреймворк для роботи з форматним текстом від Meta (та сама команда, що стояла за Draft.js, але краща). Ви можете додавати власні блоки, інлайн-елементи та команди через слеш. Редактор серіалізує дані у структурований формат JSON, який можна конвертувати в HTML або React-компоненти.
Це важливо, тому що більшість редакторів форматованого тексту в CMS або занадто прості (звичайне текстове поле), або занадто непрозорі (WYSIWYG, який генерує непередбачуваний HTML). Lexical надає структурований, передбачуваний результат, який ви повністю контролюєте.
Live Preview та візуальне редагування
Payload 3 постачається з функцією live preview: редактори бачать зміни свого контенту, відображені на реальному фронтенді в реальному часі, пліч-о-пліч з адмін-панеллю. Це значно заповнює прогалину порівняно зі Strapi, який взагалі не має візуального редагування.
Це не зовсім так поліровано, як функції співпраці в реальному часі в Sanity Studio; візуальне редагування Sanity справді є найкращим у класі. Але для команд, яким потрібен «достатньо хороший» візуальний попередній перегляд без оплати тарифів Sanity за кожного користувача, реалізація Payload виконує свою роботу.
Версіонування, чернетки та автозбереження
Payload включає вбудоване управління чернетками, історію версій та автозбереження — функції, про які жоден із топ-рейтингових посібників з Payload навіть не згадує. Ви можете увімкнути версіонування для кожної колекції (ми зробили це в прикладі Posts вище з versions: { drafts: true }), встановити максимальну кількість версій і порівнювати ревизії в інтерфейсі адміністратора.
Для редакційних команд це означає кінець катастрофам типу «я випадково опублікував чернетку». Для розробників це означає, що вам не потрібно прикручувати окрему систему версіонування.
Початок роботи з Payload CMS
Щоб розпочати новий проєкт Payload, виконайте npx create-payload-app@latest, оберіть шаблон (вебсайт або порожній), оберіть адаптер бази даних (PostgreSQL, MongoDB або SQLite), і менш ніж за дві хвилини ви матимете робочу адмін-панель за адресою localhost:3000/admin. Офіційний посібник із встановлення охоплює крайні випадки.
Встановлення
Вам потрібен Node.js 18+ і менеджер пакетів. Це все.
# Create a new Payload project
npx create-payload-app@latest my-cms
# The CLI asks you:
# - Project name
# - Template (website, blank, e-commerce)
# - Database (postgres, mongodb, sqlite)
cd my-cms
npm run dev
# Admin panel: http://localhost:3000/adminШаблон вебсайту є найкращою відправною точкою для більшості проєктів: він постачається з робочим блогом, колекцією сторінок, завантаженням медіафайлів і фронтендом. Порожній шаблон підходить, коли ви хочете будувати все з нуля.
Структура проєкту
Після встановлення ваш проєкт виглядає як стандартний застосунок Next.js із доданим Payload:
my-cms/
app/
(frontend)/ # Your website pages
(payload)/
admin/ # Admin panel routes (auto-generated)
api/ # REST + GraphQL endpoints
collections/ # Your content model definitions
globals/ # Singleton content (settings, nav)
payload.config.ts # Main Payload configuration
payload-types.ts # Auto-generated TypeScript typesФайл payload.config.ts є серцем усього:
// payload.config.ts
import { buildConfig } from 'payload'
import { postgresAdapter } from '@payloadcms/db-postgres'
import { lexicalEditor } from '@payloadcms/richtext-lexical'
import { Posts } from './collections/Posts'
import { Users } from './collections/Users'
import { Media } from './collections/Media'
export default buildConfig({
admin: { user: Users.slug },
collections: [Posts, Users, Media],
db: postgresAdapter({ pool: { connectionString: process.env.DATABASE_URI } }),
editor: lexicalEditor({}),
secret: process.env.PAYLOAD_SECRET,
typescript: { outputFile: './payload-types.ts' },
})Ваша перша колекція
Коли dev-сервер запущено, створіть нову колекцію, додавши файл до /collections. Payload автоматично генерує адмін-інтерфейс, API-endpoints і типи TypeScript з вашої конфігурації. Ось проста колекція Pages:
// collections/Pages.ts
import type { CollectionConfig } from 'payload'
export const Pages: CollectionConfig = {
slug: 'pages',
admin: {
useAsTitle: 'title',
livePreview: {
url: ({ data }) => `http://localhost:3000/${data.slug}`,
},
},
fields: [
{ name: 'title', type: 'text', required: true },
{ name: 'slug', type: 'text', required: true, unique: true },
{
name: 'layout',
type: 'blocks',
blocks: [
{
slug: 'hero',
fields: [
{ name: 'heading', type: 'text' },
{ name: 'subtitle', type: 'textarea' },
{ name: 'image', type: 'upload', relationTo: 'media' },
],
},
],
},
],
}Додайте її до масиву collections у вашому payload.config.ts, перезапустіть dev-сервер, і ви отримаєте повністю функціональний конструктор сторінок із візуальним адмін-інтерфейсом. Жодних плагінів, жодних завантажень з маркетплейсу.
Варіанти баз даних: Postgres, MongoDB та SQLite
Payload підтримує три адаптери баз даних: PostgreSQL (рекомендовано для продакшну), MongoDB (для моделей, орієнтованих на документи, або існуючих стеків Mongo) та SQLite (лише для локальної розробки та прототипування). Патерн адаптера означає, що код вашого застосунку залишається незмінним незалежно від того, яку базу даних ви оберете.
| Функція | PostgreSQL | MongoDB | SQLite |
|---|---|---|---|
| Найкраще для | Продакшн-застосунків, реляційних даних | Моделей, орієнтованих на документи, старих проєктів Payload 2 | Локальної розробки, CI/CD, швидких прототипів |
| Готовність до продакшну | Так | Так | Ні |
| Сумісність із serverless | Так (через Neon, Supabase) | Так (через Atlas) | Ні |
| Підтримка міграцій | Повна (Drizzle ORM) | Повна | Обмежена |
| Рекомендований адаптер | @payloadcms/db-postgres | @payloadcms/db-mongodb | @payloadcms/db-sqlite |
Якщо ви починаєте з нуля, обирайте PostgreSQL. Вона краще працює з реляційними даними (а більшість даних CMS є реляційними), має чудові варіанти для serverless через Neon і Supabase, і саме її рекомендує команда Payload. Перегляньте наше порівняння PostgreSQL та MySQL, щоб дізнатися більше про те, чому Postgres домінує у сучасній розробці застосунків.
Порада: Якщо ви розгортаєте на Vercel, поєднайте Payload з Neon Postgres. Пулінг з'єднань Neon елегантно обробляє холодний старт у serverless-середовищі, що важливо, оскільки Vercel постійно запускає нові екземпляри функцій.
Придбання Figma: що це означає для розробників
Figma придбала Payload у червні 2025 року. Ліцензія MIT та кодова база з відкритим кодом залишилися незмінними. Payload Cloud призупинив реєстрацію нових користувачів, поки команда будує заміну, але self-hosting не постраждав. Для розробників найбільше питання не «чи мертвий Payload?», а «що мені робити з хостингом?».
Ми відстежували Payload Cloud як варіант хостингу для клієнтського проєкту, коли було оголошено про придбання. Ось що ми дізналися, перейшовши на self-hosting, і що придбання реально означає для ваших проєктів.
17 червня 2025 року Figma оголосила про придбання у своєму блозі. Команда Payload опублікувала власне оголошення того ж дня. Вся команда Payload увійшла до складу Figma.
Що змінилося (і що ні)
Що залишається незмінним:
- Ліцензія MIT. Її не можна скасувати. Репозиторій GitHub залишається активним і відкритим для внесків спільноти.
- Кодова база. Payload 3 працює точно так само, як і до придбання.
- Self-hosting. Ви можете розгорнути Payload де завгодно, назавжди.
Що змінилося:
- Payload Cloud призупинив реєстрацію нових користувачів. Існуючі клієнти можуть продовжувати користуватися, але нові проєкти не можуть використовувати керований хостинг від Payload.
- Змінився фокус команди. Команда Payload тепер будує те, що, ймовірно, стане «Figma CMS», заповнюючи прогалину між дизайнами у Figma та живим контентом. Конкретика є спекулятивною, але напрямок ясний.
- Увага спільноти. Деякі розробники хвилюються щодо патерну «придбали, а потім покинули», який переслідує open-source проєкти. Ліцензія MIT пом'якшує найгірший сценарій, але це legit занепокоєння.
Чи варто все ще обирати Payload?
Чесно? Так, але з застереженнями.
Хороше: ресурси Figma означають більше інженерних талантів за проєктом. Ліцензія MIT означає, що в найгіршому випадку ви можете зробити форк. Кодова база зріла, добре документована і активно використовується в продакшні тисячами проєктів.
Тривожне: стимули Figma можуть з часом розійтися з потребами open-source спільноти. Прогалина з Payload Cloud змушує вас самостійно займатися хостингом. І якщо ви уникаєте ризиків, невизначеність щодо довгострокового напрямку є реальною.
Наша думка: якщо вам комфортно займатися self-hosting (а вам варто, це не складно), Payload залишається найкращою headless CMS з відкритим кодом та підходом code-first. Не чекайте на «Figma CMS». Будуйте на Payload 3 вже сьогодні, розміщуйте самостійно і рухайтесь далі.
Як розгорнути Payload CMS у 2026 році
Оскільки Payload Cloud призупинив реєстрацію нових користувачів, ваші основні варіанти деплою у 2026 році: Vercel (найшвидше налаштування, стежте за холодним стартом), Docker на VPS (найкраще для активних редакторів, 7–45 євро/міс), Railway/Render/Fly.io (керовані контейнери) або Cloudflare Workers (найдешевше, ~$5–10/міс). Згідно з документацією з деплою Payload, підійде будь-який Node.js-хостинг, що підтримує Next.js.
Ми розгортали Payload і на Vercel, і на VPS з Docker. Ось що нас здивувало: холодний старт на Vercel робив адмін-панель повільною для редакторів, які входили лише кілька разів на тиждень. VPS, незважаючи на необхідність більшого налаштування, забезпечив стабільно кращий досвід для редакційної роботи.
Vercel (найшвидше налаштування)
Деплой в один клік з Neon Postgres та Vercel Blob для завантаження файлів. Найшвидший шлях до продакшну.
Плюси: Нульове управління інфраструктурою, чудовий CDN, добре підходить для сайтів із легкою редакційною активністю. Мінуси: Холодний старт адмін-панелі (3–5 секунд після неактивності), вичерпання з'єднань Postgres при важких запитах, ліміт тайм-ауту в 10 секунд може ламати масові операції. Найкраще для: Маркетингових сайтів, портфоліо, блогів із рідкісним редагуванням.
Для отримання додаткової інформації про сильні та слабкі сторони Vercel перегляньте наше порівняння Vercel та Netlify.
Docker на VPS (найкраще для продакшну)
Налаштування Docker Compose на Hetzner, DigitalOcean або AWS EC2. Це краще відповідає архітектурі Payload, ніж serverless, оскільки Payload очікує постійний серверний процес.
# docker-compose.yml
version: '3.8'
services:
payload:
build: .
ports:
- '3000:3000'
environment:
- DATABASE_URI=postgresql://payload:secret@db:5432/payload
- PAYLOAD_SECRET=${PAYLOAD_SECRET}
- NEXT_PUBLIC_SERVER_URL=https://your-domain.com
depends_on:
- db
db:
image: postgres:16-alpine
volumes:
- pgdata:/var/lib/postgresql/data
environment:
- POSTGRES_USER=payload
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=payload
volumes:
pgdata:Плюси: Постійний сервер (без холодного старту), передбачувані витрати (7–45 євро/міс на Hetzner), повний контроль над стеком. Мінуси: Ви управляєте сервером, SSL, резервним копіюванням та оновленнями. Найкраще для: Агентств, активних редакційних команд, мультитенантних налаштувань, застосунків із активним використанням адмін-панелі.
Детальне порівняння хостингу від Build with Matija охоплює додаткових постачальників VPS та конфігурації.
Керовані контейнери (Railway, Render, Fly.io)
Якщо Docker на VPS здається занадто складним в операційному плані, платформи керованих контейнерів є компромісом. Railway особливо популярний у спільноті Payload; вони мають шаблон Payload, який розгортається в один клік.
Перегляньте наше порівняння Railway, Render та Fly.io для глибшого ознайомлення з цими платформами.
Найкраще для: Команд, які хочуть постійні сервери без безпосереднього управління інфраструктурою.
Cloudflare Workers (найдешевше)
Найновіший варіант. Payload додав адаптер Cloudflare Workers, який працює на edge-функціях з D1 (SQLite) або Hyperdrive (проксі Postgres). Все ще експериментально, але вартість неможливо перевершити: ~$5–10/міс для більшості проєктів.
Найкраще для: Side-проєктів, особистих сайтів, бюджетних деплоїв, де ви комфортно почуваєтеся з новою, менш тестованою інфраструктурою.
| Платформа | Вартість/міс | Складність налаштування | Найкраще для | Холодний старт? |
|---|---|---|---|---|
| Vercel + Neon | $0-25 | Низька | Маркетингові сайти, легке редагування | Так (3-5с) |
| Docker + VPS | EUR 7-45 | Середня | Агентства, активні редактори | Ні |
| Railway | $5-20 | Низька | Малі та середні команди | Мінімальний |
| Render | $7-25 | Низька | Малі та середні команди | Можливий |
| Fly.io | $5-15 | Середня | Потреби глобального розподілу | Мінімальний |
| Cloudflare Workers | $5-10 | Середня-Висока | Бюджетні проєкти | Ні (edge) |
Наш вердикт: Для більшості продакшн-проєктів Payload з активними редакторами Docker на VPS є найкращим варіантом за замовчуванням. Це дешевше, ніж ви думаєте, усуває проблеми холодного старту та дає вам повний контроль. Використовуйте Vercel лише якщо ваші редактори рідко працюють і ви хочете нульових операційних витрат.
Ціноутворення Payload CMS: скільки це реально коштує
Сам Payload є безкоштовним і має ліцензію MIT. Ваші реальні витрати — це хостинг і (за бажанням) професійна розробка. Ось як виглядають цифри на основі реальних налаштувань та розбивки цін від Build with Matija.
| Компонент | Вартість | Примітки |
|---|---|---|
| Програмне забезпечення Payload | $0 | Ліцензія MIT, назавжди безкоштовно |
| Payload Cloud (Standard) | $35/міс | Призупинено для нових реєстрацій |
| Payload Cloud (Pro) | $199/міс | Призупинено для нових реєстрацій |
| Self-Host: Vercel Free Tier | $0 | Обмежено, тільки для хобі |
| Self-Host: VPS (Hetzner) | EUR 7-45/міс | Найвигідніше для продакшну |
| Self-Host: Railway/Render | $5-25/міс | Керовані контейнери |
| Професійна збірка (Агентство) | $15,000-$80,000+ | Залежить від складності |
Для порівняння: тариф Team у Contentful починається від $300/міс. Тариф Team у Sanity коштує $99/міс за проєкт. Strapi Cloud починається від $29/міс. Нульова вартість програмного забезпечення Payload плюс хостинг за $7–25/міс важко оскаржити, особливо для агентств, які будують клієнтські проєкти, де ціноутворення за користувача вбиває маржу.
Payload проти Sanity проти Strapi проти Contentful: швидке порівняння
Обирайте Payload, якщо хочете контролю через код і self-hosting. Обирайте Sanity для найкращого візуального редагування та співпраці в реальному часі. Обирайте Strapi для швидкої адмін-панелі з екосистемою плагінів. Обирайте Contentful для інфраструктури корпоративного рівня з гарантіями SLA. Ми використовуємо Sanity для techsy.io, тому маємо досвід із перших рук у порівнянні цих платформ.
| Функція | Payload | Sanity | Strapi | Contentful |
|---|---|---|---|---|
| Ліцензія | MIT (open source) | Пропрієтарна | MIT (open source) | Пропрієтарна |
| Хостинг | Self-hosted | Cloud-hosted | Self-hosted або Cloud | Cloud-hosted |
| Стартова ціна | $0 + хостинг | $0 (безкоштовний тариф) | $0 + хостинг | $0 (безкоштовний тариф) |
| TypeScript | Нативний (вбудований TS) | Підтримка SDK | Плагін (v5) | Підтримка SDK |
| Візуальне редагування | Live Preview | Sanity Studio (найкраще) | Відсутнє | Live Preview |
| Типи API | REST + GraphQL + Local | GROQ + GraphQL | REST + GraphQL | REST + GraphQL |
| Найкраще для | Розробників, які хочуть повний контроль | Редакційних команд із великим обсягом контенту | Швидкої адмін-панелі, потреб у плагінах | Enterprise із потребами в SLA |
Ми створювали проєкти на базі Payload для клієнтів, яким потрібне володіння даними та self-hosting, і запускаємо власний контентний пайплайн на Sanity. Обидва варіанти чудові; правильний вибір залежить від технічної підготовки вашої команди та вподобань щодо хостингу. Якщо ви оцінюєте варіанти headless CMS для проєкту, ми можемо допомогти вам обрати.
| Якщо вам потрібно... | Обирайте | Тому що |
|---|---|---|
| Повний контроль коду + self-hosting | Payload | Ліцензія MIT, схема як код, Local API |
| Найкращий досвід візуального редагування | Sanity | Sanity Studio неперевершений для редакторів |
| Швидке налаштування з плагінами | Strapi | Найбільший маркетплейс плагінів, GUI-конструктор схем |
| Enterprise SLA + глобальний CDN | Contentful | Стабільна інфраструктура, SLA 99.95% uptime |
Для глибшого занурення в кожну платформу перегляньте наші посібники: найкращі headless CMS у 2026 році, а також індивідуальні посібники для Sanity, Strapi та Contentful, які скоро з'являться.
Коли НЕ варто використовувати Payload CMS
Уникайте Payload, якщо ваша команда нетехнічна і потребує GUI, подібного до WordPress; якщо вам потрібен миттєвий керований хмарний хостинг без роботи з self-hosting; якщо ваші редактори хочуть візуального редагування на рівні Sanity Studio; або якщо вам потрібен маркетплейс плагінів для швидкого розширення функціоналу. Чесність щодо обмежень будує більше довіри, ніж вдавання, що їх не існує.
Ми радили не обирати Payload клієнтам, чиї редакційні команди не мали досвіду роботи з TypeScript. Ось коли варто шукати інші варіанти:
- Нетехнічні команди. Payload вимагає знань TypeScript для налаштування. Якщо редактори вашого клієнта не можуть торкатися коду і потребують самостійно змінювати модель контенту, WordPress або Sanity підійдуть краще.
- Вам потрібен керований хостинг прямо зараз. Оскільки Payload Cloud призупинив реєстрацію нових користувачів, ви повинні використовувати self-hosting. Якщо управління сервером (навіть просте налаштування Docker) є критичним недоліком, хмарний підхід Contentful або Sanity знімає це навантаження.
- Активна редакційна співпраця. Співпраця в реальному часі в Sanity Studio, коли кілька редакторів працюють над одним документом одночасно з індикаторами присутності, є більш полірованою, ніж усе, що пропонує Payload. Якщо у вас велика редакційна команда, Sanity тут виграє.
- Розробка на основі плагінів. Strapi має більший маркетплейс плагінів. Потрібен SEO-плагін, генератор карти сайту, інтеграція з електронною поштою? Ймовірно, у Strapi такий є. Екосистема Payload зростає, але вона менша.
- Ви не використовуєте Next.js. Payload 3 архітектурно прив'язаний до Next.js. Якщо ваш фронтенд — це Astro, Remix, Nuxt або SvelteKit, головна перевага Payload (Local API в серверних компонентах) не застосовується. Ви все одно отримаєте REST і GraphQL, але в такому випадку Strapi або Directus можуть здатися природнішими.
FAQ
Що таке Payload CMS і як вона працює?
Payload — це headless CMS і фреймворк для застосунків з відкритим кодом на TypeScript, побудований на Next.js. Ви визначаєте модель контенту у конфігураційних файлах TypeScript, і Payload автоматично генерує адмін-панель, REST API, GraphQL API та Local API. Вона працює всередині вашого застосунку Next.js як єдина одиниця для деплою.
Чи є Payload CMS безкоштовною для використання?
Payload є повністю безкоштовним за ліцензією MIT. Програмне забезпечення нічого не коштує для завантаження, використання або модифікації. Payload Cloud (керований хостинг) коштував $35–199/міс, але зараз призупинений для нових реєстрацій після придбання Figma. Self-hosting на VPS коштує 7–45 євро/міс залежно від постачальника.
Що сталося з Payload і Figma?
Figma придбала Payload 17 червня 2025 року. Вся команда Payload приєдналася до Figma. Open-source ліцензія MIT та репозиторій GitHub залишилися незмінними. Payload Cloud призупинив реєстрацію нових користувачів. Self-hosting продовжує працювати нормально. Команда, ймовірно, будує продукт CMS, інтегрований з Figma, але конкретика ще не оголошена.
Яку базу даних використовує Payload CMS?
Payload підтримує три бази даних через патерн адаптера: PostgreSQL (рекомендовано для продакшну, працює з Neon і Supabase для serverless), MongoDB (добре для моделей, орієнтованих на документи, або оновлень з Payload 2) та SQLite (лише для локальної розробки та CI). Код вашого застосунку залишається незмінним незалежно від обраного адаптера.
Як розгорнути Payload CMS у 2026 році?
Оскільки Payload Cloud призупинено, розгортайте на Vercel з Neon Postgres (найпростіше), Docker на VPS, як-от Hetzner (найкраще для продакшну з активними редакторами), Railway або Render (керовані контейнери) або Cloudflare Workers (найдешевше). Для більшості продакшн-сайтів із регулярною редакційною активністю VPS на базі Docker забезпечує найкращий досвід.
Чи кращий Payload CMS, ніж Strapi?
Payload виграє завдяки досвіду розробника на TypeScript, інтеграції з Next.js та унікальному Local API для серверних запитів без накладних витрат. Strapi виграє завдяки маркетплейсу плагінів, редагуванню схем через GUI та ширшій сумісності з фреймворками. Якщо ваша команда пише на TypeScript і використовує Next.js, Payload є сильнішим вибором. В іншому випадку оцініть Strapi.
Що таке Local API в Payload?
Local API — це шар серверних запитів, який звертається до вашої бази даних безпосередньо без накладних витрат HTTP. Замість того, щоб робити REST- або GraphQL-запити, ви імпортуєте Payload і запитуєте колекції безпосередньо в серверних компонентах Next.js. Це усуває мережеві затримки та витрати на серіалізацію, що призводить до швидшого завантаження сторінок. Жодна інша headless CMS не пропонує цього.
Чи може Payload CMS обробляти великомасштабні застосунки?
Payload підтримує PostgreSQL з пулінгом з'єднань (через Neon або PgBouncer), контроль доступу на основі ролей з гранулярністю до рівня полів, робочі процеси чернеток і версіонування, а також мультитенантні архітектури. Enterprise-компанії та агентства використовують Payload у продакшні для застосунків із великим обсягом контенту. Запити Local API без накладних витрат навіть покращують продуктивність у масштабі.
Як Payload порівнюється з Sanity?
Payload є self-hosted, code-first рішенням з ліцензією MIT та Local API для продуктивності на стороні сервера. Sanity є хмарним рішенням із superior візуальним редагуванням, співпрацею в реальному часі та мовою запитів GROQ. Payload дає вам більше контролю над інфраструктурою та нижчі витрати. Sanity дає кращі інструменти для редакторів і нульове управління хостингом.
Які недоліки Payload CMS?
Payload вимагає знань TypeScript для налаштування, не має керованого хмарного хостингу для нових користувачів після придбання Figma, пропонує меншу екосистему плагінів, ніж Strapi, і в версії 3 архітектурно прив'язаний до Next.js. Нетехнічним командам може бути складно з підходом code-first, а придбання Figma створює певну довгострокову невизначеність.