Спор «CMS или своя разработка» обычно ведут как спор о вкусах: одни говорят, что коробка — это быстро и дёшево, другие — что коробка всегда упирается в потолок. На деле это инженерный выбор с понятными критериями. Его стоит делать не по тому, что привычнее подрядчику, а по тому, как сайт будет жить после запуска.
Что на самом деле покупается вместе с CMS
Готовая система управления — это не только админка. Это модель данных, которую кто-то придумал до вас: страницы, разделы, новости, каталог, пользователи. Вместе с ней приходят права доступа, кэширование, поиск, обновления безопасности и сообщество, которое уже решило типовые проблемы.
Пока ваш сайт укладывается в эту модель, CMS экономит месяцы работы. Проблемы начинаются, когда бизнес-логика перестаёт в неё помещаться и разработчик начинает «обманывать» систему: хранить заказы в виде страниц, строить связи через теги, переписывать ядро в обход обновлений.
CMS
Быстрый старт на типовой модели. Страницы, разделы, новости, каталог — всё уже есть. Редакторы работают в знакомом интерфейсе, обновления безопасности приходят от вендора.
Своя разработка
Модель данных под ваш процесс. Сущности, связи и права описывают вашу работу, а не чужое представление о сайте. Дольше на старте, зато нет потолка, в который упираются через год.
Когда CMS — правильный выбор
Если сайт в основном рассказывает: о компании, услугах, проектах, новостях, — почти наверняка достаточно CMS. Сюда же относятся корпоративные сайты, где главное — удобно публиковать материалы и не зависеть от разработчика в каждой правке.
CMS хороша и там, где важна предсказуемость поддержки. Типовую систему проще передать другой команде: её знает рынок, по ней есть документация, у неё понятный путь обновления.
Когда пора писать своё
Своя разработка оправдана, когда сайт — это не витрина, а часть процесса. Личный кабинет со сложными ролями, расчёт стоимости по правилам компании, синхронизация с учётной системой в обе стороны, несколько площадок на одном ядре — в таких задачах коробка чаще мешает, чем помогает.
Ещё один признак — нагрузка и скорость. Универсальная система делает много лишнего на каждый запрос. Когда это становится узким местом, проще построить ровно то, что нужно, чем бесконечно отключать ненужное.
Промежуточный путь: фреймворк и готовая админка
Между «коробкой» и «всё с нуля» есть третий вариант, который мы используем чаще всего. Модель данных и логика пишутся на фреймворке под задачу, а административная часть собирается из готовых компонентов. Получается собственная архитектура без затрат на изобретение форм, таблиц и прав доступа.
- Опишите сущности. Перечислите, с чем работает сайт: страницы, товары, заявки, клиенты, документы. Если список совпадает с тем, что есть в CMS из коробки, — это сильный довод за неё.
- Опишите процессы. Кто и что делает на сайте каждый день. Где есть согласования, статусы, расчёты, обмен с другими системами.
- Посчитайте интеграции. Каждая двусторонняя интеграция с учётной системой или CRM добавляет аргумент в пользу собственной модели данных.
- Подумайте о передаче. Кто будет поддерживать сайт через несколько лет и насколько легко будет найти людей под выбранную технологию.
- Спросите о потолке. Попросите подрядчика назвать, что в выбранном решении будет сложно сделать потом. Честный ответ есть всегда.
Выбирать по цене первого этапа
Дешёвый старт на неподходящей системе часто оборачивается дорогими доработками и переделкой через год-два.
Дописывать ядро CMS
Изменения в ядре ломают обновления. Сайт застывает на старой версии и со временем становится уязвимым.
Писать своё ради «уникальности»
Если задача типовая, своя разработка — это деньги, потраченные на повторение того, что уже существует и отлажено.
Частые вопросы
Можно ли начать на CMS и потом перейти на своё?
Можно, но это почти всегда новая разработка, а не плавный переход. Если вы заранее видите, что сайт станет частью процесса, дешевле сразу заложить подходящую архитектуру.
Своя разработка — это зависимость от одного подрядчика?
Зависит от того, как она сделана. Код на распространённом фреймворке, с документацией и понятной структурой, может поддерживать любая квалифицированная команда.
А что с безопасностью?
У популярных CMS больше внимания со стороны атакующих, но и обновления выходят быстро. У собственной системы меньше типовых атак, зато безопасность целиком на совести команды. В обоих случаях решает дисциплина обновлений и проверок.
Выбирайте не систему, а модель данных: CMS хороша, пока ваша работа в неё помещается.