Готовая CMS или своя разработка: как выбрать основу для сайта
Готовая система дешевле на старте и дороже в нестандартных задачах. Разбираем, где граница и по каким признакам её видно заранее.

Готовая система управления даёт админку, шаблоны и набор модулей из коробки. Своя разработка — код под конкретную задачу. Спор обычно идёт про цену, хотя решающим оказывается другое: насколько задача совпадает с тем, для чего систему делали.
Три варианта, а не два
| Подход | Что это | Когда подходит |
|---|---|---|
| Готовая CMS | Платформа с админкой и модулями | Типовой сайт, каталог, блог |
| Headless CMS | Отдельное хранилище содержимого плюс свой интерфейс | Свой дизайн, высокая скорость, несколько каналов |
| Своя разработка | Код и админка под задачу | Нестандартная логика, расчёты, интеграции |
Средний вариант закрывает большинство современных проектов: содержимое редактируется в готовой панели, а внешняя часть написана под задачу. Редактор получает привычный интерфейс, разработчик не борется с шаблонизатором платформы.
Где готовая система выигрывает
- Задача типовая: корпоративный сайт, каталог, новости, формы обратной связи.
- Нужно быстро: базовый сайт на готовой платформе поднимается за пару недель.
- Нужны стандартные модули: поиск по каталогу, фильтры, корзина, оплата.
- Штат редакторов уже привык к конкретной админке и не хочет переучиваться.
Где готовая система начинает мешать
Проблемы начинаются, когда бизнес-логика не совпадает с моделью платформы. Расчёт стоимости по десяти параметрам, личный кабинет с ролями, обмен с производственным учётом — всё это делают дополнениями поверх системы. Каждое дополнение усложняет обновление, а необновляемая система становится дырой в безопасности.
| Статья | Готовая CMS | Своя разработка |
|---|---|---|
| Первая версия | От 60 000 ₽ | От 90 000 ₽ |
| Лицензии и модули | От 20 000 ₽ в год | Отсутствуют |
| Нестандартная логика | Дополнение поверх платформы | Часть основного кода |
| Обновления безопасности | Обязательны, ломают дополнения | Обновляются только библиотеки |
| Скорость загрузки | Зависит от числа модулей | Управляемая |
| Смена подрядчика | Проще: стек распространён | Требует передачи документации |
Как выглядит средний вариант
import { cache } from "react"
type Page = { title: string; body: string; updatedAt: string }
// Запрос обёрнут в cache: за один рендер страницы данные запрашиваются
// один раз, даже если их просят несколько компонентов
export const getPage = cache(async (slug: string): Promise<Page | null> => {
const response = await fetch(`${process.env.CMS_URL}/pages/${slug}`, {
headers: { Authorization: `Bearer ${process.env.CMS_TOKEN}` },
// Содержимое меняется редко, поэтому храним ответ час,
// а при публикации сбрасываем кеш по метке
next: { revalidate: 3600, tags: [`page:${slug}`] },
})
if (response.status === 404) return null
if (!response.ok) throw new Error(`CMS ответила ${response.status}`)
return response.json()
})Вопрос, который решает спор
Спросите себя: что на сайте будет меняться каждую неделю — содержимое или логика? Если содержимое, берите готовую систему или её headless-вариант. Если логика — расчёты, роли, обмен данными, — платформа станет ограничением уже на третьем месяце.
Готовая система экономит время там, где задача совпадает с замыслом её авторов. За каждое расхождение вы платите отдельно и постоянно.
- Опишите, какие данные сайт обязан получать из других систем.
- Перечислите расчёты и правила, которых нет в стандартных модулях.
- Оцените, кто и как часто будет редактировать содержимое.
- Сложите стоимость лицензий и дополнений за два года и сравните с разработкой.
Частые вопросы
- Можно ли перенести сайт с готовой CMS на свою разработку?
- Да, и обычно переносят по частям: содержимое выгружается через программный интерфейс, страницы переписываются группами, адреса сохраняются с перенаправлениями. Полная замена за один выпуск рискованна для позиций в поиске.
- Что быстрее работает?
- При равном бюджете своя разработка быстрее: в ней нет универсальных модулей, которые загружаются на каждой странице. Готовую платформу тоже можно ускорить кешированием, но потолок ниже, а число установленных дополнений постоянно его снижает.
- Что безопаснее?
- Популярная платформа получает регулярные обновления, но её уязвимости известны и массово сканируются. Своя разработка не попадает под массовые атаки, зато требует собственного контроля зависимостей и проверок при выпуске.
- Что проще передать другому подрядчику?
- Распространённую платформу проще: специалистов больше. Своя разработка передаётся нормально при двух условиях — понятный стек и написанная документация. Мы передаём права на код и документацию по договору, поэтому смена подрядчика не блокируется.
Похожая задача в вашем проекте?
Разберём вашу ситуацию и пришлём оценку по этапам — без обязательств и общих слов.
Обсудить задачу

