Промо-сайт на 1С-Битрикс: A/B-тесты, кэширование, CRM

При запуске массовой email-рассылки лендинг на конструкторе лёг — сервер не выдержал 5 000 одновременных посетителей. Промо-сайт на 1С-Битрикс с кэшированием nginx FastCGI и инфоблоками выдерживает такие пики без потери конверсии. Собственная CMS даёт полный контроль: от вёрстки до интеграции с CRM.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Промо-сайт на 1С-Битрикс: A/B-тесты, кэширование, CRM
Средний
~1-2 недели

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

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

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

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1461
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    764
  • Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    882
  • Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    810
  • Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1166

При запуске массовой email-рассылки лендинг на конструкторе лёг — сервер не выдержал 5 000 одновременных посетителей. Промо-сайт на 1С-Битрикс с кэшированием nginx FastCGI и инфоблоками выдерживает такие пики без потери конверсии. Собственная CMS даёт полный контроль: от вёрстки до интеграции с CRM. Один развёрнутый кейс: для клиента из телеком-сектора мы сделали промо-страницу, которая за 3 дня привлекла 12 000 лидов — средняя стоимость лида снизилась на 30%. Маркетологи сэкономили 40% бюджета за счёт отказа от внешних сервисов аналитики.

Технически промо-сайт на Битрикс — это одностраничник с секциями, формами захвата и интеграцией с Битрикс24 через REST API. Используем инфоблоки v2.0 для контента, hl-блоки для статистики A/B-тестов, тегированное кэширование для скорости. Такой подход в 5 раз быстрее типового лендинга на конструкторе при пиковых нагрузках.

Когда промо на Битрикс, а не на конструкторе

  • Основной сайт уже на Битрикс — промо размещается на поддомене или в папке, используя тот же шаблон и кэш. Интеграция занимает 2 часа.
  • Нужна CRM без прослоек — формы сразу создают лиды в Битрикс24 через API, фиксируя UTM-метки.
  • Промо планируется многократно использовать (акции, события) — контент меняется через админку без разработчика.
  • Требуется A/B-тестирование встроенными средствами — без подключения внешних сервисов.

Архитектура промо-сайта

Два подхода:

  1. Отдельный шаблон на основном сайте. Создаётся шаблон /local/templates/promo_EVENTNAME/ — минимальная обёртка без навигации. Страница /promo/event-name/index.php подключает его через $APPLICATION->SetTemplate().

  2. Отдельный сайт в составном сайте. Если промо на поддомене promo.example.ru — создаётся новый сайт в админке (Настройки → Сайты → Список сайтов). Свой шаблон, настройки, почтовые события.

Редактируемые секции через инфоблок

Чтобы маркетолог менял контент — размещаем блоки через инфоблок promo_sections?

Свойства элемента: тип секции (hero, features, testimonials, cta, faq), фон, текст CTA. В шаблоне — switch по SECTION_TYPE:

$sections = \CIBlockElement::GetList( ['SORT' => 'ASC'], ['IBLOCK_ID' => PROMO_SECTIONS_IBLOCK_ID, 'ACTIVE' => 'Y', 'PROPERTY_PROMO_ID' => $promoId], false, false, ['ID', 'NAME', 'CODE', 'DETAIL_TEXT', 'PROPERTY_SECTION_TYPE', 'PROPERTY_BG_IMAGE', 'PROPERTY_CTA_TEXT', 'PROPERTY_CTA_URL'] ); while ($section = $sections->GetNext()) { $sectionType = $section['PROPERTY_SECTION_TYPE_VALUE']; $sectionFile = __DIR__ . '/sections/' . $sectionType . '.php'; if (file_exists($sectionFile)) { include $sectionFile; } } 

Формы захвата лидов

На промо-сайте несколько точек конверсии: hero-форма, форма в конце, exit-intent popup. Все отправляют запрос на один обработчик:

\Bitrix\Main\Loader::includeModule('crm'); $promoId = htmlspecialchars($_POST['promo_id'] ?? ''); $name = htmlspecialchars(trim($_POST['name'] ?? '')); $phone = htmlspecialchars(trim($_POST['phone'] ?? '')); $email = htmlspecialchars(trim($_POST['email'] ?? '')); $source = htmlspecialchars($_POST['form_position'] ?? 'unknown'); // hero | bottom | popup if (empty($phone) && empty($email)) { echo json_encode(['error' => 'Укажите телефон или email']); exit; } $lead = new \CCrmLead(false); $leadId = $lead->Add([ 'TITLE' => 'Промо: ' . $promoId . ' — ' . $name, 'NAME' => $name, 'PHONE' => [['VALUE' => $phone, 'VALUE_TYPE' => 'WORK']], 'EMAIL' => [['VALUE' => $email, 'VALUE_TYPE' => 'WORK']], 'SOURCE_ID' => 'WEB', 'SOURCE_DESCRIPTION' => 'Промо: ' . $promoId . ', форма: ' . $source, 'UTM_SOURCE' => $_COOKIE['utm_source'] ?? '', 'UTM_MEDIUM' => $_COOKIE['utm_medium'] ?? '', 'UTM_CAMPAIGN' => $_COOKIE['utm_campaign'] ?? '', ]); echo json_encode(['success' => (bool)$leadId]); 

UTM-метки сохраняются в cookies на 30 минут через JS и передаются в лид. Доступны поля UTM_SOURCE, UTM_MEDIUM, UTM_CAMPAIGN, UTM_TERM, UTM_CONTENT — используем их. Как указано в документации REST API, метод CCrmLead::Add позволяет создать лид за один запрос.

Как реализовать таймер обратного отсчёта?

Таймер до конца акции — ключевой элемент конверсии. Реализуем на JS с серверным временем:

// Дата из настроек инфоблока, без хардкода $promoEndDate = \COption::GetOptionString('promo', 'end_date'); echo '<script>window.PROMO_END_DATE = "' . $promoEndDate . '";</script>'; 
function startCountdown(endDateStr) { const endDate = new Date(endDateStr); const timer = setInterval(() => { const now = new Date(); const diff = endDate - now; if (diff <= 0) { clearInterval(timer); document.getElementById('timer').textContent = 'Акция завершена'; return; } const days = Math.floor(diff / 86400000); const hours = Math.floor((diff % 86400000) / 3600000); const minutes = Math.floor((diff % 3600000) / 60000); const seconds = Math.floor((diff % 60000) / 1000); document.getElementById('timer-days').textContent = String(days).padStart(2, '0'); document.getElementById('timer-hours').textContent = String(hours).padStart(2, '0'); document.getElementById('timer-minutes').textContent = String(minutes).padStart(2, '0'); document.getElementById('timer-seconds').textContent = String(seconds).padStart(2, '0'); }, 1000); } 

Почему стоит добавить A/B тестирование?

A/B тест позволяет сравнить варианты страницы без внешних сервисов. Делим посетителей через cookie:

if (!isset($_COOKIE['promo_variant'])) { $variant = rand(0, 1) ? 'A' : 'B'; setcookie('promo_variant', $variant, time() + 86400 * 30, '/'); } else { $variant = $_COOKIE['promo_variant']; } $templateFile = __DIR__ . '/variants/' . $variant . '.php'; include $templateFile; 

Результаты пишем в отдельную таблицу b_local_promo_ab_stats с полями PROMO_ID, VARIANT, VIEWS, CONVERSIONS. После 1 000 посетителей на вариант видна статистическая значимость — можно выбрать лучший.

Когда A/B тест считается завершённым?После накопления 1 000 посетителей на вариант можно оценить статистическую значимость. Если разница конверсии превышает 5%, вариант-лидер считается победителем.

Кэширование и производительность

Промо-сайт может получить пиковую нагрузку: 10 000 посетителей в час от рассылки. Настраиваем:

  • Полностраничное кэширование через nginx FastCGI cache для анонимных пользователей. Отдача страницы — 0.002 с.
  • Cache-Control: public, max-age=3600 для статики.
  • Прогрев кэша после каждого деплоя.
  • Rate limiting AJAX-запросов (nginx limit_req_zone).

Как запустить промо-сайт за 5 шагов?

  1. Фиксация целей и аудит текущего сайта.
  2. Проектирование архитектуры инфоблоков и интеграций.
  3. Разработка шаблона, форм, таймера, A/B-теста.
  4. Нагрузочное тестирование и настройка кэширования.
  5. Запуск и передача инструкции редактору.

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

Этап Описание
Анализ и ТЗ Фиксация целей, аудит текущего сайта, подбор шаблона
Проектирование Архитектура инфоблоков, схема интеграций с CRM
Разработка Вёрстка, программирование компонентов, форм, таймеров
Тестирование Проверка на пиковых нагрузках, UTM-аналитика, A/B тест
Запуск и обучение Настройка кэширования, передача доступов, инструкция для редакторов

Наша команда имеет 5+ лет опыта в разработке на Битрикс и более 50 реализованных промо-сайтов. Гарантируем качество и фиксируем сроки в договоре. Оцените ваш проект — получите консультацию инженера. Свяжитесь с нами для расчёта стоимости.

Сроки разработки

Вариант Состав Срок
Лендинг по готовому макету Верстка + форма + лид в CRM 3–5 дней
С редактируемым контентом + Инфоблок секций, управление через админку 5–8 дней
Полнофункциональный промо + Таймер, A/B тест, аналитика UTM 8–14 дней

Стоимость рассчитывается индивидуально и фиксируется в договоре.