Установили последнюю версию Bitrix, ускорили загрузку сайта и на 26% превысили эталонную производительность

Если вы заметили, что сайт стал работать медленнее, возможно, самое время обновить CMS. В кейсе рассказываем, как нам в MediaNation удалось ускорить работу и производительность сайта Consul, с какими проблемами столкнулись в процессе и как боролись с проактивной защитой Bitrix.

Клиент

Consul Holding – старейший российский производитель продукции для сна и отдыха. Продукция компании неоднократно была представлена как к отечественным, так и международным наградам.

Проблема: устаревший сайт

Впервые Consul обратился в MediaNation в 2015 году. Тогда мы разработали интернет-магазин, который помог компании вырасти и увеличить бизнес.

Со временем требования к удобству пользования интернет-магазином росли, и в 2019-2021 гг. мы провели капитальную модернизацию сайта, разработали адаптивную верстку и внедрили новый функционал. В результате удалось в 5 раз увеличить количество посетителей сайта, в 4,5 раза увеличить доход и почти в 2 раза уменьшить показатель отказов.

Однако за прошедшее время платформа для разработки на базе Bitrix и версия PHP, которая использовалась на сервере, успела устареть, и сайт стал работать ощутимо медленнее. В 2023 году Consul снова обратился в агентство с задачами:

  • Обновить платформу Bitrix до последней версии 8.1.
  • Обновить версию PHP до версии 8.1.

Решение

Чтобы решить проблему с медленной загрузкой страниц сайта, необходимо было не просто установить критические обновления платформы Bitriх, но и поднять версию PHP на сервере c 7.4 до 8.1, поскольку в этой версии присутствует оптимизация, которая улучшает производительность сайта.Она совместима с более новыми версиями библиотек и фреймворков. Более того, некоторые библиотеки и фреймворки поддерживают только более новые версии PHP, поэтому обновление до последних версий помогает обеспечить наилучшую совместимость.

Добавить в заметки чтобы посмотреть позже?

Чтобы узнавать о свежих записях укажите email:

Было также необходимо настроить работу используемых модулей (компоненты или дополнения, которые добавляют на сайт различные функциональные возможности) и адаптировать их под новую версию.

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

Первый этап: перевели сервер на PHP 8.1

Рядовая процедура по обновлению PHP вылилась в ряд некритических ошибок, которые мы быстро исправили:

Ошибки на сайте

Второй этап: обновили тестовый сайт

Все работы выполняли на тестовом сайте. Только убедившись, что ошибки полностью устранены, перенесли обновления на основной сайт.

Этот этап был более объемным и важным. Обновление платформы на тестовом сайте повлекло за собой критические для работы сайта ошибки.

Например:

1. В некоторых компонентах пропала информация о ценах.

По мере изучения проблемы выяснили, что на новой версии платформы не были доступны параметры, которые клиент использовал для отображения цен на сайте: PRICES и MIN_PRICE. Только спустя несколько дней переговоров с технической поддержкой Bitrix мы узнали, что теперь для вывода массива с ценами PRICES необходимо использовать дополнительный параметр в настройке компонента: «COMPATIBLE_MODE» => «Y»

2. В административной части сайта перестали отображаться некоторые модули.

Это проблема возникла из-за того, что они не были адаптированы под новое обновление ядра. Совместно с клиентом мы провели на сайте ревизию всех установленных модулей и отключили ненужные. А оставшиеся обновили до последней версии.

Ошибки на сайте

Часть модулей просто не отображалась

3. В публичной версии сайта вместо реальной цены в карточках товаров отображалось «0 руб.»

Проанализировав сайт, мы выяснили, что после обновления срабатывала проактивная защита Bitrix. Это была самая неожиданная проблема, с которой пришлось столкнуться. Далеко не все разработчики имели с ней дело, и простого решения не было. После детального всестороннего изучения мы смогли настроить модуль проактивной защиты таким образом, чтобы не блокировался сайт.

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

  • Настроили правила модуля защиты: для этого нужно открыть административную панель Bitrix и перейти в раздел «Настройки» или «Настройки продукта». В разделе безопасности или проактивной защиты (Proactive Protection) нужно проверить настройки и правила модуля, а затем установить их так, чтобы они не блокировали работу сайта при обнаружении потенциальных угроз.
  • Провели логирование и мониторинг: мы включили логирование модуля защиты, чтобы отслеживать события и ошибки. Это помогло бы выявить, какие конкретные запросы или действия приводят к блокировке, и настроить правила соответствующим образом.
  • Обновили модуль: в новых версиях могли быть улучшения и исправления, которые улучшили бы совместимость с последними версиями PHP.

Обновление сайта

Обновление сайта

Третий этап: Обновили основной сайт consul-coton.ru

На этом этапе обошлось без неожиданностей. После устранения всех ошибок мы успешно перенесли все обновления с тестового сайта на основной.

Результаты

После обновления сайт стал работать быстрее. А за счет критических обновлений платформы Bitrix CMS стала более защищенной и устойчивой.

Показатели работы сайта превзошли все ожидания: производительность стала на 26% выше эталонной. Это означает, что сайт работает эффективнее, чем того ожидают пользователи или устанавливают отраслевые стандарты.

Обновление сайта

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

+ +