Задача была конкретной: у сети клиник несколько сайтов на 1С-Битрикс.
Часть из них работают на одной админке с общими инфоблоками, и есть автономные. 
Все они использовали кастомные компоненты, собственный фреймворк внутри CMS 1С-Битрикс и ручное кэширование.

При этом нужно было:

  • Перейти на штатные компоненты Битрикс (bitrix:catalog, bitrix:news, bitrix:form)
  • Обновить PHP с версии 7 до 8
  • Сохранить всю функциональность: онлайн-запись, интеграцию с 1С, фильтры, цены, SEO-данные
  • Сделать всё это без остановки работы сайтов — клиника принимает пациентов ежедневно

И ещё один важный нюанс: сервер не оснащён визуальной панелью управления (типа ISPmanager). Все операции — настройка окружения, деплой, управление версиями PHP — выполняются через консоль.

Рассказываем, как мы это сделали — по этапам, с рисками и решениями.

Что было «не так» с исходной версией

Сайты работали, но архитектура создавала скрытые издержки:

Проблема
Почему это важно
Кастомные компоненты вместо штатных
Любое изменение требовало локальной сборки и выгрузки; новые разработчики тратили недели на погружение
Собственный фреймворк/сборка
Обновления ядра Битрикс и интеграции становились рискованными и дорогими
Ручное кэширование
Сложно контролировать актуальность данных, выше риск «залипания» старой информации
Фильтры на Highload-блоках
Трудно масштабировать, сложно адаптировать под новые требования
Поиск «что попало»
Кастомный поиск не учитывал медицинскую специфику, выдавал нерелевантные результаты

При этом два сайта использовали общие инфоблоки и ядро, но имели разную структуру, дизайн и SEO-логику.

Любое изменение в архитектуре затрагивало оба проекта — нужна была тщательная проработка зависимостей и аккуратное разделение логики.

Как мы строили работу: дорожная карта

Мы разделили проект на параллельные потоки.

Это позволило не терять темп, чётко контролировать зависимости между ресурсами и избежать ситуации, когда правка в одном проекте ломает логику другого.

Ключевые вехи проекта:

Этап
Результат
Подготовка среды
Закрытые шаблоны, структура данных, общая логика синхронизации
Базовое наполнение
Статика, филиалы, каталоги услуг и специалистов
Интеграции и динамика
Поиск, формы, онлайн-запись, фиды, разделение логики для двух сайтов
Запуск на стабильной версии
Вывод в бой, обкатка на реальных пользователях, финальные правки
Переход на PHP 8
Адаптация кода, контролируемое переключение, мониторинг и отладка

Начали со статических разделов: страницы «О клинике», контакты, юридические документы, филиалы.

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

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

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

Настроили поиск с учётом медицинской терминологии, перенесли все заявки на защищённые веб-формы, подключили генерацию фидов.

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

Технические решения, которые сработали

1. Разработка в скрытом шаблоне на боевом сервере

Поскольку сервер без визуальной панели управления, мы настроили через 1С-Битрикс:

  • Доступ к новому шаблону только по авторизации.
  • Параллельную работу старого и нового кода без конфликтов.
  • Возможность быстро переключить шаблоны.

Это позволило тестировать изменения в реальных условиях, не влияя на работу сайта для посетителей.

2. Постепенный перенос: от статики к сложной логике

Сначала — простые страницы (контакты, о клинике),
потом — динамика (услуги, врачи),
в конце — интеграции (онлайн-запись, фиды).

Это позволило:

  • Раньше увидеть результат и скорректировать подход
  • Минимизировать риски при работе с критичными функциями

3. Разделение логики для двух сайтов на одной админке

  • Общие инфоблоки (цены из 1С) — с фильтрацией по направлению
  • Разные шаблоны, SEO-структуры и правила индексации
  • Единый интерфейс онлайн-записи, но раздельная обработка заявок

4. Переход на штатные компоненты Битрикс

Заменили кастомные решения на:
  • bitrix:catalog — для услуг и врачей (с гибкими фильтрами)
  • bitrix:news — для статей и акций
  • bitrix:form.result.new — для всех форм, кроме онлайн-записи
  • bitrix:search.page — с настройкой морфологии под медицинские термины

Результат: код стал прозрачным, поддерживаемым и готовым к масштабированию.

5. Обновление PHP 8 — с контролем рисков

В процессе подготовки к переходу на PHP 8 выяснилось, что текущий сервер технически не поддерживает установку новой версии языка.

Мы предложили заказчику более надёжное решение — перенос сайтов на современный выделенный сервер.

Подготовка новой инфраструктуры
Сервер с панелью управления (ISPmanager), усиленной защитой от DDoS-атак, настроенным окружением под PHP 8 и оптимизированными параметрами для 1С-Битрикс.

Перенес копий сайтов в демо-режим
Оба ресурса были развёрнуты на новом сервере, но доступны только в демо-режиме.
При этом боевые версии продолжали стабильно работать на старом сервере — пользователи не заметили никаких изменений.

Провели полную отладку на новой версии
На изолированном окружении проверили совместимость кода с PHP 8, протестировали интеграции, формы, онлайн-запись и синхронизацию с 1С.
Все правки вносились без риска для текущего трафика.

Переключение DNS 
Когда новая версия была полностью готова, мы запросили обновление настройки доменных имён.
Переключение прошло плавно.

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

Мы заранее предупредили заказчика, что после перехода возможны кратковременные сбои. Это нормально при таких миграциях. Главное — команда на связи и процесс под контролем.

Что получили в итоге

Было
Стало
Кастомные компоненты, сложный фреймворк
Штатные компоненты Битрикс — легко поддерживать и развивать
Ручное кэширование, риски устаревания данных
Стандартное кэширование Битрикс с тонкой настройкой
Фильтры на Highload-блоках — сложно масштабировать
Гибкие фильтры на базе bitrix:catalog
Поиск «что попало»
Настроенный bitrix:search с медицинской морфологией
PHP 7 — устаревающая версия
Полная совместимость с PHP 8 — безопасность и скорость
Риск простоев при обновлениях
Отлаженный процесс миграции с нулевым влиянием на пациентов

Бизнес-результаты:

  • Сайты работают на актуальной версии PHP 8 — выше скорость, безопасность и поддержка современных стандартов
  • Новые функции добавляются в 2–3 раза быстрее — не нужно «разгребать» кастомный код.
  • Снизились затраты на поддержку — теперь с сайтом может работать любой сертифицированный Битрикс-разработчик.
  • Сайт готов к масштабированию: новые филиалы, услуги, интеграции — без переделки архитектуры.
  • Переход прошёл без простоев и потери данных — пациенты клиники не заметили технических работ.

Если у вас похожая ситуация

Ваш сайт на 1С-Битрикс:

  • Работает на кастомных компонентах или устаревшей сборке.
  • Требует участия узкого специалиста для любой правки.
  • Вызывает опасения перед обновлениями или интеграциями.

Готовы обсудить ваш проект?

Мы специализируемся на сложных миграциях и доработках сайтов на 1С-Битрикс:

  • Переход с кастомного кода на штатные компоненты
  • Обновление версий Битрикс и PHP без простоя
  • Оптимизация структуры для нескольких сайтов на одной админке
  • Интеграции с 1С, CRM, платежными системами
Пожалуйста, подтвердите, что вы не робот, ниже.
Спасибо за заявку!Наш менеджер свяжется с Вами в ближайшее время!
Выберите удобный способ связи
Я принимаю условия Политика в отношении обработки персональных данных и даю .
Наш сайт использует сервис веб-аналитики Яндекс Метрика и технологию “cookie”. Продолжая пользоваться сайтом, вы соглашаетесь с использованием , и принимаете нашу Политику в отношении обработки персональных данных.