Установили последнюю версию 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, потому обновление до крайних версий помогает обеспечить лучшую сопоставимость.
Было также нужно настроить работу применяемых модулей (составляющие либо дополнения, которые добавляют на веб-сайт разные многофункциональные способности) и адаптировать их под новейшую версию.
Мы соображали, что в так глобальном обновлении работа всего веб-сайта и модулей быть может нарушена. Как раз с сиим мы и столкнулись: было нереально предсказать, работа каких модулей будет нарушена и как стремительно мы сможем вернуть работоспособность. В процессе обновления узнали, что не все присоединенные модули обновлены, и далековато не они все приспособлены под освеженное ядро. Обо всех челленджах рассказываем ниже в кейсе.
1-ый шаг: перевели сервер на PHP 8.1
Обычная процедура по обновлению PHP вылилась в ряд некритических ошибок, которые мы стремительно поправили:
2-ой шаг: обновили тестовый веб-сайт
Все работы делали на тестовом веб-сайте. Лишь убедившись, что ошибки стопроцентно устранены, перенесли обновления на главный веб-сайт.
Этот шаг был наиболее большим и принципиальным. Обновление платформы на тестовом веб-сайте повлекло за собой критичные для работы веб-сайта ошибки.
К примеру:
1. В неких компонентах пропала информация о ценах.
По мере исследования задачи узнали, что на новейшей версии платформы не были доступны характеристики, которые клиент употреблял для отображения цен на веб-сайте: PRICES и MIN_PRICE. Лишь спустя некоторое количество дней переговоров с технической поддержкой Bitrix мы узнали, что сейчас для вывода массива с ценами PRICES нужно применять доп параметр в настройке компонента: «COMPATIBLE_MODE» => «Y»
2. В административной части веб-сайта закончили отображаться некие модули.
Это неувязка появилась из-за того, что они не были приспособлены под новое обновление ядра. Вместе с клиентом мы провели на веб-сайте ревизию всех установленных модулей и отключили ненадобные. А оставшиеся обновили до крайней версии.
Часть модулей просто не отображалась
3. В общественной версии веб-сайта заместо настоящей цены в карточках продуктов отображалось «0 руб.»
Проанализировав веб-сайт, мы узнали, что опосля обновления срабатывала проактивная защита Bitrix. Это была самая нежданная неувязка, с которой пришлось столкнуться. Далековато не все создатели имели с ней дело, и обычного решения не было. Опосля детализированного всестороннего исследования мы смогли настроить модуль проактивной защиты таковым образом, чтоб не блокировался веб-сайт.
Посодействовал полный подход к решению задачки. Чтоб снять ограничения мы следовали советам из документации Bitrix:
- Настроили правила модуля защиты: для этого необходимо открыть административную панель Bitrix и перейти в раздел «Опции» либо «Опции продукта». В разделе сохранности либо проактивной защиты (Proactive Protection) необходимо проверить опции и правила модуля, а потом установить их так, чтоб они не блокировали работу веб-сайта при обнаружении возможных угроз.
- Провели логирование и мониторинг: мы включили логирование модуля защиты, чтоб выслеживать действия и ошибки. Это посодействовало бы выявить, какие определенные запросы либо деяния приводят к блокировке, и настроить правила подходящим образом.
- Обновили модуль: в новейших версиях были бы улучшения и исправления, которые улучшили бы сопоставимость с крайними версиями PHP.
3-ий шаг: Обновили главный веб-сайт consul-coton.ru
На этом шаге обошлось без неожиданностей. Опосля устранения всех ошибок мы удачно перенесли все обновления с тестового веб-сайта на главный.
Результаты
Опосля обновления веб-сайт стал работать резвее. А за счет критичных обновлений платформы Bitrix CMS стала наиболее защищенной и устойчивой.
Характеристики работы веб-сайта затмили все ожидания: производительность стала на 26% выше эталонной. Это значит, что веб-сайт работает эффективнее, чем того ждут юзеры либо устанавливают отраслевые эталоны.
В итоге глобального обновления клиент получил веб-сайт, который работает размеренно, без ошибок и сбоев, стремительно загружается, одномоментно обрабатывает запросы и сиюминутно реагирует на деяния юзеров.