Исходные данные
Напомним, ранее мы разработали B2B-портал для этого клиента. Интернет-магазин содержит более 500 позиций в каталоге, включает личный кабинет пользователя и популярный форум.
Сейчас перед нами стояла задача провести углубленный технический аудит сайта, выявить скрытые технические проблемы, провести комплексную оптимизацию и тонкую настройку базы данных, для чего помимо веб-разработчики был привлечен эксперт по Linux.
Отправной точкой исследования сайта стала проверка его в сервисе Google Page Speed Insights. Результаты: десктоп — 38 баллов, мобильная версия — 18 баллов. Мы с клиентом пришли к единому мнению: портал необходимо ускорять, поскольку большая часть аудитории сайта пользуется Гуглом, а именно Гугл сегодня поощряет ускорение загрузки сайта, особенно на мобильных:
Рекомендации Google по скорости загрузки для мобильных менее 5 секунд в сетях 3G
Оценка скорости сайта согласно сервису Google Page Speed Insights до аудита и оптимизации:
В процессе нагрузочного тестирования сайта наблюдалось резкое увеличение времени ответа сервера уже при 8-9 подключениях — в среднем, 4,5 секунды. Более детальное исследование показало наиболее проблемное место сайта — главную страницу. Её время ответа при 8-9 подключениях составляло 6 секунд.
Столь высокое время ответа сервера приводило к серьезному уменьшению скорости загрузки сайта, что крайне отрицательно сказывалось на удобстве пользования сайтом и приводило к потере клиентов, которые не терпят долгого ожидания при загрузке страниц.
Подробнее об этапах аудита сайта
Технический аудит веб-сайта состоял из нескольких этапов: аудит серверной и публичной части сайта. В рамках тех. аудита сайта мы исследовали возможные ошибки, а затем устранили некоторые неисправности. Некоторые же рекомендации отложены на более поздние сроки.
I этап: Аудит серверной части сайта
Мы провели технический аудит сайта по собственному постоянно обновляемому чек-листу и выделили для проработки самые критичные ошибки:
- Для увеличения скорости загрузки была добавлена «ленивая подгрузка» (lazy load) для слайдеров на главной странице;
- Проведена оптимизации подключения JS-скриптов (теперь необязательные скрипты подключаются по мере необходимости) и сокращен HTML-код.
По результатам уже этих двух пунктов оценка скорости сайта повысилась с 38 до 55 баллов.
Сайт разработан на UMI, особенность ресурсов на данной CMS — это использование XSLT-шаблонов. Генерация списков товаров и категорий в каталоге, согласно нашей проверке, проходила достаточно медленно, в связи с чем оптимизирована логика ее работы.
Благодаря слаженной работе команды узкопрофильных ИТ-экспертов проведена серверная оптимизация:
- Произведена тонкая настройка базы данных на сервере. Добавлены индексы для ускорения работы и уменьшения ответа сервера. Обновлена версия используемой СУБД;
- Проведен поиск вирусов и вредоносных скриптов с помощью антивируса и веб-сервиса «Айболит». Прямых угроз безопасности выявлено не было, однако мы порекомендовали провести обновление программного обеспечения, используемого на сервере;
- После проверки времени ответа сервера (а он был слишком долгим на ряде страниц) найдены высоконагруженные узлы и оптимизированы используемые в них алгоритмы;
- В ходе аудита проверено среднее потребление оперативной памяти и состояние дискового пространства. Анализ ресурсов показал, что потребление оперативной памяти даже во время пиковых нагрузок не превышает 25%, и на текущий момент использовано 86% всего дискового пространства. Мы предупредили клиента, что в случае расширения ассортимента товаров ему потребуется увеличить объем жестких дисков, а вот мощность оперативной памяти необходимо будет увеличить только через полтора-два года;
- Проведен рефакторинг (перепроектирование) кода главной страницы, что позволило повысить эффективность взаимодействия между сайтом и базой данных и увеличить скорость загрузки страницы.
Как результат, показатель Google Page Speed Insights вырос до 86/100 на десктопе. Хотим отметить, что данный показатель был достигнут при отключении сервиса Вебвизор в Яндекс.Метрике. Однако, клиент от сервиса отказаться не готов — в данном случае, мы порекомендовали разместить сторонние скрипты в Google Tag Manager.
II этап: Аудит публичной части сайта
Сайт корректно отображается на смартфонах и планшетах, но только частично адаптирован для мобильных устройств — первыми адаптированы главная страница, каталог товаров и корзина. Мы дали рекомендации по адаптированию остальных разделов сайта, в приоритете – статьи и раздел обучения с высоким показателем отказов.
При проверке надежности верстки (корректная работа при добавлении или удалении реального текста, добавлении блоков) были выявлены и исправлены некоторые неточности, после чего показатель скорости сайта для мобильной версии также улучшился с 18 до 41 из 100.
Результаты
Аудит технической части сайта занял три дня. Затем в течение недели проведена оптимизация кода и серверной части, исправлены выявленные неточности и ошибки верстки. Работы по верстке адаптивной версии остальной части сайта поставлены в планы на ближайшие полгода.
Комплексный технический аудит веб-сайта помог найти технические ошибки, а последующие работы стабильно повысили скорость работы сайта, уменьшили время ответа сервера. Нагрузочное тестирование, проведенное после аудита, показало, что адекватное среднее время ответа сервера (до 2,5 секунд) сохраняется и при 35-37 одновременных активных пользователей (против 6-7 до оптимизации)
Оптимизация кода главной страницы очень положительно повлияла на скорость ее загрузки. На данный момент, время ответа сервера при обращении к главной странице не превышает средних значений в общем по сайту (менее 2 секунд при 32-33 одновременных активных пользователей), при этом главная страница является одной из наиболее «тяжелых».