Такой масштабный апдейт требовал не просто технических знаний, но и стратегического подхода, чтобы сохранить работоспособность всех функций, обеспечить совместимость с современными стандартами и повысить производительность ресурса. В этой статье мы подробно расскажем о каждом этапе работы, проделанной командой компании Inoco.
Почему обновление было необходимо?
Сайт autoprava.ru работал на старой версии Битрикс с использованием PHP 5.6 — версии, официальная поддержка которой была прекращена ещё в 2018 году. Это означало высокие риски: уязвимости в безопасности, невозможность установки современных модулей, низкая производительность и несовместимость с новыми браузерами и API. Кроме того, устаревшая кодировка базы данных (utf8) не поддерживала эмодзи и некоторые символы современных языков, что ограничивало функциональность сайта.
Для владельца бизнеса такие ограничения — прямой путь к потере клиентов, снижению конверсии и ухудшению позиций в поисковой выдаче. Именно поэтому было принято решение о полной модернизации платформы. Задача была не просто технической — она была стратегической: сделать сайт безопасным, быстрым, масштабируемым и готовым к интеграции с новыми сервисами.
Этап 1: Создание тестовой среды и подготовка к миграции
Первым шагом стало создание точной копии сайта в изолированной тестовой среде. Это позволило проводить все изменения без риска для рабочего ресурса. Мы скопировали базу данных, файловую систему и настройки сервера, после чего начали диагностику текущего состояния системы.
Одной из ключевых проблем оказалась кодировка базы данных. Старая версия использовала utf8, которая на самом деле поддерживает только 3-байтные символы, в то время как utf8mb4 — 4-байтные, что необходимо для полной совместимости с современными стандартами. Мы скорректировали конфигурационный файл MySQL, внесли изменения в секции [client], [mysql] и [mysqld], установив значение default-character-set=utf8. Это было временным решением для совместимости с текущей версией Битрикс.
Также были внесены правки в настройки PHP, чтобы обеспечить стабильную работу старой версии Битрикс на этапе подготовки. Особое внимание уделено лимитам памяти, времени выполнения скриптов и корректной обработке ошибок.
Этап 2: Поэтапное обновление модулей и ядра Битрикс
Прямое обновление с устаревшей версии до 25-й было невозможным — система не поддерживает такие скачки. Поэтому мы выбрали пошаговую стратегию обновления, разбитую на несколько ключевых этапов:
- Обновление модулей до версии 12 — первый шаг к совместимости с более новыми стандартами PHP.
- Аудит и корректировка кода сторонних модулей. Мы провели ревизию всех установленных решений, удалили неиспользуемые и устаревшие модули, которые могли вызвать конфликты.
- Обновление до версии 18 — переход к более стабильной и защищённой архитектуре.
- Удаление некорректных модулей (например, scale, location, landing), которые не соответствовали обновлённому модулю main. На этом этапе появился файл .settings.php, который мы адаптировали под новые требования.
Этап 3: Постепенный переход на современные версии PHP
PHP 5.6 несовместим с новыми версиями Битрикс, поэтому мы выполнили переход поэтапно, чтобы отследить и устранить все возможные ошибки:
- Смена версии PHP на 7.1. Были внесены правки в .settings.php и dbconn.php — изменён тип подключения к базе данных с устаревшего mysql на mysqli.
- Обновление модулей до версии 20 — подготовка к дальнейшему апгрейду.
- Переход на PHP 7.4 с последующей корректировкой настроек PHP и проверкой стабильности.
- Обновление до версии 22.
- Смена на PHP 8.0 — первый шаг к полной совместимости с современными стандартами.
- Обновление модулей до версии 23.
- Финальный переход на PHP 8.2 — самая современная и производительная версия на момент обновления.
- Завершающее обновление всех модулей до последней доступной версии.
На каждом этапе мы проводили полную проверку сайта: тестирование форм, пользовательских сценариев, интеграций и API. Это позволило избежать сбоев после финального запуска.
Этап 4: Глубокая оптимизация базы данных
После перехода на PHP 8.2 мы выполнили финальную миграцию базы данных на кодировку utf8mb4. Это критически важно для поддержки эмодзи, китайских иероглифов, математических символов и других современных элементов. Мы внесли изменения в конфигурационный файл MySQL:
[client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ciДалее были выполнены SQL-запросы для конвертации таблиц:
ALTER TABLE `b_rating_results` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE `b_rating_rule` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE `b_rating_rule_vetting` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE `b_rating_vote` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE `b_rating_vote_group` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE `b_rating_voting` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;Также были исправлены типы полей в базе данных, где это было необходимо, и обновлены настройки в файлах settings.php, dbconn.php, after_connect.php и after_connect_d7.php для обеспечения корректной работы с новой кодировкой.
Этап 5: Адаптация кода и компонентов под PHP 8+
PHP 8 вносит множество изменений в синтаксис и поведение языка: строгая типизация, новые ошибки, устаревшие функции. Мы провели полный аудит всех кастомных компонентов и шаблонов, внесли необходимые правки, заменили устаревшие конструкции и адаптировали логику работы под новые стандарты.
Важным решением стало интерпретирование правок, ранее внедрённых в ядро сайта, с их выносом в шаблоны. Это позволило избежать прямых изменений в ядре Битрикс, что критически важно для дальнейших обновлений и технической поддержки.
Этап 6: Финальная настройка и запуск
После завершения всех технических работ мы применили встроенные инструменты Битрикс для финальной оптимизации:
- Проверка сайта на ошибки и предупреждения.
- Оптимизация базы данных: дефрагментация, удаление временных данных, обновление индексов.
- Переиндексация сайта для корректной работы поиска и SEO.
- Создание полной резервной копии — как файлов, так и базы данных.
Только после этого сайт был перенесён на боевое окружение с полным контролем со стороны нашей команды.
Результаты обновления
Сайт autoprava.ru теперь работает на современной, безопасной и производительной платформе. Скорость загрузки страниц увеличилась на 40%, время отклика сервера сократилось, а стабильность системы достигла максимального уровня. Все интеграции с CRM, платежными системами и внешними API работают без сбоев. Кроме того, сайт стал полностью совместим с новыми стандартами безопасности и готов к дальнейшему развитию.
Почему это важно для вашего бизнеса?
Если ваш сайт работает на устаревшей версии Битрикс и PHP 5.6 — вы уже теряете клиентов. Высокий риск взлома, медленная работа, ошибки при оформлении заказов, проблемы с индексацией в поисковиках — всё это реальные последствия пренебрежения техническим долгом. Обновление — не роскошь, а необходимость.
Компания Inoco: ваш надёжный партнёр в цифровой трансформации
Мы — не фрилансеры. Компания Inoco — это команда профессионалов с многолетним опытом в разработке, поддержке и модернизации сайтов на Битрикс. Мы работаем с клиентами прозрачно: вы можете связаться с нами по видеосвязи в любое удобное время, обсудить детали, увидеть ход работ и получить консультацию эксперта.
Компания Inoco всегда на связи в будние дни, а для клиентов на полном обслуживании мы обеспечиваем поддержку 24/7. Наша цель — не просто выполнить задачу, а сделать ваш сайт надёжным, быстрым и масштабируемым инструментом бизнеса.
Если вы хотите обновить свой сайт, перейти на современную версию Битрикс или оптимизировать производительность — свяжитесь с нами. Мы поможем вам сделать шаг в будущее без рисков и простоев.