Перейти к содержимому
Рабочее место веб-разработчика: клавиатура, мышь и часы

CMS или самописный сайт: плюсы и минусы

CMS или самописный сайт: плюсы и минусы

«Нам нужен самописный сайт, CMS — это несерьёзно» и «Делайте только на WordPress, чтобы мы сами могли всё менять» — две крайности, которые мы слышим от заказчиков почти одинаково часто. Обе позиции основаны на реальном опыте, но обе могут привести к неудачному выбору. Платформа сайта определяет стоимость разработки, скорость доработок, безопасность и то, насколько вы будете зависеть от конкретного подрядчика. Разберём варианты без идеологии.

О чём на самом деле речь

Под CMS — системой управления контентом — понимают готовую платформу с административной панелью, набором модулей и механизмом шаблонов. Самые распространённые в России — 1С-Битрикс и WordPress, для магазинов также OpenCart и WooCommerce. Разработчик берёт готовое ядро, настраивает его, делает дизайн-шаблон и дописывает недостающую функциональность.

«Самописным» обычно называют сайт, разработанный на фреймворке — Laravel, Symfony, Django, Next.js или Nuxt. Важно понимать: сегодня почти никто не пишет сайты «с нуля» в буквальном смысле. Фреймворк даёт готовые блоки — маршрутизацию, работу с базой данных, авторизацию, очереди задач, — а бизнес-логику и интерфейсы разработчики пишут под конкретный проект. Это не кустарщина, а промышленный подход, просто с другим соотношением готового и собственного кода.

Отдельно существуют действительно самописные решения: собственный «движок», написанный одним программистом много лет назад без фреймворка. Вот к ним стоит относиться с осторожностью, и об этом поговорим ниже.

Сравнение по ключевым параметрам

Чтобы разговор был предметным, сведём основные различия в таблицу. Оценки усреднённые — конкретный проект может отличаться в обе стороны.

ПараметрГотовая CMSРазработка на фреймворке
Стоимость типового сайтаНиже: многое уже есть в ядре и модуляхВыше на 30–100% для типовых задач
Сроки запускаБыстрее: корпоративный сайт за 5–8 недельДольше на стандартных задачах, сопоставимо на нестандартных
Административная панельГотовая, знакомая многим контент-менеджерамДелается под проект, может быть удобнее, но это отдельная работа
Нестандартная логикаВозможна, но иногда «в обход» архитектуры CMSРеализуется естественно и чисто
ПроизводительностьХорошая при настройке, ядро может быть избыточнымВысокая, нет лишнего кода
БезопасностьЯдро проверено, но популярность привлекает атаки, риски в сторонних плагинахМеньше массовых атак, но качество зависит от команды
Поиск подрядчика на поддержкуЛегко: специалистов многоЗависит от фреймворка и качества документации
ЛицензииБитрикс — платная, WordPress и OpenCart — бесплатныеФреймворки бесплатные
Сравнение административной панели CMS и кода проекта на фреймворке
Сравнение административной панели CMS и кода проекта на фреймворке

Когда выбирать готовую CMS

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

Сильные стороны

Главный плюс — экосистема. Для 1С-Битрикс есть штатный модуль обмена с 1С, который закрывает типовую синхронизацию товаров, цен и остатков. Для WordPress — тысячи плагинов: от форм и SEO до бронирования и мультиязычности. Многие задачи решаются установкой и настройкой модуля за день, а не разработкой за неделю. Второй плюс — независимость от подрядчика: на рынке много специалистов по популярным CMS, и если с одной командой не сложится, найти другую несложно.

Ограничения

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

Правило, которого мы придерживаемся: если для проекта на CMS нужно больше 15–20 сторонних плагинов или больше трети функциональности пишется с нуля, стоит всерьёз рассмотреть фреймворк. В этот момент CMS перестаёт экономить время и начинает его отнимать.

Подробнее о возможностях конкретных платформ — в статьях WordPress для бизнеса и 1С-Битрикс для интернет-магазина.

Когда оправдана разработка на фреймворке

Фреймворк — правильный выбор, когда сайт — это не столько витрина, сколько продукт или рабочий инструмент. Сервис бронирования с собственной логикой расписаний. B2B-портал с индивидуальными прайсами, лимитами и согласованием заказов. Маркетплейс с несколькими продавцами. Калькулятор, который считает стоимость по сложным правилам и интегрирован с производственной системой. Высоконагруженный проект, где важны миллисекунды.

Сильные стороны

Чистая архитектура под задачу: в проекте нет лишнего кода, всё написано под конкретную бизнес-логику. Это даёт производительность и предсказуемость. Админка проектируется под реальные процессы компании: менеджер видит ровно те поля и действия, которые ему нужны, без двадцати вкладок настроек, которыми никто не пользуется. Безопасность выше за счёт отсутствия массовых атак на известные уязвимости популярных плагинов, хотя это не повод экономить на аудите кода.

Ограничения

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

Опасность «уникальных движков»

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

Мы регулярно получаем обращения от компаний в такой ситуации: сайт работает, но никто не может добавить новую функцию, обновить версию PHP или исправить ошибку, не сломав что-то ещё. Часто дешевле переделать сайт заново, чем разбираться в чужом коде. Об этом сценарии мы подробнее рассказываем на странице редизайна сайтов, где переезд с устаревших решений — одна из типичных задач.

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

Гибридные подходы

Выбор не всегда бинарный. Многие проекты успешно сочетают оба подхода, и это часто самое разумное решение.

CMS плюс собственные модули. Основа — Битрикс или WordPress с привычной админкой, а сложная логика — калькулятор, личный кабинет дилера, интеграция со складом — пишется как отдельный модуль по правилам платформы. Так получается и быстрый старт, и гибкость там, где она нужна.

Headless-архитектура. CMS используется только как хранилище контента и админка, а сайт строится отдельно на React или Vue и получает данные по API. Такой подход даёт быстрый и современный интерфейс, но требует большей квалификации команды и обходится дороже. Оправдан, когда контент нужно выводить в нескольких местах: на сайте, в мобильном приложении, на экранах в магазинах.

Фреймворк плюс готовая админка. Для Laravel существуют готовые пакеты административных панелей, которые сокращают разработку управляющей части в разы. Бизнес-логика пишется под задачу, а интерфейс управления собирается из готовых компонентов.

Как принять решение

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

Насколько типовая у вас задача?

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

Каков бюджет и горизонт планирования?

При бюджете до 200–300 тысяч рублей и необходимости запуститься за пару месяцев почти всегда разумнее CMS. Если сайт — ключевой инструмент бизнеса на годы вперёд и на развитие заложен бюджет, фреймворк окупается за счёт более дешёвых доработок в будущем.

Кто будет работать с сайтом?

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

Какие нужны интеграции?

Стандартный обмен с 1С, подключение платёжных систем и служб доставки отлично работают на CMS. Нестандартные интеграции с производственными системами или собственным ПО заказчика проще и надёжнее реализуются на фреймворке.

Какая ожидается нагрузка?

Для большинства сайтов компаний и магазинов с посещаемостью до десятков тысяч человек в день правильно настроенной CMS достаточно. Нагрузка в сотни тысяч посетителей и сложные запросы к большим объёмам данных — аргумент за фреймворк.

Итог: платформа под задачу, а не наоборот

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

Чего стоит избегать — так это выбора по принципу «так модно» или «так привык подрядчик», а также непрозрачных собственных движков без документации и прав на код. Мы работаем и с CMS, и с фреймворками, поэтому рекомендуем платформу исходя из задачи, а не из предпочтений команды. Описать проект и получить рекомендацию по технологии можно через страницу контактов — на первой встрече мы обычно уже можем назвать подходящий вариант и порядок бюджета.

Нужен сайт или интернет-магазин?

Обсудим задачу, подскажем подходящую платформу и оценим сроки и бюджет — бесплатно и без обязательств.

Обсудить проект

Читайте также

Как выбрать доменное имя для компанииТехнологии и CMSКак выбрать доменное имя для компанииSSL-сертификат и HTTPS: зачем нужны и как подключитьТехнологии и CMSSSL-сертификат и HTTPS: зачем нужны и как подключитьКак выбрать хостинг для сайта компанииТехнологии и CMSКак выбрать хостинг для сайта компанииИнтеграции через API: CRM, склады, сервисы доставкиТехнологии и CMSИнтеграции через API: CRM, склады, сервисы доставки