Поговорим, проанализируем, предложим варианты решения
Расскажите нам о своих задачах
Заполните форму, мы свяжемся и обсудим детали проекта
sensoren.ru — интернет-магазин промышленных датчиков для электротехники и автоматизации производства.
Увеличили производительность сайта в 1,5 раза
Оптимизация производительности сайта
Сформулировали проблему: долгая загрузка страниц
На сайте клиента долго прогружались страницы, иногда по 10–15 секунд. Сайт создавали с помощью «Битрикса», длительные загрузки — распространенная проблема на этой CMS.
К тому же, на сайте было много функционала, который влиял на производительность. Это каталог, категории с большим количеством товаров, фильтры. Поэтому скорость загрузки почти всегда была очень низкой.
Это серьезно влияет на поведение пользователей и ранжирование страниц в поисковых системах. Поисковики понижают позицию сайта в выдаче, если он работает медленно и не соответствует их техническим требованиям.
Клиент предпринимал меры для увеличения производительности, сокращал количество контента, который выводился на страницах каталога. Заметных результатов это не давало. Поэтому мы предложили подойти к задаче комплексно.
От объема доступных ресурсов зависит, насколько большой поток пользователей выдержит сайт. Также, чтобы CMS работала без подвисаний, конфигурация и настройка ПО на сервере должны соответствовать требованиям 1С-Битрикс.
При проведении аудита выяснили, что сервер имеет избыточные ресурсы, которые по факту не используются даже на 15%. На работе сайта это не сказывается, но клиент переплачивает за лишние мощности.
Проанализировали доступные ресурсы, конфигурации и настройки сервера
Это главная страница и модули, которые связаны с каталогом. При анализе нашли настройки работы сайта, которые замедляли его загрузку:
1. Установлено много неиспользуемых модулей. Они влияют на общее время генерации страниц. Ими могут быть, например, модули по сбору статистики, если администратор статистику не ведет.
2. Не использовались настройки главного модуля на сжатие. Картинки с большим разрешением были подставлены в неподходящие блоки.
3. Не использовались настройки минификации и объединения. CSS, шрифты и JS файлы не были сжаты, загружались в самом начале генерации страницы.
Проверили настройки модулей 1С-Битрикс
Провели технический аудит и выявили основные проблемы
4. Не включены Автокэширование и Управляемый кэш. Это функции, которые позволяют быстро подготовить компоненты сайта к сильным нагрузкам, адаптировать его к работе на виртуальном хостинге. При включении Автокэширования компоненты работают без запросов к базе данных (БД), поэтому ее производительность не снижается. В нашем случае каждый раз при генерации страниц происходило обращение к БД. Проблема была еще и в том, что просто подключить Автокэширование мы не могли. В коде сайта нашлись участки, которые перестали бы корректно работать при использовании этой функции.
5. Сложности с композитным кэшем. При его использовании в кэш уходит вся страница в html, время отклика для пользователей сокращается. У клиента композит работал, но не на всем сайте. Поэтому в кэш уходили только некоторые данные. Если не все страницы целиком отдаются с использованием композита, он не дает никаких результатов и не влияет на скорость загрузки.
6. Некорректно настроен список файлов на уровне Apache и Nginx. Эти серверы предлагают множество методов кэширования разных видов контента, который изменяется под каждого пользователя. Без их подключения нагрузка растет, время отклика — увеличивается.
7. Не выполнен переход на PHP 8 и последнюю версию 1С-Битрикс. PHP 8 — более оптимизированный язык. Переход на него нужно было проводить локально, тщательно тестировать функций сайта, которые написаны под PHP. Обновление версии 1С-Битрикс также могло положительно повлиять на скорость загрузки.
8. Не работали фасетные индексы. Это индексы товаров по свойствам: например, производитель или id крупной категории. При отключении фасетных индексов очень сильно замедляется работа фильтров на сайте.
Проверили капчи, SSL-протокол, шифрование. Напрямую они не сильно влияют на скорость загрузки. Но если инструменты безопасности есть и работают корректно, сайт менее подвержен атакам, а при их попытках будет не так сильно подвисать. По результатам проверки выявили критические уязвимости:
1. Включен весь вывод ошибок в консоли. На боевой версии это дает излишнюю нагрузку. Его необходимо использовать только на тестовых или локальных копиях сайта.
2. Найден небезопасный файл adminer.php. Возможно, это вирус — если так, нужно было его удалить.
Проанализировали настройки безопасности
При аудите кода медленных страниц нашли многочисленные ошибки разработки. Из-за них возникали сложности:
загружался скрытый контент там, где это было не нужно;
сложно было перейти на PHP 8;
нельзя было включить Автокэширование.
Также на производительность сайта могли влиять настройки системы управления БД Mysql. Запросы к базам данных были сложными, неправильно написанными, поэтому долго обрабатывались.
Внутри баз не было разделения на подбазы, все данные хранились в слишком больших таблицах. Оптимизацией БД, чисткой временных и устаревших данных никто не занимался. Поэтому скорость отклика была низкой.
Выявили и сегментировали медленные страницы и компоненты, проверили скорость выполнения запросов к БД
Оставьте заявку на бесплатный аудит
За 40 минут мы разберем вашу задачу и выявим точки роста в проекте
Всеволод 9 лет в маркетинге, 6 лет в Digital
Нажимая кнопку «Отправить» я подтверждаю, что ознакомлен и согласен с обработкой своих персональных данных в соответствии с политикой конфиденциальности компании
Проработали точки роста
1. Оптимизировали умный фильтр (bitrix:catalog.smart.filter) и секции каталога (bitrix:catalog.section), переписали коды этих компонентов.
2. В компонентах с изображениями настроили кадрирование, добавили к тегам img параметр loading="lazy", чтобы отложить загрузку скрытых картинок.
3. Оптимизировали подключения файлов CSS и JS, стилей, скриптов.
4. В настройках главного модуля 1С-Битрикс включили следующие параметры:
объединять CSS файлы;
объединять JS файлы;
перемещать весь Javascript в конец страницы;
создавать сжатую копию объединенных CSS и JS файлов.
5. Исправили код сайта, включили Автокэширование и Управляемый кэш, провели отладку основных страниц.
6. Оптимизировали БД Mysql, конвертировали все таблицы в систему MyISAM. Она компактно хранит данные и не роняет производительность сайта.
7. Переписали главную страницу, перенесли все ее компоненты и контент из main.php в index.php. В файле шаблона некэшируемые запросы вынесли в специальные файлы в структуре «Битрикс».
Получили крутой результат
Если сравнить результаты с начальными показателями, то получается следующее:
Анализ скорости загрузки до и после релиза задач с кэшем.
С точки зрения пользователя сайт стал работать в разы быстрее, без подтормаживаний.
Суммарно на все задачи было потрачено 135 часов, бюджет составил 270 000 рублей.
Дорошкевич Артем
руководитель отдела продаж
С Умным маркетингом сотрудничаем с мая 2020 года по услуге SEO-продвижения и технической поддержке сайта. За время работ мы значительно увеличили трафик на сайт, а также подтянули техническое состояние сайта, внедрили много новых фишек, обновили некоторые ключевые элементы на сайте. К задачам команда подходит ответственно и вдумчиво, регулярно предлагая какие-либо улучшения. С уверенностью могу сказать, что доволен нашим сотрудничеством!
Отзыв клиента
Расскажите нам о своих задачах, а мы подберем эффективные инструменты
Напишите ваш вопрос, не забудьте указать телефон. Мы перезвоним и все расскажем.