Разработка сайта на 1С-Битрикс: архитектура, производительность

Когда мы берёмся за проект на Битриксе, первый вопрос — не "какой шаблон", а "как спроектировать структуру данных так, чтобы через год не переписывать фильтры"? Один неудачный инфоблок с 30 свойствами — и `b_iblock_element_property` разрастается до миллионов строк. `CIBlockElement::GetList` выпол
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка сайта на 1С-Битрикс: архитектура, производительность
Сложный
от 1 недели до 3 месяцев

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    996
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    735
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    773
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1134

Когда мы берёмся за проект на Битриксе, первый вопрос — не "какой шаблон", а "как спроектировать структуру данных так, чтобы через год не переписывать фильтры"?

Один неудачный инфоблок с 30 свойствами — и b_iblock_element_property разрастается до миллионов строк. CIBlockElement::GetList выполняется 4 секунды, а фасетный индекс не спасает, потому что свойства-привязки не попали в b_catalog_sm_*. Переделать на проде — переписать шаблоны, фильтры, SEO-правила. Дешевле спроектировать один раз. Наш опыт показывает: правильная архитектура экономит до 40% бюджета на поддержку. Типичные последствия неправильной архитектуры — рост времени загрузки страниц, падение конверсии и перерасход бюджета на доработки.

Почему выбор типа хранения определяет производительность?

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

Инфоблоки хранят свойства в EAV-таблице b_iblock_element_property. Для 5 000 товаров с 10 свойствами — 50 000 строк, MySQL справляется. Для 80 000 товаров с 25 свойствами — 2 000 000 строк, JOIN-ы при фильтрации дают секунды. Зато инфоблоки дают SEO-обвязку, визуальный редактор, компоненты каталога.

Highload-блоки — плоская таблица, колонка на свойство. Индексы эффективны, фильтрация 200 000 записей за 30-80 мс. Нет наследования свойств разделов, нет штатного SEO-модуля. Идеально для справочников (города, бренды).

D7 ORM (Bitrix\Main\ORM\Data\DataManager) — для сущностей, не вписывающихся в инфоблоки или HL-блоки. Заявки со связями, кастомные логи, агрегации. Полный контроль, но админка рисуется вручную.

Критерий Инфоблоки Highload-блоки D7 ORM
Скорость фильтрации 100К+ товаров 1-3 с (с фасет.индексом 50-200 мс) 30-80 мс Зависит от запроса
Штатные компоненты каталога Да Нет Нет
SEO-модуль Да Нет Нет
Произвольные связи Ограничены По полю Полноценные

Как Битрикс сравнивается с WordPress и Laravel?

WordPress — тоже EAV через wp_postmeta, но без штатного e-commerce уровня. WooCommerce — плагин. Битрикс даёт модуль catalog с торговыми предложениями, типами цен, складским учётом, обменом с 1С через CommerceML. Для компаний, живущих в 1С:Предприятие, это решающий аргумент.

Laravel — фреймворк, не CMS. Свобода архитектуры, но каталог, корзина, права доступа, обмен с 1С пишутся с нуля. На проекте с бюджетом 4-6 месяцев и командой из 3 человек Laravel оправдан. Для корпоративного сайта, который нужен через 2 месяца, Битрикс быстрее. Не лучше — быстрее при типовых задачах.

Принципиальное отличие — компонентный подход. bitrix:catalog.section — готовая связка контроллер + модель + кеширование. Подключается в шаблон, настраивается через $arParams, кастомизируется в template.php. Бизнес-логика — в result_modifier.php или в кастомном модуле local/modules/. Шаблон — в local/templates/. Не в ядре, никогда в ядре.

Как мы обеспечиваем производительность до первого коммита?

Оптимизировать после запуска дорого. Вот что закладываем в архитектуру:

Кеширование — три уровня: управляемый кеш компонентов, общий кеш (memcached/Redis), композитный сайт. Композит отдаёт HTML без инициализации ядра — время ответа падает с 200 мс до 15-30 мс.

Статика — CDN для /upload/, /bitrix/js/, /bitrix/css/. WebP через CFile::ResizeImageGet(). Lazy loading. Вынос статики на CDN снимает 40-60% нагрузки с веб-сервера.

База данных — составные индексы на часто фильтруемые свойства. EXPLAIN на каждый тяжёлый запрос. Для каталогов свыше 50 000 товаров — фасетные индексы (Bitrix\Catalog\Model\SmartFilter), фильтрация из 3 секунд превращается в 50 мс.

PHP — OPcache с JIT на PHP 8.1+, realpath_cache_size=4096K. Проверка через панель "Производительность" → "PHP".

Кейс: ускорение каталога в 6 раз

Для клиента с каталогом 120 000 товаров и 40 свойствами мы перевели фильтрацию с инфоблоков на Highload-блоки с фасетными индексами. Время загрузки страницы каталога упало с 4.2 с до 0.7 с. Дополнительно настроили композитный кеш для неавторизованных пользователей — первый байт стал 25 мс. Экономия на поддержке составила до 30% годового бюджета.

Подробнее о композитном режиме читайте в официальной документации.

Что входит в работу

  • Анализ требований и проектирование архитектуры данных
  • Разработка дизайна и адаптивная вёрстка
  • Создание кастомных компонентов и модулей
  • Интеграция с 1С (CommerceML), платёжными системами, службами доставки
  • Настройка кеширования, CDN, композитного режима
  • Тестирование (функциональное, нагрузочное, безопасность)
  • Документация и обучение администраторов
  • Гарантийная поддержка 12 месяцев

Этапы и сроки

  1. Аналитика и проектирование (1-2 недели) — спецификация инфоблоков, интеграций, прототипы
  2. Дизайн (1-3 недели) — UI/UX, дизайн-система
  3. Разработка (3-8 недель) — спринты по 2 недели, демо на staging
  4. Тестирование (1-2 недели) — PageSpeed, Lighthouse, WebPageTest
  5. Запуск (3-5 дней) — деплой, мониторинг, стабилизация
Масштаб проекта Сроки
Корпоративный сайт, 10-20 страниц 6-10 недель
Каталог с фильтрацией, до 10 000 товаров 8-14 недель
Интернет-магазин с 1С 12-20 недель
B2B-портал с кабинетом 14-24 недели

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

Типичные ошибки в проектах на Битрикс

  • Бизнес-логика в template.php. Расчёт скидок, проверка прав — выносим в result_modifier.php или сервисный класс модуля.
  • Прямые SQL-запросы ($DB->Query()) вместо D7 ORM. Теряется кеширование, типобезопасность, инъекции.
  • Один гигантский init.php на 2000 строк. Переносим в модуль с автозагрузкой.
  • Кеш без тегов. Используем SetResultCacheKeys() и CIBlock::clearIblockTagCache().
  • Обновление ядра без staging. Всегда staging, потом прод.

Наши инженеры имеют сертификацию 1С-Битрикс и 10+ лет коммерческого опыта. Мы гарантируем качество и соблюдение сроков.

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