Не только Битрикс: берём на поддержку Laravel, Symfony, Yii, Vue/React и самописные сайты

Чаще всего в поддержку приходят не с Битриксом, а с проектом, который два-три года назад писали «под себя»: Laravel, Yii, самописный PHP, админка на Vue. Подрядчика уже нет, репозиторий остался у него или нигде, а сайт продолжает приносить заявки — и его страшно трогать. Теперь мы берём такие проекты на поддержку по подписке наравне с битриксовыми. Оговорка одна: пакет «Аудит» остаётся битриксовым, для остальных стеков разбор устроен иначе.

Что берём и чего не берём

Берём на поддержку:

  • Laravel, Symfony, Yii 2 любых версий, включая давно не обновлявшиеся.
  • Самописные PHP-проекты — от аккуратных до набора файлов в корне сайта.
  • Фронтенд на Vue и React, включая Nuxt и Next.
  • Связки «API на PHP плюс SPA», где бэкенд и фронтенд живут отдельно, и статика на сборщиках.
  • WordPress и, разумеется, 1С-Битрикс.
  • Python и Go: сервисы на Django, FastAPI, Flask, бэкенды на Go — если проект собирается и запускается, разберёмся.

Через нас прошли десятки не-битриксовых проектов, так что «чужой код» для нас рабочая ситуация, а не исключение.

Чего не берём или берём с оговорками:

  • Проекты без исходников. Если есть только админка, сначала достаём код с хостинга и лишь потом говорим о подписке.
  • Только собранный фронтенд без репозитория. Минифицированный бандл можно лишь заменить целиком: без исходников любая правка интерфейса превращается в переписывание раздела.
  • Экзотика без документации. Про редкую CMS без документации и сообщества скажем сразу, что не потянем, а не будем учиться за ваш счёт.
  • Стеки вне PHP и JavaScript. Python, Go, .NET и мобильные приложения — не наш профиль.

И сразу главное: переписать ваш проект на Битрикс мы не предлагаем. Работающий сайт на Laravel — это работающий сайт на Laravel. Переписывание стоит как новый сайт и не окупается, если код просто давно не трогали.

Как мы принимаем чужой проект

Приёмка занимает от нескольких часов до нескольких дней и идёт в одном порядке.

  1. Доступы и инвентаризация. Где лежит код и база, как проект попадает на сервер, на кого оформлены домен и хостинг, какие внешние сервисы используются. Часто здесь и всплывает, что домен записан на бывшего подрядчика.
  2. Поднимаем копию у себя. Разворачиваем проект локально и добиваемся, чтобы он работал: страницы открывались, формы отправлялись, фронтенд собирался. Если проект живёт только на проде, это первая задача — без копии любая правка идёт сразу в бой.
  3. Смотрим, что реально крутится в проде. Версии PHP и Node, возраст зависимостей, состояние миграций, очереди, cron, права на каталоги, логи.
  4. Делаем бэкап и проверяем восстановление. Копия файлов и базы вне хостинга, затем разворачиваем её и убеждаемся, что сайт поднимается. Бэкап, который не восстанавливали, бэкапом не считается.
  5. Присылаем короткий отчёт. Что нашли, что чинить сразу, что отложить, сколько это в часах. Без него непонятно, какого тарифа хватит.
  6. Дальше — обычная подписка. Задачи письмом, оценка в часах до начала работы, отчёт в конце месяца.

Для Битрикса приёмку заменяет пакет «Аудит» с отдельной сметой. Для остальных стеков такого пакета нет: приёмка идёт внутри первого месяца подписки.

На что смотрим в первую очередь в каждом стеке

Laravel

  • Версия фреймворка и PHP. Laravel даёт 18 месяцев багфиксов и 2 года security-фиксов: у Laravel 10 они кончились в феврале 2025-го, у Laravel 11 — 12 марта 2026-го. Laravel 13 требует PHP 8.3.
  • composer.lock: дата последнего обновления и заброшенные пакеты. composer audit показывает известные уязвимости за минуту.
  • APP_DEBUG=true в проде: на странице ошибки Laravel выводит трассировку и значения переменных окружения.
  • Миграции против реальной схемы базы: прод правили руками, и на чистой базе миграции уже не собирают то, что работает.
  • Очереди и Horizon: запущен ли воркер, поднимается ли после перезагрузки сервера, не копятся ли записи в failed_jobs.
  • .env в репозитории: если он там был, пароли и ключи считаем скомпрометированными и меняем.

Symfony

  • Версия и её тип. LTS живут три года багфиксов и четыре года security-фиксов: 6.4 — до ноября 2026-го и 2027-го, 7.4 — до ноября 2028-го и 2029-го. Обычный релиз получает 8 месяцев багфиксов и 16 месяцев security-фиксов, и на нём легко застрять.
  • Бандлы: живы ли, кто их сопровождает, не подменены ли чужим форком.
  • Конфигурация окружений: APP_ENV, содержимое config/packages/prod, не включён ли профайлер.
  • Doctrine-миграции: doctrine:schema:validate сразу покажет расхождение сущностей и базы.
  • Кеш и права: кто владеет var/cache и var/log, прогревается ли кеш при деплое.

Yii 2

  • Версия. Ветка 2.0.50 и новее получает security- и PHP-совместимые фиксы до 23 ноября 2026 года, 2.0.49 и старше сняты с поддержки ещё в 2023-м. Yii 3 вышел, но это не апгрейд, а другой фреймворк: переезд равен переписыванию, и мы говорим об этом прямо.
  • Расширения: что стоит в composer.json и сколько лет этим пакетам.
  • Код, сгенерированный Gii: сам по себе он нормальный, но его правили поверх, и одинаковые куски расползлись по контроллерам.
  • Модули debug и gii, включённые в проде. Смотрим allowedIPs: по умолчанию там localhost, но список расширяют «на время отладки» и забывают.
  • Конфиги с паролями: config/db.php и params-local.php часто лежат прямо в репозитории.

Самописные PHP-проекты

  • Есть ли единая точка входа и роутинг — или это набор PHP-файлов в корне, где адрес равен имени файла.
  • SQL-запросы, собранные конкатенацией вместо подготовленных выражений: инъекция в форме поиска — самая частая находка в таком коде.
  • Загрузка файлов: проверяется ли тип, лежит ли каталог вне зоны исполнения PHP.
  • Вывод ошибок наружу: display_errors в проде показывает пути на сервере и имена таблиц.
  • Composer и автозагрузка: часто их нет вообще, а библиотеки скопированы в проект руками — обновлять их нечем.

Vue и React

  • Версия Node и возможность собрать проект сегодня. Node 18 снят с поддержки в апреле 2025-го, Node 20 — 30 апреля 2026-го; живы 22-я и 24-я ветки. Сборка, которая не идёт ни на одной поддерживаемой версии, — задача номер один.
  • Ключи и токены в клиентском коде: всё, что попало в бандл, публично. Приватные токены API убираем на сервер.
  • SSR и SEO: индексируется ли контент вообще. Для Nuxt и Next смотрим, что сервер отдаёт в HTML, для чистой SPA — есть ли пререндер и что видит робот, кроме пустого контейнера.
  • Что происходит, когда API не отвечает: белый экран, вечный спиннер или внятное сообщение. Таймаутов и обработки ошибок обычно нет.
  • Размер бандла и что в него попало. И Vue 2: снят с поддержки 31 декабря 2023 года, исправлений больше не выходит.

Общее для всех стеков

  • Есть ли git. Если нет, первым делом заводим репозиторий из того, что лежит на проде.
  • Как выкладывается код. При заливке руками по FTP рядом с рабочими файлами лежат копии вида index_new2_final.php, и никто не знает, какая работает.
  • Есть ли staging: без тестовой площадки правки проверяются на живых посетителях.
  • SSL и домен: до какой даты оплачены, включено ли автопродление, на кого записаны.
  • Логи: пишутся ли, ротируются ли, смотрел ли их кто-нибудь за последний год.

Чем поддержка не-Битрикса отличается по цене

Тарифы те же: S — 15 000 ₽ за 3 часа в месяц, M — 30 000 ₽ за 8 часов, L — 60 000 ₽ за 20 часов. Час сверх пакета — 3 000 ₽. Неиспользованные часы не переносятся, отказаться можно с любого месяца без штрафов. Падение сайта на всех тарифах разбирается вне очереди.

Отличий два. Первое: первый месяц обычно уходит дороже по часам — в чужом коде надо разобраться, а по Битриксу мы знаем заранее, где что лежит. Иногда разумнее взять на первый месяц M, а со второго спуститься на S. Второе: лицензии Битрикса здесь нет, но появляются другие расходы. Проекту на Laravel или Symfony нужен сервер с SSH и supervisor вместо дешёвого шареда, фронтенду на Nuxt или Next — среда с Node, бэкапам — место вне хостинга. Плюс сторонние сервисы, на которых держится проект. Всё это оплачивается вами напрямую.

Что входит сверх часовБитриксДругой стек
ОбновленияЯдро и модули, проверка на копииЗависимости composer и npm, версии PHP и Node, тоже на копии
Резервные копииЕжедневно вне хостинга, проверка восстановления раз в кварталТак же и отдельно копия репозитория
МониторингДоступность и ошибкиДоступность, ошибки, очереди и задания cron
Лицензии и сервисыКонтроль продления лицензии БитриксаЛицензии нет, следим за сроками платных сервисов
SSL и доменКонтроль продленияКонтроль продления
Вопросы по админкеОтветы письмомОтветы письмом, в том числе по самописной админке

Часы тратятся на то же: правки текстов, новые страницы, доработки шаблонов, интеграции, исправление ошибок. Дизайн, реклама и SEO-ведение не входят. Примеры проектов — в кейсах.

С чего начать

Чтобы ответить по существу, хватит пяти пунктов в заявке:

  • Ссылка на сайт.
  • Что за стек. Не знаете — так и напишите, определим по сайту.
  • Есть ли репозиторий и у кого он.
  • Есть ли контакт прошлого разработчика и отвечает ли он.
  • Что болит сейчас: сайт падает, форма не отправляется, некому сделать правку.

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

Напишите, что у вас за проект

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

Все статьи