Техническая поддержка

Как увеличить скорость загрузки сайта или интернет-магазина на Битрикс

Павел
Технический директор
Как ускорить загрузку сайта - KISLOROD
Наверное уже ни у кого не вызывает сомнения тот факт, что скорость загрузки сайта является очень важной метрикой при оценке его работы. От скорости зависит очень многое: от того, сколько времени на вашем сайте проведет потенциальный покупатель до того, на каком месте страницы сайта будут в поисковой выдаче.
Рассмотрим следующие вопросы:

  1. На что влияет скорость загрузки сайта;
  2. Как можно самостоятельно оценить техническое состояние сайта на 1С-Битрикс;
  3. Как мы проводим аудит веб-сайта и выявляем причины низкой производительности сайта;
  4. С какими проблемами чаще всего сталкиваемся;
  5. Рассмотрим несколько примеров из нашей практики.

Как скорость интернет-магазина влияет на конверсию и продажи

Продолжительное время загрузки страницы влияет негативно на пользовательский опыт — пользователи раздражаются и уходят с сайта. Ведь скорее всего вы не монополист, и на расстоянии клика можно найти более «шустрый» интернет-магазин с аналогичными товарами. В итоге уровень фактической конверсии и продаж в проекте намного ниже возможного.
Расскажем, как производительность сайта влияет на конверсию и поведение пользователей, как проверить скорость загрузки интернет-магазина и как ее при необходимости увеличить.

Исследования влияния на конверсию скорости загрузки страниц

Пользователи предпочитают быстрые интернет-магазины — чем выше скорость загрузки, тем лучше юзабилити. Когда взаимодействие с сайтом идет «гладко» и соответствует ожиданиям пользователей, это положительно сказывается не только на поисковом продвижении, но и на конверсии, в том числе и при повторных продажах — так как скорость интернет-магазина влияет на лояльность.
Всемирно известный маркетолог Нил Патель приводит такие данные:
  • 47% пользователей ожидают, что веб-сайт загрузится не более чем за 2 секунды;
  • 40% людей уходят с сайтов, если они загружаются более 3 секунд;
  • задержка загрузки только на секунду может привести к уменьшению конверсии на 7%.
Блог Hubspot сообщает, что:
  • 70% потребителей признают, что их готовность к покупке зависит от скорости сайта;
  • 50% опрошенных готовы отказаться от видео в пользу быстрой загрузки;
  • первые 5 секунд загрузки оказывают самое сильное влияние на конверсию, с каждой секундой коэффициент конверсии падает в среднем на 4,42%;
  • рекордные коэффициенты конверсии регистрируют на страницах, которые загружаются до 2 секунд.

Как производительность сайта на смартфоне влияет на конверсию

В условиях, когда мобильный трафик превышает десктопный, особое внимание нужно уделить скорости загрузки интернет-магазина на смартфонах. Большинство пользователей ожидают такой же производительности у мобильной версии сайта, как и у десктопной. К сожалению, несмотря на 4G-технологии, большинство мобильных страниц загружаются дольше, чем их десктопные аналоги.
Факты от Hubspot:
  • средняя загрузка страницы для мобильных устройств составляет 15,3 секунды;
  • когда время загрузки увеличивается с 1 до 10 секунд, вероятность отказа увеличивается на 123%.
Как и в случае с десктопом, если мобильный сайт будет грузиться долго, он потеряет потенциальных клиентов.
Хочу привести пример из нашей практики. На графике выделен период, во время которого мы проводили работы по повышению скорости интернет-магазина. После этого произошел значительный рост конверсии.
Конверсия после ускорения работы сайта - KISLOROD
Отправьте заявку на юзабилити-аудит сайта прямо сейчас и увеличьте конверсию минимум на 20%! Найдём точки роста конверсии и выявим барьеры на пути пользователей сайта.
И даже если вы добьетесь приемлемой скорости веб-сайта (по мнению Битрикс это меньше 1,5 сек) - расслабляться рано. Не самая простая задача - это удержаться на достигнутом уровне. Но как это сделать? Не проводить же всё время ручное тестирование, чтобы повысить производительность сайта.

В части мониторинга серверов мы эту проблему решили с помощью Zabbix.
Мониторинг скорости сервера и сайта - KISLOROD
Zabbix - это программное обеспечение для мониторинга многочисленных параметров сети, жизнеспособности и целостности серверов. Сервис использует гибкий механизм оповещений, отправляя на e-mail уведомления практически по любому важному событию в работе сервера. Это позволяет быстро реагировать на проблемы с серверами. Zabbix предлагает отличные функции отчетности и визуализации информации, основанной на данных истории.

Особенно он полезен тем, что позволяет в динамике увидеть, как изменяется скорость при различных доп.нагрузках на сайт - выгрузки, обмены и т.п.).

Как оценить влияние скорости загрузки страниц сайта или интернет-магазина на конверсию

Прежде чем начать работу над скоростью интернет-магазина, целесообразно установить цель. Как показывают результаты исследований, которые мы привели выше, оптимальная скорость загрузки составляет менее 3 секунд. Этому критерию соответствует очень мало сайтов. С одной стороны, вам придется постараться, чтобы достичь такой высокой планки. С другой стороны — если вы ее достигнете, то опередите большинство конкурентов в своём сегменте электронной коммерции.
Есть несколько способов, позволяющих оценить скорость сайта, но мы в KISLOROD приняли решение всегда опираться на показатель «Среднее время загрузки страницы» в Google Analytics. Преимущества инструмента:
  • Google Analytics подключена на большинстве сайтов,
  • статистика собирается на реальных пользователях,
  • можно отслеживать скорость в динамике,
  • можно посмотреть значение на разных типах усфтройств.
Чтобы воспользоваться инструментом, выберите раздел «Скорость загрузки страниц сайта» — «Время загрузки страниц».
Мониторинг скорости сервера и сайта - KISLOROD
Раздел «Скорость загрузки страниц сайта» в Google Analytics
Вы увидите постраничную разбивку сайта с общей скоростью загрузки каждой страницы в сравнении со средним значением.
Мониторинг скорости сервера и сайта - KISLOROD
Постраничная разбивка сайта с общей скоростью загрузки страниц
Дополнительно можно сегментировать статистику для мобильных устройств. Для этого нужно нажать «Добавить сегмент» и выбрать «Мобильный трафик».
Мониторинг скорости сервера и сайта - KISLOROD
Скорость загрузки страниц для мобильного трафика

Как самостоятельно провести технический анализ производительности сайта

Когда необходимо задумываться о проведении технического аудита веб-сайта для повышения производительности сайта? Когда есть проблемы с сайтом. Но, такой ответ еще больше вводит в ступор людей, далеких от разработки.

Как понять, что с сайтом или интернет-магазином проблемы? Куда смотреть и что делать чтобы найти эти проблемы самостоятельно? В этой части статьи я покажу, как можно самостоятельно провести аудит интернет-магазина с помощью стандартных инструментов Битрикс, не прибегая к услугам разработчиков.
ВНИМАНИЕ! Если вы не обладаете компетенциями в программировании - не меняйте ничего в коде сайта, тем более через административную панель и, особенно, в файле "/php_interface/init.php" (официальная.документация поэтому файлу https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2916). В противном случае, можно легко "сломать" сайт и вернуть его работоспособность получится только имея доступы к серверу по ssh или ftp (если эти слова для вас пустой звук - тогда вам точно не надо лезть в код).

Давайте сначала разберемся, в каких случаях точно необходимо проводить проверку производительности сайта

  1. Медленная скорость работы сайта - это причина №1, т.к. ее легко заметить и она сильнее всего раздражает;
  2. Сайт работает с ошибками - чаще всего такие ситуации наблюдаются на отдельных страницах (каталог товаров, корзина, оформление заказа);
  3. Сайт стал тормозить/появились ошибки после переезда на другой хостинг;
  4. Сайт стал тормозить/появились ошибки после внедрения нового функционала (изменение в программном коде и т.п.);
  5. Сайт стал тормозить/появились ошибки после или в процессе обмена с 1С или другой аналогичной системой/сервисом;
  6. Административная панель работает медленно;
  7. Вы сомневаетесь в компетенциях разработчиков, которые работают/работали с вашим сайтом;
  8. Есть подозрения, что на сайте "завелись" вирусы.
Это 90% основных причин, наталкивающих на мысли о проведении технического аудита интернет-магазина.

Какие инструменты анализа есть в Битриксе

В Битриксе "из коробки" уже есть достаточно инструментов для самостоятельного анализа.
Начинать проверку сайта необходимо с инструмента с говорящим названием "Проверка системы".
ПРОВЕРКА СИСТЕМЫ

Описание: проверяет соответствие параметров системы, на которой работает сайт, минимальным и рекомендуемым требованиям
Где находится: Рабочий стол > Настройки > Инструменты > Проверка системы

Как проверяем:
Переходим на страницу "Проверка системы" и нажимаем "Начать тестирование"
Проверка системы в интернет-магазине на 1С Битрикс - KISLOROD
Результат проверки: после прохождения тестирования в идеале должны быть только пройденные тесты (но это, увы, маловероятно).
Общая работа сайта после анализа производительности сайта - KISLOROD
Могут встречаться замечания (это не критичные ошибки - жить с ними можно, но желательно их всё же исправить).
Замечания после проверки производительности сайта - KISLOROD
Если в отчете есть ошибки - их надо будет исправлять в первую очередь, т.к. они почти наверняка влияют на работу сайта. Напротив каждой ошибки, есть ее подробное описание (1), так же, некоторые ошибки можно исправить на этой же странице (2). Только имейте в виду, что перед исправлением ошибок, необходимо сделать резервную копию.
Ошибки после оценки производительности сайта - KISLOROD
На этой же странице есть закладка "Проверка доступа".
Цитата из официальной документации: "Здесь выполняется проверка доступности дисков физической системы не только на чтение, но и на запись. Это необходимо для управления структурой сайта, загрузки файлов, а также для работы системы обновлений, которая обновляет ядро сайта до последней версии."

Запуск теста - аналогичен проверке системы:
1. Переходим на вкладку "Проверка доступа"
2. Нажимаем на "Проверить"
Проверка доступа к системе на 1С Битрикс - KISLOROD
Ссылка на документацию: https://dev.1c-bitrix.ru/learning/course/?COURSE_I...

ПРОВЕРКА / ВОССТАНОВЛЕНИЕ ТАБЛИЦ

Описание: проверяет и восстановление таблиц базы данных (перед восстановлением таблиц БД необходимо сделать резервную копию базы данных)
Где находится: Рабочий стол > Настройки > Инструменты > Диагностика > Проверка БД

Как проверяем:
переходим на страницу "Проверка / восстановление таблиц" и нажимаем "Проверить / восстановить таблицы
Проверка/восстановление системы на 1С Битрикс - KISLOROD
Результат проверки: если результат проверки по всем таблицам "ОК" - с базой всё в порядке, в противном случае необходимо выполнить восстановление таблиц
Отправьте заявку на юзабилити-аудит сайта прямо сейчас и увеличьте конверсию минимум на 20%! Найдём точки роста конверсии и выявим барьеры на пути пользователей сайта.
Проверка системы и таблица в мониторинге производительности - KISLOROD
Ссылка на документацию: https://dev.1c-bitrix.ru/learning/course/?COURSE_I...

МОНИТОР КАЧЕСТВА

Описание: проверка качества проекта, с помощью автоматизированных и ручных тестов по многим параметрам
Где находится: Рабочий стол > Настройки > Инструменты > Монитор качества

Как проверяем:
переходим на страницу "Монитор качества и нажимаем "Тестировать проект"
Мониторинг качества сайта на Bitrix - KISLOROD
Результат проверки: после завершения тестирования появится модальное окно с результатами. Особое внимание надо уделять не пройденным тестам.
Результаты автотестирования скорости загрузки страниц сайта - KISLOROD
В списке проведенных тестов не пройденные автоматизированные тесты выделяются красным и при клике по ним появляется дополнительная информация и рекомендации по устранению ошибок.
Настройка компонентов в Битрикс - KISLOROD
Ссылка на документацию: https://dev.1c-bitrix.ru/learning/course/?COURSE_I...

СКОРОСТЬ САЙТА

Описание: комплексный показатель, рассчитываемый на основании отображения сайта для 1000 последних посетителей
Где находится: Рабочий стол > Настройки > Производительность > Скорость сайта
Также есть виджет на главной странице в админ. панели
Мониторинг скорости загрузки сайта на Bitrix - KISLOROD
Получайте полезный контент от KISLOROD в любой из мессенджеров
При переходе в одну из указанных социальных сетей, вы автоматически соглашаетесь с политикой конфиденциальности
Как проверяем: для этого теста ничего запускать не нужно.
Результат проверки: результатом является обобщенный показатель в секундах. Тут, разумеется, чем меньше, тем лучше. При наведении курсора на графики "Распределение скорости сайта по времени" и "Последние посещения сайта" появляется окно с дополнительной информацией в разрезе страниц (чем меньше значение показателей - тем лучше)
Ссылка на документацию: https://dev.1c-bitrix.ru/community/blogs/product_f...

ПАНЕЛЬ ПРОИЗВОДИТЕЛЬНОСТИ

Описание: панель производительности позволяет определить
1. Не оптимальные настройки сервера
2. Ошибки в настройке Битрикс
3. Ошибки разработки
Где находится: Рабочий стол > Настройки > Производительность > Панель производительности

Как проверяем:

1. Переходим на страницу "Панель производительности"
2. Выставляем продолжительность проведения тестирования - тут может быть два варианта. Если на вашем сайте есть трафик - выставляйте 1 час, если посещаемости нет - выбирайте 10 минут.
3. Нажимаем на "Тестировать производительность"
4. Если посещаемости на сайте нет - придется во время тестирования прогуляться по страницам сайта самостоятельно (поэтому для таких случаев в пункте 2 мы выбрали 10 минут), но не просто открывая страницы, а выполняя действия покупателей: искать и фильтровать товары, добавлять в корзину и т.п.
Панель производительности на Битрикс - KISLOROD
Результат проверки: после завершения тестирования выводится оценка производительности сайта. Результат выше 40 - можно считать положительным, но чем больше - тем лучше. Для дополнительного анализа необходимо изучить информацию из вкладок:
Конфигурация - отображается производительность сервера в сравнении с эталоном (в идеале все показатели должны быть равны или больше эталонных);
Битрикс (не оптимально) - отображаются настройки Битрикс. Чем меньше рекомендаций по настройке - тем лучше;
Разработка - выводятся 20 наиболее нагруженных страниц, у которых есть ошибки разработки (разумеется, чем меньше ошибок - тем лучше)
Примечание: наиболее посещаемые страницы нам еще понадобятся для более глубокого анализа
Ссылка на документацию: https://dev.1c-bitrix.ru/learning/course/index.php...

НАСТРОЙКИ КЕШИРОВАНИЯ

Описание: кеширование позволяет обращаться к данным без дополнительных запросов в базу данных, вследствие чего достигается более высокая скорость работы сайта
Где находится: Рабочий стол > Настройки > Настройки продукта > Автокеширование

Как проверяем:

1. Переходим на страницу "Настройки кеширования"
2. Переходим на закладку "Кеширование компонентов" и убеждаемся, что автокеширование компонентов включено.
Настройка кэширования в Битрикс для увеличения скорости станиц - KISLOROD
3. Переходим на закладку "Управляемый кеш" и убеждаемся, что он включен
Настройка управляемого кэширования - KISLOROD
Результат проверки: если на какой-либо закладке выключен кеш - это может означать:
  1. Что ваши разработчики просто забыли его включить;
  2. Кеш отключен специально, т.к. при его включении появляются баги на сайте (мы с такими случаями сталкивались не раз, поэтому после включения кеша мы проводим всестороннее тестирование сайта);
  3. Даже если кеш включен - это не может быть 100% гарантией того, что он эффективно работает, т.к. на его работу влияют несколько факторов (верно ли задано время жизни кеша, включен ли кеш в настройках компонентов и т.п.)

Ссылка на документацию: https://dev.1c-bitrix.ru/learning/course/?COURSE_I...

КОМПОЗИТНЫЙ САЙТ

Описание: технология, позволяющая многократно повысить скорость сайта
Где находится: Рабочий стол > Настройки > Настройки продукта > Композитный сайт > Настройки

Как проверяем:
  1. Заходим на страницу "Композитный сайт"
  2. Переходим на закладку "АвтоКомпозит". Если на странице присутствует кнопка "Включить АвтоКомпозит" - значит он не включен на сайте
Настройка автокомпозита в Битрикс - KISLOROD
3. Переходим на закладку "Композит". Если на странице присутствует кнопка "Включить композит" - значит на сайте не включен композитный режим.
Включение композита в Битрикс - KISLOROD
Внимание: одновременно нельзя включить "Композит" и "Автокомпозит".
Результат проверки: если один из композитных режимов включен - это еще не повод радоваться. Чтобы убедиться, что композит работает, необходимо перейти по адресу:
Настройки > Настройки продукта > Композитный сайт > Страницы
В списке композитных страниц отображаются все сохраненные кеши страниц

Если какой то страницы нет в списке, то необходимо:
  1. перейти на страницу отладки по адресу Настройки > Настройки продукта > Композитный сайт > Отладка;
  2. запустить отладку на требуемое количество времени (в это время необходимо пройтись по проблемным страницам сайта);
  3. после завершения отладки проанализировать список ошибок (если вы не разбираетесь в программировании - это сделать вам будем проблематично и лучше обратиться за помощью к компетентным специалистам).

Ссылка на документацию: https://dev.1c-bitrix.ru/learning/course/?COURSE_I...

ФАСЕТНЫЕ ИНДЕКСЫ

Описание: фасетные индексы значительно ускоряют работу умного фильтра в каталоге товаров
Где находится: Контент > Инфоблоки > Фасетные индексы

Как проверяем:
  1. Заходим на страницу "Фасетные индексы инфоблоков"
  2. В списке должен быть инфоблок используемого каталога

Результат проверки:
Если индекс есть, но он отмечен красным маркером - значит он не активен. Чтобы его создать, необходимо нажать на одноименную ссылку.
Создание фасетных индексов инфоблоков - KISLOROD
Ссылка на документацию: https://dev.1c-bitrix.ru/learning/course/?COURSE_I...

PageSpeed Insights
Этот инструмент не относится к Битрикс, но позволяет проанализировать содержание страницы сайта и предлагает решения, направленные на ускорение ее загрузки. В нашем блоге есть статья, где мы подробно описываем, как выполняется оптимизация сайта под Google PageSpeed.

Проверяем версию PHP
Для этого переходим по адресу Настройки > Производительность > PHP и смотрим на строку "Версия PHP". Если значение будет начинаться на 5.6+ - значит ваш сайт работает на старой версии и переход на новую (7+) заметно прибавит скорости вашему сайту.
Монитор производительности PHP - KISLOROD
Отправьте заявку на юзабилити-аудит сайта прямо сейчас и увеличьте конверсию минимум на 20%! Найдём точки роста конверсии и выявим барьеры на пути пользователей сайта.
Проверяем, работает ли объединение и сжатие CSS и JS на сайте

Для этого необходимо перейти в настройки "Главного модуля" (вкладка "Настройки", раздел "Оптимизация CSS". Следующие чекбоксы должны быть активными:
  • Объединять CSS файлы;
  • Объединять JS файлы;
  • Подключать минифицированные версии CSS и JS файлов;
  • Переместить весь Javascript в конец страницы

Внимание! Эти настройки будут работать только при правильном подключении стилей и скриптов, но определить это по силам только компетентным специалистам.
Проверяем, работает ли объединение и сжатие CSS и JS на сайте - KISLOROD

А есть еще инструменты для самостоятельного анализа скорости загрузки сайта на Bitrix?

В принципе, если вы проделаете все вышеперечисленные тесты - у вас будет уже более-менее объективная информация о проблемах на вашем сайте, но, если вы не хотите на этом останавливаться, есть еще несколько инструментов, которые позволят вам "копнуть глубже".
Режим "Отладка"
Позволяет получить информацию по скорости исполнения страницы, а также информацию по запросам и кеше.

Чтобы включить этот режим необходимо кликнуть по кнопке "Отладка" в админ.панеле в публичной части сайта (убедитесь до этого, что все пункты выпадающего меню этой кнопки включены)
Инструмент для самостоятельного анализа скорости загрузки сайта на Bitrix - KISLOROD
Перевод таблиц БД в InnoDB
  1. Переходим в Настройки > Производительность > Таблицы
  2. Смотрим значение столбца "Тип" - если оно InnoDB, тогда всё в порядке, если MyISAM - необходима их преобразование.

В Битриксе есть еще инструменты/способы, направленные на увеличение производительности сайта. Но они требуют хорошего понимания работы системы,поэтому мне остается их лишь упомянуть:
  1. Анализ и создание SQL индексов
  2. Отключение неиспользуемых модулей
Желательно не обходить стороной и модуль "Проактивная защита". Она напрямую не влияет на производительность (хотя отключение "Веб-антивируса" дает прирост скорости в 0,1-0,2 секунды, - прежде, чем это делать, взвесьте все "за" и "против"), но всё же стоит выполнить все рекомендации на странице "Настройки > Проактивная защита > Панель безопасности" и регулярно запускать "Сканер безопасности".
Панель производительности в Битрикс - KISLOROD

По какому алгоритму мы проводим аудит сайта

Если вы осилили все пункты из раздела "Как самостоятельно провести технический аудит анализ производительности сайта", значит у вас получилось сделать один из 7 этапов, которые входят в наш технический аудит. Проведение качественного технического аудита - это кропотливая работа, которую в нашем агентстве выполняет слаженная команда специалистов, состоящая из:

  1. Аккаунт-менеджера;
  2. Минимум двух разработчиков;
  3. Системного администратора;
  4. Тестировщика;
  5. Аналитика/seo-специалиста.

Каждый из них проводит аудит по уже отточенным (в течении множества аудитов) процессам. После каждого нового аудита мы проводим ретроспективу и, если необходимо, вносим изменения/дополнения в наш процесс.

Согласитесь, сложно провести аудит в одиночку, обладая всеми компетенциями одновременно, да и времени на такой аудит уйдет немало.

Процесс по проведению технического аудита состоит из следующих шагов:

  1. Подбор команды для проведения аудита;
  2. Брифинг с командой и распределение задач в зависимости от купленного клиентом пакета работ;
  3. Непосредственное проведение аудита;
  4. Создание отчета.

Из чего, непосредственно, состоит сам технический аудит

  1. Анализ сервера и серверной архитектуры - на этом этапе мы всесторонне проверяем сервер проекта (конфигурацию, настройки, наличие автоматических систем мониторинга и т.п.). В общей сложности выполняем более 10 различных тестов.
  2. Прохождение стандартных тестов 1С-Битрикс - здесь мы выполняем все работы, из главы "Как самостоятельно провести аудит сайта" и, кроме того, анализируем "мусорные файлы" в корне сайта, анализируем агенты и способ их вызова.
  3. Анализ кода и программной архитектуры сайта - один из самых объемных и важных этапов нашего тестирования. В рамках него мы проверяем шаблоны сайта, код используемых компонентов, всевозможные обработчики и т.п. Также обращаем внимание на программную архитектуру, наличие системы контроля версий.
  4. Frontend-тестирование - на этом этапе мы проводим кроссбраузерное и кроссплатформенное тестирование верстки. Тестируем как на реальных устройствах (их парк постоянно пополняем), так и активно используем сервис Browserstack, который позволяет автоматизировать часть работ. Но версткой на этом этапе мы не ограничиваемся - мы также изучаем ошибки в JavaScript и анализируем сайт в PageSpeed Insights.
  5. Нагрузочное тестирование - мы проводим нагрузочное тестирование по каждому типу страниц на сайте и по разным сценариям (т.к. нагрузка от посещаемости растет не в арифметической, а в геометрической прогрессии, поэтому мы проводим тестирование с разной нагрузкой). Также, на данном этапе, мы анализируем настройки ПО сервера для требуемой нагрузки.
  6. Функциональное тестирование - тестируем наиболее важные функциональные страницы и блоки интернет-магазина (поиск, каталог, корзина, оформление заказа и т.п.). Для этого мы выполняем как стандартные тест-кейсы, так и не стандартные, зависящие от специфики сайта.
  7. Технический SEO-аудит - проводим ручную и автоматическую проверку по 16+ важным параметрам на соответствие требованиям поисковых систем.

Какой результат проведенного технического аудита?

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

Сколько по времени занимает проведение аудита?

Всё зависит от сайта, по которому будет проводиться аудит. Небольшие/средние интернет-магазины анализируются за одну неделю
План аудита по анализу производительности сайта - KISLOROD
Код проверки производительности сайта - KISLOROD

С какими проблемами мы сталкивались

При проведении аудита мы чаще всего сталкиваемся с "типовыми" ошибками, но бывают и нестандартные случаи. Ниже я приведу список некоторых из них, чтобы вы знали, чего делать точно не следует.

Ошибки при анализе сервера

Чаще всего в процессе аудита встречались сервера, которые были когда-то настроены и с тех пор там никто ничего не оптимизировал. В итоге имеем старый софт, с которым производительность сайта на достаточно низком уровне. Например - это PHP 5.x версий и т.п.

Также встречается ситуация, когда сайт установлен в среду какой-либо панели управления, например ISP Manager, а хостер не обеспечивает оптимальные параметры для сайта на Битрикс. Например используется директива open_basedir или не установлен\неправильно настроен модуль OPCache.

В таком случае существуют 2 решения, либо обновить софт и настроить параметры, либо перенести сайт на новый VPS-сервер с актуальной версией Битрикс-окружения, в котором 95% параметров уже оптимизировано для работы сайта на Битрикс.
Ошибки при анализе сервера сайта - KISLOROD
Практически в каждом аудите сталкиваемся с ситуацией, когда не было создано ни одного индекса в базе данных сайта. На нагруженных проектах одно только создание индексов способно существенно уменьшить нагрузку на БД.
Ошибки при анализе сервера сайта на Битрикс - KISLOROD
Достаточно нестандартная ситуация, когда страница каталога генерировала более 1500 запросов к базе данных и при нагрузочном тестировании сайт не выдерживал и 10 RPS (количество запросов в секунду). В таком случае без оптимизации программного кода точно не обойтись.

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

Ошибки при анализе кода

Проблема №1, которая встречается практически всегда при аудите - это запросы в циклах и
выборка, без указания конкретных полей в $arSelect.

Встречаются и более интересные случаи. Вот несколько примеров:

Пример 1
Клиентом была запущена рекламная компания, вследствии чего трафик на сайт возрос. В самый пик заказы формировались каждые 1-3 минут. В публичной части стали проявляться небольшие "тормоза", а нагрузка на БД выросла значительно. Для анализа ситуации мы включили сбор SQL запросов. После изучения запросов был создан индекс для "b_sale_discount_entities". Результат: нагрузка на БД сократилась на 50%.

Пример 2
Многие модули Битрикс и решения из http://marketplace.1c-bitrix.ru подписываются на события системы, тем самым замедляя работу сайта (и в публичной и в административной части). В данном примере, на сайте клиента было установлено большое количество модулей расчета доставки, но, по факту, использовались только два. Их в итоге и оставили, а остальные удалили. Также включили сбор SQL запросов и при их анализе составили список таблиц модулей, работающих на сайте. После сравнения этого списка с теми модулями, которые действительно необходимы - лишние были удалены. После всех этих действий удалось значительно сократить время отклика сервера.

Пример 3
На сайте клиента отправка форм происходила с большими задержками. Нами было проведено профилирование с помощью XHProf и мы достаточно быстро нашли функцию, которая отрабатывала за целых 2 секунды. После ее рефакторинга скорость отработки уменьшилась до 0,015 сек - тем самым была полностью восстановлена работоспособность форм.
Отправьте заявку на юзабилити-аудит сайта прямо сейчас и увеличьте конверсию минимум на 20%! Найдём точки роста конверсии и выявим барьеры на пути пользователей сайта.

Другие типы ошибок

Встречаются ошибки архитектурного характера. Показателен пример одного сайта, который поступил к нам на аудит с формулировкой "с ним невозможно работать". При анализе выяснилось, что в инфоблоке каталога товаров около 5000 свойств и почти 500 000 элементов. Административная панель еле открывалась. Нами был предложен вариант разделения одного инфоблока на несколько (Раздел каталога = Инфоблок) и/или переносом свойств в HighLoad-блоки. Также большой рефакторинг предстоял в публичной части каталога.

Выводы и заключение

Скорость загрузки сайта является важным показателем и работы по ее оптимизации и мониторингу не должны быть разовыми, т.к. сайт постоянно развивается. Часть работ по аудиту можно выполнить самостоятельно, но остальные работы и, прежде всего, по оптимизации, лучше доверить профессионалам. Т.к. сайт - это неотъемлемая часть вашего бизнеса, стоимость ошибки может быть слишком высока.

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

А если у вас нет времени/желания/компетенций для проведения аудита и оптимизации скорости загрузки сайта - обращайтесь к нам, мы вам обязательно поможем!
Получайте полезный контент от KISLOROD в любой из мессенджеров
При переходе в одну из указанных социальных сетей, вы автоматически соглашаетесь с политикой конфиденциальности
Спасибо, что дочитали до конца.
Если информация была полезна, поделитесь статьёй. Вам не сложно, нам приятно ;)

Рекомендованные статьи

Скачайте 17 точек роста и 100 + чекеров для роста конверсии и прибыли интернет-магазина
При переходе в одну из указанных социальных сетей, вы автоматически соглашаетесь с политикой конфиденциальности
Мы проанализировали ведущие интернет-магазины, результаты исследований, свой опыт и собрали важные моменты в одно руководство. Делаем e-commerce лучше, поэтому не только пользуемся сами, но и делимся с вами.
Выберите удобный мессенджер и получите чек-лист прямо сейчас: