Skip to main content
Назад до блогу
3 хв читання

Вибір CMS для Next.js-сайту: Sanity, Payload чи чистий MDX?

Я шипив Next.js-проєкти з усіма трьома. Коли кожен з них — правильний вибір, що ламається на масштабі, і чому я за замовчуванням беру чистий MDX для більшості solo-dev сайтів.

next.js

Кожен Next.js-проєкт досягає моменту «де зберігати контент?». Відповідь залежить від того, хто редагує, як часто, і скільки контролю потрібно розробнику.

Я шипив продакшн-проєкти з Sanity, Payload CMS і чистими MDX-файлами. Ось чесна таблиця трейдофів.

Три варіанти

Чистий MDX (те, що використовує цей сайт)

Контент живе як .mdx файли в репозиторії. Розробники редагують напряму. Немає CMS-дашборду, немає API, немає бази даних.

Коли працює:

Коли ламається:

Реальна вартість: Нуль. Без хостингу, без API-викликів, без підписки.

Sanity

Хостинг-headless CMS. Контент живе в хмарі Sanity. Запитуєш через GROQ або GraphQL.

Коли працює:

Коли ламається:

Реальна вартість: Безкоштовний тір покриває більшість маленьких проєктів. Платний від $99/місяць. Реальна вартість — вивчення GROQ та схемної DSL Sanity: 4–8 годин на початковий сетап.

Payload CMS

Селф-хостинг, опенсорс headless CMS. Контент у твоїй базі даних. Адмін-UI автогенерується з конфігу.

Коли працює:

Коли ламається:

Реальна вартість: Безкоштовно (опенсорс). Але платиш за хостинг — VPS ($5–20/місяць). Час сетапу: 6–12 годин.

Таблиця порівняння

Чистий MDXSanityPayload
РедакторТільки розробникХто завгодноХто завгодно
ХостингНемає (файли в репо)Хмара SanityСелф-хостинг
ВартістьБезкоштовноБезкоштовно → $99+/місБезкоштовно + хостинг
Деплой для контенту?ТакНіНі
Git-версіонуванняТакНіНі
Володіння данимиПовнеХмара SanityПовне
Час сетапу1 година4–8 годин6–12 годин
Найкраще дляДев-блоги, доки, портфоліоМаркетингові сайти, командиData-heavy застосунки, GDPR

Моє дерево рішень

  1. Я єдиний редактор контенту? → Чистий MDX.
  2. Клієнту потрібно редагувати контент без розробника? → CMS потрібна. Перехід до 3.
  3. Потрібна резидентність даних (GDPR)? → Payload.
  4. Клієнт хоче нуль ops-роботи? → Sanity.
  5. Модель контенту складна (50+ типів контенту)? → Payload.
  6. Бюджет обмежений, контент простий? → Sanity безкоштовний тір.

Гібридний патерн

Для E7 Platform ми використали гібрид: дані заходів у Postgres (керуються застосунком), маркетингові сторінки в MDX (керуються розробником). Жодного CMS взагалі.

Цей патерн «застосунок-як-CMS» працює, коли контент, що потребує редагування — це водночас бізнес-дані.

Що б я обрав для типових сценаріїв

Персональне портфоліо/блог: Чистий MDX. Ти розробник. Редагуй у VS Code.

Агентський маркетинговий сайт: Sanity безкоштовний тір. Клієнт може редагувати заголовки та відгуки без дзвінка тобі.

SaaS з блогом і документацією: Payload, якщо вже є сервер. Sanity, якщо хочеш managed.

E-commerce каталог: Жоден з них — використовуй вбудовані інструменти контенту e-commerce платформи.


Будуєш Next.js-проєкт і не впевнений, де зберігати контент? Напиши — я шипив усі три підходи і можу порекомендувати правильний для твого проєкту за один дзвінок.