Перейти к содержимому

Laravel или готовая CMS: как выбрать основу сайта

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

Фирменный вир редактирует каталог у стационарного терминала среди технических товаров; заголовок «САЙТ ВАШ. А ПРАВИТЬ КТО БУДЕТ?»
Иллюстративная обложка статьи «Laravel или готовая CMS: как выбрать основу сайта».

Один и тот же сайт компании можно сделать на Laravel или на готовой CMS. В обоих случаях он может иметь индивидуальный дизайн, редактируемые страницы, формы и интеграции. Разница проявится в том, какие возможности уже есть в основе, что предстоит разработать и кто будет поддерживать результат.

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

Laravel и CMS решают задачи на разных уровнях

Laravel — PHP-фреймворк, набор инструментов для разработки веб-приложений. Он помогает организовать обработку запросов, работу с данными, проверку ввода, доступ пользователей и другие технические задачи. Из этих инструментов разработчик собирает конкретный сайт или сервис. Такая роль описана в официальной документации Laravel.

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

Панель тоже не превращается в редакционную систему автоматически. Например, Laravel Nova предоставляет административный интерфейс для работы с записями приложения, но разработчик определяет управляемые сущности и их поля. Форму редактирования услуги, предпросмотр, порядок публикации и ограничения доступа нужно проверить в составе конкретного решения.

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

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

CMS может работать поверх Laravel

Фреймворк и CMS не обязательно исключают друг друга. Например, Statamic построена на Laravel и добавляет систему управления контентом. В таком проекте редактор работает с CMS, а разработчик использует возможности фреймворка.

CMS как верхний слой управления контентом над фреймворком Laravel
Один из возможных вариантов архитектуры: CMS работает поверх Laravel. Пример такой системы — Statamic; схема не описывает устройство всех CMS.

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

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

Таблица: CMS может работать поверх Laravel
Что сравниватьLaravel с выбранным административным интерфейсомКонкретная готовая CMS
Повседневная публикацияРедакторские сценарии нужно включить в состав разработки или получить из подключённой системыПроверить, подходят ли существующий редактор, типы материалов и права; настроить недостающее
Особые бизнес-правилаМожно проектировать модель данных и процессы под задачу; сами правила нужно реализовать и проверитьПроверить возможности штатных модулей и расширений; собственная логика тоже возможна
Индивидуальный дизайнЗависит от согласованных шаблонов и качества реализацииЗависит от темы, шаблонов и их адаптации; готовая CMS не обязывает использовать типовой дизайн
ОбновленияУчитывать фреймворк, панель, библиотеки и собственный кодУчитывать ядро CMS, тему, расширения и собственный код
Передача другому исполнителюНужны понятная архитектура, документация и воспроизводимый запускНужны сведения о настройках, расширениях, доработках и воспроизводимый запуск

Таблица показывает предмет проверки. Качество конкретного сайта нельзя определить только по названию основы.

Что сотрудник сможет сделать без разработчика

Для владельца сайта удобство управления проверяется действиями. Перед выбором попросите показать обычный рабочий сценарий на прототипе или демонстрационной установке с похожей структурой материалов.

Учебный пример: маркетолог создаёт новый кейс, добавляет фотографии, связывает его с услугой и смотрит результат на телефоне. Если публикации согласует руководитель, маркетолог сохраняет черновик, а руководитель публикует его со своей учётной записью. Затем редактор исправляет ошибку в опубликованном материале.

Этот сценарий выявляет больше, чем показ экрана со списком записей:

  • Можно ли добавить материал целиком, включая изображения и связи, без правки кода?
  • Есть ли предпросмотр именно той страницы, которую увидит посетитель?
  • Разделены ли права редактора и администратора системы?
  • Что происходит при ошибочном удалении или одновременном редактировании?
  • Какие элементы страницы редактируются, а для каких потребуется новая задача разработчику?

Не всем сайтам нужны согласование, история изменений и свободная сборка страниц. Зафиксируйте необходимые возможности. Простая форма с понятными полями может оказаться удобнее сложного конструктора, если сотрудники меняют только цены, описания и фотографии.

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

Отдельно проверьте переносимость контента. Если текст и оформление сохраняются в формате конкретного расширения, спросите, как получить материалы, изображения и связи при смене этого инструмента. Наличие кнопки экспорта ещё не подтверждает, что после переноса сохранится нужная структура.

Пограничные случаи, в которых название технологии не решает выбор

Небольшой сайт компании с формой в CRM

У компании есть услуги, кейсы и контакты; сотрудники время от времени меняют материалы. Подходящими могут быть несколько решений. Готовая CMS имеет смысл, если её редактор соответствует задачам. Laravel тоже подходит, если исполнитель предлагает понятное управление и обоснованный состав сопровождения.

Одна интеграция с CRM сама по себе не делает индивидуальное приложение обязательным. Нужно уточнить, какие данные передаются, кто отвечает за ошибки и как обнаружить заявку, которую внешняя система не приняла. Готовое расширение и собственная интеграция проверяются по одному сценарию, включая повторную отправку без дублирования заявки.

Для такого проекта сначала определяют состав корпоративного сайта: страницы, шаблоны, формы и действия редактора. Технологическое предложение сравнивают уже с этим составом.

Сайт с активной редакцией и новыми форматами материалов

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

Если предлагается Laravel с административной панелью, попросите отдельно оценить редакторские возможности. Демонстрация редактирования одной записи не доказывает готовность многопользовательской редакции. Если же выбрана CMS на Laravel, сравнивайте её рабочий процесс с другими CMS, учитывая используемые расширения.

Небольшой кабинет со сложными правилами

Учебный пример: дилер видит только доступные ему товары, получает цену по своему договору и отправляет заказ на согласование. Страниц немного, но условия доступа, расчёты и состояния заказа образуют существенную бизнес-логику.

Здесь приложение на Laravel может быть обоснованным выбором, если модель предлагается под эти правила. CMS тоже может подойти, когда её модули и допустимые доработки обеспечивают нужное поведение. Сравните конкретные исключения: смену договора, недоступный товар, отмену согласования, сбой обмена. Ответ «есть личный кабинет» недостаточен.

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

Блог и сервис с независимыми задачами

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

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

Действующий сайт уже выполняет свою задачу

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

Как читать предложения «Laravel или WordPress» и «Laravel или Битрикс»

У WordPress проверяйте конкретную сборку: тему, редактор, расширения и собственные доработки. Важно увидеть, какие возможности даёт сама система, какие зависят от дополнений и кто сопровождает каждую из этих частей. Одинаковое название CMS может скрывать разные по сложности проекты.

Под Битриксом в таком сравнении следует точно указать продукт. Для сайта речь может идти о «1С-Битрикс: Управление сайтом». Производитель описывает разные лицензии с разным составом возможностей, готовые модули и возможность доработок. В предложении нужны подходящая лицензия, перечень модулей и границы интеграции; одного слова «Битрикс» мало. Условия получения дальнейших обновлений также нужно учитывать в расходах.

У Laravel проверяйте столь же конкретный состав: административный интерфейс, зависимости, правила доступа и реализуемые процессы. Формулировка «всё сделаем на своём коде» не заменяет описание того, что получит редактор и как будет обновляться приложение.

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

Для работы с поиском попросите показать управление адресами и метаданными, редиректы и поведение страниц, закрытых от индексации. Название основы не подтверждает, что эти настройки включены в предложение и реализованы корректно.

Стоимость владения: сравнивайте одинаковый состав и период

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

Попросите выделить:

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

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

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

Обновления нужны обоим подходам. У Laravel есть ограниченные периоды исправления ошибок и уязвимостей. Документация WordPress рекомендует резервное копирование перед обновлением. Поэтому в договорённостях важно определить, кто следит за зависимостями, проверяет обновление на тестовой среде и восстанавливает сайт при проблеме. Наличие новой версии у производителя не означает, что ваш сайт уже обновлён.

Часть расходов зависит от согласования состава и готовности материалов; подробнее это разобрано в статье о сроках разработки сайта. Если среди предложений есть размещение на платформе-конструкторе, дополнительно сравните её условия по материалу «Конструктор или индивидуальная разработка сайта».

Вопросы к исполнителю, на которые нужен проверяемый ответ

  1. Что именно вы предлагаете установить и разработать? Нужен перечень основы, административного интерфейса, расширений и собственных доработок с назначением каждой части.
  2. Как сотрудник выполнит нашу обычную задачу? Попросите демонстрацию публикации реального типа материала с изображениями, связями и нужными правами. Зафиксируйте действия, доступные без разработчика.
  3. Где реализованы наши особые правила? Для цены, доступа или согласования нужен пример с исключением и объяснение, как проверяется правильность результата.
  4. Что произойдёт при отказе внешней системы? Нужен показ ошибки, сохранности данных, повторной обработки и защиты от дублей. Состав этой проверки должен соответствовать вашей интеграции.
  5. Как решение переживёт обновление? Нужны порядок проверки, ответственный за зависимости и план восстановления. Уточните, изменяется ли ядро CMS и как такие изменения сохранятся; документация WordPress прямо предупреждает о потере правок файлов ядра при обновлении.
  6. Из чего складываются запуск и дальнейшие расходы? Нужна оценка одинакового состава на одинаковый период с отдельным указанием лицензий, внешних сервисов и работ вне сопровождения.
  7. Как другой разработчик сможет продолжить работу? Нужны перечень передаваемых материалов, описание запуска и обновлений, список платных зависимостей и проверяемая выгрузка данных.

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

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

Связанные услуги и материалы

Поделиться

Обсудим сайт для вашего бизнеса

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

Меню

Меню

Контакты

С чем вам помочь?

Выберите задачу и оставьте контакты.

Что нужно сделать?