Вернуться к списку Вернуться к кейсам
Кейс сайта

Кейс: Модернизация B2B-портала поставщика серверного оборудования

«Сервер Молл» — поставщик серверного и сетевого оборудования, работающий на российском рынке с 2001 года. Компания начинала с обслуживания ИТ-инфраструктуры, а с 2015 года развивает направление прямых продаж оборудования. За двадцать с лишним лет через компанию прошли десятки тысяч единиц техники: серверы, СХД, коммутаторы. Выполнено более 200 ИТ-аудитов и 150+ системных интеграций, реализовано свыше 20 проектов полного цикла уровня Enterprise.

Кейс: Модернизация B2B-портала поставщика серверного оборудования

О клиенте

«Сервер Молл» — поставщик серверного и сетевого оборудования, работающий на российском рынке с 2001 года. Компания начинала с обслуживания ИТ-инфраструктуры, а с 2015 года развивает направление прямых продаж оборудования. За двадцать с лишним лет через компанию прошли десятки тысяч единиц техники: серверы, СХД, коммутаторы. Выполнено более 200 ИТ-аудитов и 150+ системных интеграций, реализовано свыше 20 проектов полного цикла уровня Enterprise.

Сегодня это 15 000+ клиентов из разных отраслей — от государственных структур до e-commerce, 200+ инженеров и сервисных центров в 150+ городах. Среди заказчиков — X5 Group, Лукойл, Газпром, ИТМО, Alex Fitness. Компания имеет партнёрские статусы Dell (Gold), HPE, Lenovo, Huawei и представлена офисами в Москве, Санкт-Петербурге, Казахстане, ОАЭ и Китае.

Ассортимент охватывает серверы Dell, HPE, Lenovo, xFusion, Supermicro, NVIDIA, ASUS, MSI, GIGABYTE, а также российских производителей — DEPO, Yadro, Аквариус, Гравитон, Nerpa, OpenYard, Норси-Транс, UTINET и других. Отдельные направления: системы хранения данных, сетевое оборудование, видеокарты, рабочие станции, облачная инфраструктура и комплексные enterprise-решения. О компании писали Forbes, РБК, CNews, Lenta.ru и Рамблер.

Главная страница B2B-портала — каталог серверного оборудования, конфигуратор, импортозамещение

С чем пришли: 4 задачи

Сайт servermall.ru перешёл к команде S-WEBS24 от предыдущего разработчика. Проект на 1С-Битрикс с мультисайтовой конфигурацией, кастомным шаблоном, B2B-кабинетом и несколькими интеграциями уже работал, но накопил серьёзный технический долг.

1. Кодовая база требовала аудита. Почти 6 000 PHP-файлов, кастомная логика в init.php на 1 244 строки, 22 компонента sotbit для B2B-кабинета, 20 собственных компонентов, несколько интеграций — разобраться в чужом коде, выстроить карту зависимостей и привести проект к единому стандарту было первой необходимостью.

2. Переход на PHP 8.2. Проект работал на устаревшей версии PHP. Часть кода использовала конструкции, несовместимые с PHP 8: динамические свойства классов, устаревшие функции вроде each() и create_function(), нестрогие сравнения, изменившие поведение в новой версии. Требовался методичный рефакторинг без остановки работающего сайта.

3. Смена дизайна. Визуальное решение предыдущего подрядчика устарело и не отвечало текущим задачам бизнеса. Требовался современный дизайн, сохраняющий всю функциональность: конфигуратор серверов, подбор под задачу, B2B-кабинет, каталог с многоуровневой фильтрацией.

4. Постоянное развитие. Бизнес активно рос — открылись офисы в ОАЭ (2023) и Китае (2024), расширялся ассортимент (российские серверы, GPU-решения, refurbished-оборудование), запускались новые направления. Сайт должен был оперативно отражать эти изменения без накопления нового технического долга.

Решение 1. Аудит и документирование унаследованной кодовой базы

Первым этапом стал полный аудит проекта. Кодовая база насчитывала 5 900 PHP-файлов и около 1 900 файлов стилей и скриптов. Проект использовал мультисайтовую конфигурацию Битрикс с тремя сайтами на одной установке, для каждого — собственные обработчики событий и логика инициализации.

Аудит охватил три критических слоя.

init.php — центральный файл проекта. На 1 244 строки здесь были сосредоточены определения констант инфоблоков, подключение внешних зависимостей, подписки на события и бизнес-логика. Константы жёстко задавали числовые ID инфоблоков: серверы — 4, российские серверы — 55, конфигуратор — 11, блог — 5, сеты — 10 и так далее. При переносе между средами (dev → stage → production) эти ID расходились, создавая риски рассинхронизации. Аудит зафиксировал все зависимости и предложил переход на символьные коды вместо числовых ID — изменение, которое позже реализовали при рефакторинге под PHP 8.2.

Кастомные компоненты — 42 единицы. Со стороны sotbit: 22 компонента B2B-кабинета — календарь заказов, Excel-импорт и экспорт, шаблоны повторяющихся заказов, персональный менеджер, история согласований. Со стороны S-WEBS24: 20 компонентов — список заказов серверов, детальная карточка заказа, табы секций каталога, меню серверов, даташиты с характеристиками, блог с рубрикацией. Каждый компонент был описан в формате «назначение → ключевые зависимости → потенциальные конфликты».

Интеграции — шесть внешних систем. Обмен с 1С (номенклатура, цены, остатки, заказы), AmoCRM (трекинг посетителей, вебхуки, автоматическое создание сделок при регистрации), Roistat (сквозная аналитика с подменой номеров), Jivosite (онлайн-чат с передачей данных в CRM), Яндекс.Метрика (цели и электронная коммерция), S3-хранилище (статические ресурсы). Аудит выявил неочевидные цепочки: например, смена статуса заказа в Битрикс одновременно запускала обновление в 1С, отправку вебхука в AmoCRM и триггер почтового уведомления клиенту — каскад из четырёх систем, связанных одним событием.

Результатом аудита стала карта зависимостей — документ, который впоследствии использовался при каждом рефакторинге и доработке. Без него любое изменение в init.php или компонентах несло риск каскадного отказа.

Решение 2. Переход на PHP 8.2 без остановки продаж

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

Поиск несовместимостей. Статические анализаторы (PHPStan, Psalm) прошли по всем 5 900 файлам и выявили участки кода с проблемными паттернами: динамические свойства классов (объявленные не в коде, а добавленные во время выполнения), устаревшие функции (each(), create_function(), $HTTP_RAW_POST_DATA), нестрогие сравнения с ==, которые в PHP 8 изменили поведение при сравнении строки с числом. Для каждого типа проблем был составлен план исправлений.

Адаптация кастомных компонентов. Компоненты sotbit и s-webs содержали код 2018–2020 годов. Часть из них использовала прямое обращение к суперглобальному массиву $_REQUEST вместо API Битрикс, а также устаревшие методы работы с инфоблоками (класс CIBlockElement без учёта новых методов ядра D7). Каждый компонент прошёл рефакторинг: замена прямых обращений на вызовы API, типизация параметров, обработка граничных случаев. Обратная совместимость с существующей логикой B2B-кабинета сохранялась на каждом шаге.

Тестирование интеграций. Обмен с 1С, вебхуки AmoCRM и скрипты Roistat проверялись на тестовом контуре с PHP 8.2 до переключения продакшена. Отдельный цикл тестирования прошла корзина и оформление заказа в B2B-кабинете — критичный функционал для оптовых клиентов, где падение даже на полчаса означало бы потерянные сделки. Тестовые сценарии включали: регистрацию компании, добавление менеджеров, создание заказа из шаблона, Excel-импорт позиций, смену статуса с триггером уведомлений.

CI/CD. GitLab CI обеспечивал автоматическое тестирование и деплой. При каждом пуше в основную ветку запускался пайплайн: линтинг PHP, проверка стилей, прогон кастомных тестов. Только после успешного прохождения всех этапов изменения попадали в продакшен. Это исключило регресс при регулярных обновлениях и доработках.

Решение 3. Смена дизайна с сохранением всей функциональности

Дизайн-макеты предоставил партнёр «Сервер Молл», со стороны S-WEBS24 выполнена полная вёрстка и интеграция в шаблон Битрикс. Основной шаблон — это header.php на 1 185 строк и footer.php на 842 строки, плюс отдельный шаблон для B2B-кабинета со своей логикой отображения и навигацией.

Смена дизайна затронула все ключевые страницы сайта.

Главная страница. Переработана структура: блок «Решения» с восемью направлениями, блок «Каталог» с быстрым доступом к серверам, СХД и сетевому оборудованию, раздел «Импортозамещение» с карточками российских производителей, блок «Задачи» с одиннадцатью типовыми сценариями подбора. Добавлен виджет выбора города из девятнадцати локаций (Москва, Санкт-Петербург, Новосибирск, Екатеринбург, Самара, Казань, Челябинск, Пермь, Уфа и другие) — при смене города подменяются контакты, номера телефонов и условия доставки. Главная дополнена блоком enterprise-решений с логотипами 15+ вендоров-партнёров.

Каталог серверов. Реализована многоуровневая фильтрация: состояние (новый/refurbished), производитель (Dell, HPE, Lenovo, xFusion, Supermicro, NVIDIA, ASUS, MSI, GIGABYTE и другие), бюджет, форм-фактор (от 1U до Tower), поколение процессора (от Dell G12 до G17, от HP Gen8 до Gen12), конкретная модель (более 200 позиций в выпадающем списке). Рядом с каждым фильтром — поясняющая подсказка: например, при выборе форм-фактора раскрывается, что 1U — это 44,45 мм высоты в стойке, а Tower-серверы подходят для офисов без серверного шкафа. Это снижает порог входа для покупателей, не имеющих глубокой технической подготовки.

Каталог серверов — фильтрация по вендору, бюджету, форм-фактору и поколению

Конфигуратор серверов. Пошаговый подбор с фильтрацией по семи параметрам: состояние, производитель, модель, максимальный объём оперативной памяти, количество слотов под RAM, серия процессора (от Intel Xeon 1-го поколения до Intel Xeon 6 и AMD EPYC 5-го поколения), количество дисковых отсеков. На выходе — коммерческое предложение за час. Конфигуратор работает как для новых серверов, так и для refurbished-оборудования, с отдельными наборами фильтров под каждого вендора (Dell, HPE, xFusion, Lenovo/IBM).

Пошаговый конфигуратор серверов — подбор по модели, RAM, процессору и дискам

Подбор под задачу. Десять типовых сценариев с отдельными лендингами: сервер для 1С, для офиса, файловый, баз данных, под виртуализацию, терминальный (RDP/VDI), для видеонаблюдения, CAD/CAM/BIM/3D, с GPU-ускорителями, для Data Science и машинного обучения. Каждый лендинг содержит таблицу сравнения конфигураций, пояснения по выбору процессора и памяти, ценовые ориентиры.

Подбор сервера под задачу — 10 типовых сценариев от 1С до Data Science

Блог. 28+ страниц статей с рубрикацией по семи направлениям: «Как выбрать», «Обзоры», «Инструкции», «Ликбез», «Виртуализация», «Новости», «Кейсы». Статьи — от 11 до 47 минут чтения, с техническими деталями: сравнение поколений процессоров, выбор сервера под конкретную задачу, обзоры моделей (Dell PowerEdge R760, российские серверы), аналитика рынка GPU. Добавлена email-подписка на новые материалы.

Дизайн сохранил структуру каталога, все URL и SEO-оптимизацию, наработанную предыдущей версией сайта. Мета-теги, заголовки H1-H3, хлебные крошки и микроразметка перенесены без изменений — позиции в поисковой выдаче не пострадали. При этом визуальный стиль полностью обновлён: современная типографика, улучшенная мобильная адаптация (меню, фильтры, корзина работают на экранах от 375 пикселей), переработанные карточки товаров с акцентом на ключевые характеристики.

Решение 4. Развитие и техническая поддержка

После завершения основных этапов проект не был заморожен — сайт продолжает развиваться вместе с бизнесом. Команда S-WEBS24 выполняет регулярную поддержку и доработки по мере появления новых задач.

Расширение каталога. Добавлены новые вендоры: российские — Nerpa, OpenYard, Норси-Транс, Гагарин, ДатаРу, Инферит; зарубежные — ASUS, MSI, GIGABYTE для GPU-серверов. В каталог введены новые линейки: Dell 17-го поколения (R470, R670, R770, R7725), HPE Gen12 (DL320, DL360, DL380, DL380a, DL384, ML350). Появились категории «Рабочие станции с GPU» и «Видеокарты NVIDIA» — ответ на рост спроса в сегменте AI/ML.

Импортозамещение. Создан отдельный раздел с российским оборудованием: серверы (11 производителей), системы хранения данных (8 производителей), сетевое оборудование (UTINET, Depo, Eltex, QTECH), программное обеспечение (операционные системы, СУБД, средства виртуализации, антивирусы, системы резервного копирования), источники бесперебойного питания. Под каждого производителя — своя страница с карточками товаров и фильтрацией.

Enterprise-решения. Разработана страница с комплексными проектами: ИТ-инфраструктура, виртуализация и ЦОД, кибербезопасность, AI/GPU-решения, хранение и резервирование данных. Добавлен блок с логотипами 15+ вендоров-партнёров, кейсы реализованных проектов и форма для отправки технического задания.

GPU-решения. Создан отдельный лендинг для серверов с GPU-ускорителями — от NVIDIA H200 до Dell PowerEdge XE9680 на 8 GPU. Реализовано сравнение задач: ML/DL/GenAI, 3D-рендеринг, HPC, стриминг, Big Data, VDI — под каждую подобраны конкретные конфигурации с ценами. Лендинг объясняет разницу между GPU для инференса и для обучения моделей, помогает выбрать между NVIDIA L40S, H100, H200 и B200 в зависимости от бюджета и задачи.

GPU-решения — серверы с NVIDIA H200/B200 для AI, 3D-рендеринга и HPC

Технические улучшения. Проведена оптимизация скорости загрузки страниц каталога (ленивая загрузка изображений, кеширование фильтров). Статические ресурсы перенесены в S3-хранилище. Доработаны AJAX-эндпоинты для корзины, сравнения, избранного, поиска и виджета городов — все взаимодействия теперь происходят без перезагрузки страницы.

Итоги проекта

Параметр Значение
Платформа 1С-Битрикс, мультисайтовость (3 сайта на одной установке)
Кодовая база 5 900+ PHP-файлов, 1 900+ JS/CSS-файлов
Кастомные компоненты 42 (22 sotbit + 20 s-webs)
Каталог 200+ моделей серверов, 10+ вендоров
Конфигуратор Подбор по 7 параметрам, 4 вендора, 150+ моделей
Подбор под задачу 10 типовых сценариев с отдельными лендингами
Интеграции 1С, AmoCRM, Roistat, Jivosite, Яндекс.Метрика, S3
Блог 28+ страниц, 7 рубрик, email-подписка
PHP Обновлён с устаревшей версии до 8.2
CI/CD GitLab CI, автоматический деплой при пуше в main
Поддержка Регулярные доработки: новые вендоры, GPU-лендинг, раздел импортозамещения
Охват 9 городов в виджете, 150+ городов сервисной поддержки

О компании Сервер Молл — история с 2001 года, 15 000+ клиентов

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

1. Принимать унаследованный код без аудита. Чужой проект на Битрикс с кастомной логикой в init.php на тысячу с лишним строк, жёстко заданными числовыми ID инфоблоков и недокументированными связями между компонентами — это мина замедленного действия. Без карты зависимостей любое изменение рискует обрушить корзину, интеграцию с 1С или B2B-кабинет. Аудит — не формальность, а обязательный первый шаг.

2. Мигрировать на новую версию PHP без тестового контура. В проекте с 6 000 файлов почти гарантированно найдутся динамические свойства, устаревшие функции и нестрогие сравнения. Попытка переключить продакшен без предварительного прогона на тестовом окружении приводит к падению сайта в часы пиковой нагрузки. Правильный путь: поэтапный рефакторинг с тестированием каждого изменения на копии продакшена.

3. Разделять дизайн и функциональность без координации. В B2B-проекте каждая страница насыщена логикой: конфигуратор с семью фильтрами, каталог с многоуровневым отбором, подбор под задачу с десятком сценариев. Дизайнер, не знакомый с этой логикой, рискует спроектировать интерфейс, который невозможно сверстать без полного переписывания компонентов. Дизайн и разработка должны идти в постоянной связке.

4. Пренебрегать SEO-преемственностью при редизайне. Сохранение URL, мета-тегов, заголовков и структуры каталога критично для сайта с многолетней историей и наработанными позициями в поиске. Редизайн «с чистого листа» без переноса SEO-наследия обнуляет органический трафик на месяцы — восстановление позиций после такого падения обходится дороже, чем сам редизайн.

5. Не закладывать архитектуру под мультисайтовость сразу. Если бизнес планирует экспансию — новые регионы, новые домены, — решение с несколькими сайтами на одной установке Битрикс оправдано. Но оно требует дисциплины: общий init.php с чётким разделением логики по сайтам, непересекающиеся пространства инфоблоков, раздельные обработчики событий. Хаотичное добавление очередного сайта без проектирования приводит к трудноотлавливаемым конфликтам: срабатывает не тот обработчик, подгружаются чужие константы, ломается кеширование.

6. Откладывать переход на актуальную версию PHP. Каждый год работы на устаревшей версии увеличивает объём кода, который потребуется рефакторить. В случае servermall.ru миграция с PHP 7.x на 8.2 затронула сотни файлов — но если бы проект проработал на старой версии ещё год-два, объём изменений вырос бы кратно. Безопасность и производительность актуальных версий PHP — достаточный аргумент для плановой миграции, даже если сайт «работает и так».

Заключение

Проект servermall.ru — пример последовательной модернизации крупного B2B-портала, при которой ни на одном этапе не пострадали текущие продажи и не был потерян накопленный SEO-капитал. Аудит превратил «чёрный ящик» унаследованного кода в документированную систему с прозрачными зависимостями. Методичный переход на PHP 8.2 с полноценным тестовым контуром устранил риски внезапных отказов. Смена дизайна обновила визуальный стиль, сохранив структуру каталога, фильтров, конфигуратора и поисковые позиции.

Сегодня servermall.ru — это полноценная платформа для B2B-продаж серверного оборудования, объединяющая каталог из 200+ моделей, конфигуратор с тонкой настройкой, десять сценариев подбора под задачу, B2B-кабинет с персональным менеджером и шаблонами заказов, а также шесть внешних интеграций, работающих в реальном времени. Сайт обслуживает 15 000+ клиентов и оперативно отражает изменения ассортимента — от новых поколений Dell и HPE до российских производителей и GPU-решений.

Ключевое обстоятельство успеха — непрерывность развития. Проект не был сдан и забыт; он находится в активной поддержке и обрастает новым функционалом по мере роста бизнеса, без накопления технического долга. Это возможно только при условии, что аудит проведён, зависимости задокументированы, кодовая база консистентна, а CI/CD-пайплайн исключает регресс.