Спор «CMS или своя разработка» обычно ведут как спор о вкусах: одни говорят, что коробка — это быстро и дёшево, другие — что коробка всегда упирается в потолок. На деле это инженерный выбор с понятными критериями. Его стоит делать не по тому, что привычнее подрядчику, а по тому, как сайт будет жить после запуска.

Что на самом деле покупается вместе с CMS

Готовая система управления — это не только админка. Это модель данных, которую кто-то придумал до вас: страницы, разделы, новости, каталог, пользователи. Вместе с ней приходят права доступа, кэширование, поиск, обновления безопасности и сообщество, которое уже решило типовые проблемы.

Пока ваш сайт укладывается в эту модель, CMS экономит месяцы работы. Проблемы начинаются, когда бизнес-логика перестаёт в неё помещаться и разработчик начинает «обманывать» систему: хранить заказы в виде страниц, строить связи через теги, переписывать ядро в обход обновлений.

CMS

Быстрый старт на типовой модели. Страницы, разделы, новости, каталог — всё уже есть. Редакторы работают в знакомом интерфейсе, обновления безопасности приходят от вендора.

Своя разработка

Модель данных под ваш процесс. Сущности, связи и права описывают вашу работу, а не чужое представление о сайте. Дольше на старте, зато нет потолка, в который упираются через год.

Когда CMS — правильный выбор

Если сайт в основном рассказывает: о компании, услугах, проектах, новостях, — почти наверняка достаточно CMS. Сюда же относятся корпоративные сайты, где главное — удобно публиковать материалы и не зависеть от разработчика в каждой правке.

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

Когда пора писать своё

Своя разработка оправдана, когда сайт — это не витрина, а часть процесса. Личный кабинет со сложными ролями, расчёт стоимости по правилам компании, синхронизация с учётной системой в обе стороны, несколько площадок на одном ядре — в таких задачах коробка чаще мешает, чем помогает.

Ещё один признак — нагрузка и скорость. Универсальная система делает много лишнего на каждый запрос. Когда это становится узким местом, проще построить ровно то, что нужно, чем бесконечно отключать ненужное.

Промежуточный путь: фреймворк и готовая админка

Между «коробкой» и «всё с нуля» есть третий вариант, который мы используем чаще всего. Модель данных и логика пишутся на фреймворке под задачу, а административная часть собирается из готовых компонентов. Получается собственная архитектура без затрат на изобретение форм, таблиц и прав доступа.

  1. Опишите сущности. Перечислите, с чем работает сайт: страницы, товары, заявки, клиенты, документы. Если список совпадает с тем, что есть в CMS из коробки, — это сильный довод за неё.
  2. Опишите процессы. Кто и что делает на сайте каждый день. Где есть согласования, статусы, расчёты, обмен с другими системами.
  3. Посчитайте интеграции. Каждая двусторонняя интеграция с учётной системой или CRM добавляет аргумент в пользу собственной модели данных.
  4. Подумайте о передаче. Кто будет поддерживать сайт через несколько лет и насколько легко будет найти людей под выбранную технологию.
  5. Спросите о потолке. Попросите подрядчика назвать, что в выбранном решении будет сложно сделать потом. Честный ответ есть всегда.
  1. Выбирать по цене первого этапа

    Дешёвый старт на неподходящей системе часто оборачивается дорогими доработками и переделкой через год-два.

  2. Дописывать ядро CMS

    Изменения в ядре ломают обновления. Сайт застывает на старой версии и со временем становится уязвимым.

  3. Писать своё ради «уникальности»

    Если задача типовая, своя разработка — это деньги, потраченные на повторение того, что уже существует и отлажено.

Частые вопросы

Можно ли начать на CMS и потом перейти на своё?

Можно, но это почти всегда новая разработка, а не плавный переход. Если вы заранее видите, что сайт станет частью процесса, дешевле сразу заложить подходящую архитектуру.

Своя разработка — это зависимость от одного подрядчика?

Зависит от того, как она сделана. Код на распространённом фреймворке, с документацией и понятной структурой, может поддерживать любая квалифицированная команда.

А что с безопасностью?

У популярных CMS больше внимания со стороны атакующих, но и обновления выходят быстро. У собственной системы меньше типовых атак, зато безопасность целиком на совести команды. В обоих случаях решает дисциплина обновлений и проверок.

Выбирайте не систему, а модель данных: CMS хороша, пока ваша работа в неё помещается.