Разработка на 1С-Битрикс: что стоит за выбором платформы
Архитектурные решения, которые определяют бюджет на годы вперёд
Самая дорогая ошибка в Битрикс-проекте — неправильно выбранная редакция. Клиент покупает «Бизнес» за условные 72 000 ₽, а через полгода выясняется, что для мультирегионального каталога с персональными ценами нужна «Бизнес Энтерпрайз». Разница не только в стоимости лицензии — это другая архитектура хранения данных, другой подход к кластеризации, другой потолок производительности. Миграция между редакциями на живом проекте с 80 000 товаров и 200 заказами в день — это не «обновить лицензию», это полноценный инженерный проект на 3-6 недель.
Но дело не только в редакции. Инфоблоки — основа Битрикса для хранения контента — имеют конструктивное ограничение. Каждое свойство элемента — это запись в b_iblock_element_property, и при фильтрации каталога MySQL собирает JOIN на каждое свойство, участвующее в фильтре. На 5 000 товаров это работает. На 50 000 — запросы к каталогу начинают занимать 3-8 секунд. На 200 000 — сайт просто ложится под любым фильтром.
Начиная с Битрикс D7 появились highload-блоки: свойства хранятся не в EAV-таблице, а в отдельной плоской таблице с колонками. Фильтрация по 10 параметрам — один запрос без JOIN. Но highload-блоки не поддерживают версионность, SEO-свойства из коробки и привычные события инфоблоков. Выбор между классическими инфоблоками и highload — это архитектурное решение на старте, и переделывать его на живом проекте дороже, чем потратить два дня на анализ в начале.
Мы начинаем каждый проект с аудита будущей нагрузки. Сколько товаров сейчас и сколько будет через год. Сколько одновременных посетителей. Какие фильтры нужны. Будет ли мультисклад. И уже от этого строим архитектуру, а не наоборот.
Типичные грабли в интернет-магазинах на Битрикс
Интернет-магазин — самый частый запрос. И самый недооценённый по сложности.
Модуль sale в Битрикс мощный, но запутанный. Корзина, заказ, оплата, доставка — четыре подсистемы, каждая со своим API. Начиная с версии 17.0 заказы перешли на новое ядро D7 (\Bitrix\Sale\Order), но половина модулей маркетплейса до сих пор работает через старый CSaleOrder. Результат — конфликты при кастомизации оформления заказа, особенно когда подключены сторонние модули доставки или оплаты.
Конкретный пример из практики: клиент подключил модуль доставки СДЭК и платёжный модуль ЮKassa. По отдельности — работают. Вместе — при определённой комбинации (самовывоз + оплата по QR) заказ создавался с нулевой стоимостью доставки, хотя на экране отображалась правильная сумма. Причина: оба модуля переопределяли обработчик OnSaleComponentOrderResultPrepared, и порядок вызова зависел от сортировки в b_module_to_module. Починка — полчаса. Поиск причины — два дня.
Ещё одна системная проблема — производительность страницы каталога. Стандартный компонент catalog.section выполняет от 40 до 120 SQL-запросов на одну страницу, в зависимости от количества свойств, SKU и ценовых типов. Включение композитного кэша помогает для анонимных пользователей, но авторизованные видят персональные цены — и каждый запрос идёт в базу. Решаем через предварительное кэширование ценовых матриц в Redis и отдачу их через AJAX после загрузки страницы.
Битрикс24, CRM и автоматизация бизнес-процессов
Отдельное направление — корпоративные порталы и CRM на базе Битрикс24. Тут своя специфика: REST API с лимитами в 2 запроса в секунду для коробочных версий (50 в секунду для «Энтерпрайз»), бизнес-процессы на визуальном редакторе, который ломается на сложных ветвлениях, и интеграции с внешними сервисами через вебхуки.
Мы часто связываем Битрикс24 с 1С:Предприятие. Контрагенты, счета, акты — двустороняя синхронизация. Менеджер работает в CRM, бухгалтерия — в 1С, данные не расходятся. Технически это REST API + кастомные обработки на стороне 1С, с очередями на Redis для буферизации пиковых нагрузок.
Безопасность: не опция, а необходимость
Модуль проактивной защиты (security) закрывает базовые векторы: WAF, защита сессий, контроль активности. Но он не спасёт от уязвимостей в кастомном коде или устаревших модулях маркетплейса. Мы проводим аудит безопасности отдельно: проверяем SQL-инъекции в кастомных компонентах, XSS в шаблонах, CSRF в формах, права доступа к файлам на сервере.
Частая находка — файлы бэкапов в публичной директории. bitrix/backup/ с полным дампом базы, доступный по прямому URL. Или bitrix/.settings.php с паролем от базы данных, который отдаётся при неправильной конфигурации nginx.
Миграция, поддержка, SEO-оптимизация
Миграция на Битрикс с других CMS (WordPress, OpenCart, самописные решения) — от 2 до 8 недель в зависимости от объёма контента и сложности логики. Критично сохранить URL-структуру и 301-редиректы, иначе SEO-позиции обнуляются.
Поддержка — это не только «починить баг». Обновления Битрикс выходят часто, и каждое обновление может сломать кастомные компоненты. Мы ведём реестр доработок по каждому проекту и перед обновлением проверяем совместимость.
SEO в Битриксе — отдельная история. Модуль seo умеет генерировать sitemap.xml, управлять мета-тегами и canonical. Но для серьёзного SEO нужна работа с микроразметкой Schema.org, оптимизация Core Web Vitals (LCP, CLS, INP), настройка серверного кэширования. Стандартный Битрикс отдаёт HTML с инлайновыми стилями и скриптами, что убивает PageSpeed — переписываем шаблоны для асинхронной загрузки и выносим CSS в отдельные файлы.
Как оцениваем проект
Каждый проект начинается с аудита текущего состояния (если есть действующий сайт) или анализа требований (если проект с нуля). Этапы:
- Сбор требований — что нужно бизнесу, какие интеграции, какой объём каталога
- Техническое проектирование — выбор редакции, архитектура данных, инфраструктура
- Оценка трудозатрат — декомпозиция до конкретных задач с часовой оценкой
- Разработка — итерациями по 2 недели с демо после каждой
- Тестирование — функциональное, нагрузочное, проверка безопасности
- Запуск и стабилизация — первые 2-4 недели после запуска в режиме усиленного мониторинга
Стоимость рассчитывается индивидуально после анализа требований.
| Тип проекта | Ориентировочные сроки |
|---|---|
| Корпоративный сайт | 3-6 недель |
| Интернет-магазин до 10 000 SKU | 6-12 недель |
| Крупный e-commerce с интеграциями | 3-6 месяцев |
| Внедрение Битрикс24 CRM | 2-8 недель |
| Миграция с другой CMS | 2-8 недель |
| Аудит безопасности и производительности | 3-10 дней |







