Если вы заметили, что ваш сайт работает медленнее, возможно, пришло время обновить вашу CMS. При этом мы рассказываем, как нам в MediaNation удалось ускорить работу и производительность сайта Консул, с какими проблемами мы столкнулись в процессе и как нам удалось обеспечить проактивную защиту Битрикс.
Содержание
Клиент
Консул Холдинг – старейший российский производитель товаров для сна и отдыха. Продукция компании неоднократно номинировалась на национальные и международные награды.
Проблема: устаревший сайт.
Консул впервые обратился в MediaNation в 2015 году. Затем мы разработали интернет-магазин, который помог компании расти и расширять свой бизнес.
Со временем требования к удобству использования интернет-магазина возросли, и это в 2019-2021 годах. Мы провели масштабную модернизацию сайта, разработали адаптивную верстку и внедрили новые функции. В результате нам удалось увеличить количество посетителей сайта в 5 раз, увеличить доход в 4,5 раза и снизить показатель отказов почти в 2 раза.
Однако со временем платформа разработки на базе Битрикс и используемая на сервере версия PHP устарели и сайт стал работать заметно медленнее. В 2023 году Консул снова обращается к агентству со следующими задачами:
- Обновите платформу Битрикс до последней версии 8.1.
- Обновите версию PHP до 8.1.
Отвечать
Для решения проблемы медленной загрузки страниц сайта необходимо было не только установить критические обновления платформы Битрикс, но и повысить версию PHP на сервере с 7.4 до 8.1, так как данная версия содержит оптимизацию, улучшающую работу сайта. . Он совместим с более новыми версиями библиотек и фреймворков. Кроме того, некоторые библиотеки и платформы поддерживают только новые версии PHP, поэтому обновление до последних версий помогает обеспечить наилучшую совместимость.
Также необходимо было настроить работу используемых модулей (компонентов или дополнений, добавляющих сайту различные функциональные возможности) и адаптировать их к новой версии.
Мы понимаем, что при таком глобальном обновлении может быть нарушена работа всего сайта и модулей. Именно с этим мы и столкнулись: невозможно было предугадать, какие модули выйдут из строя и как быстро мы сможем восстановить работоспособность. В процессе обновления мы обнаружили, что не все подключенные модули обновились и не все из них подходят для обновленного ядра. Обо всех проблемах мы рассказываем ниже в кейсе.
Первый шаг: переключите сервер на PHP 8.1.
Рутинная процедура обновления PHP привела к ряду некритических ошибок, которые мы быстро исправили:
Второй шаг: обновление тестового сайта
Все работы проводились на испытательном полигоне. Только убедившись, что ошибки полностью устранены, мы выложили обновления на основной сайт.
Этот этап был более масштабным и важным. Обновление платформы на тестовом сайте привело к критическим для сайта ошибкам.
Например:
1. В некоторых компонентах исчезла информация о ценах.
Изучая проблему, мы заметили, что в новой версии платформы недоступны параметры, которые клиент использовал для отображения цен на сайте: PRICES и MIN_PRICE. Лишь после нескольких дней переговоров с техподдержкой Битрикс мы узнали, что теперь для отображения таблицы с ценами PRICE необходимо использовать в настройках компонента дополнительный параметр: «COMPATIBLE_MODE» => «Y»
2. Некоторые модули больше не отображаются в административной части сайта.
Эта проблема возникла из-за того, что они не были адаптированы к новому обновлению ядра. Вместе с клиентом мы проверили все установленные на сайте модули и деактивировали ненужные. А остальное обновилось до последней версии.
Некоторые модули просто не отображались
3. В публичной версии сайта вместо реальной цены на карточках товаров отображалось «0 рублей».
Проанализировав сайт, мы обнаружили, что после обновления сработала проактивная защита Битрикса. Это была самая неожиданная проблема, с которой мы столкнулись. Не все разработчики исправили эту проблему, и простого решения не было. После углубленного и детального изучения нам удалось настроить модуль проактивной защиты так, чтобы сайт не блокировался.
Помог комплексный подход к решению проблемы. Для снятия ограничений мы следовали рекомендациям документации Битрикс:
- Настроены правила модуля защиты: Для этого вам необходимо открыть админку Битрикса и перейти в раздел «Настройки» или «Настройки продукта». В разделе безопасность или проактивная защита необходимо проверить настройки и правила модуля, а затем настроить их так, чтобы они не блокировали сайт при обнаружении потенциальных угроз.
- Ведение журнала и отслеживание: Мы включили ведение журнала модуля безопасности для отслеживания событий и ошибок. Это поможет определить конкретные запросы или действия, вызывающие блокировку, и соответствующим образом настроить правила.
- Обновление модуля: В новых версиях могли быть улучшения и исправления, улучшающие совместимость с последними версиями PHP.
Третий шаг: обновление основного сайта consul-coton.ru
На этом этапе сюрпризов не произошло. После исправления всех ошибок мы успешно перенесли все обновления с тестового сайта на основной.
Результаты
После обновления сайт стал работать быстрее. А благодаря критическим обновлениям платформы Bitrix CMS она стала более безопасной и стабильной.
Производительность сайта превзошла все ожидания: производительность превысила стандарт на 26%. Это означает, что сайт работает более эффективно, чем ожидают пользователи или стандарты, установленные отраслью.
В результате глобального обновления клиент получил сайт, который работает стабильно, без ошибок и глюков, быстро загружается, моментально обрабатывает запросы и моментально реагирует на действия пользователя.