к.э.н. Лавлинский Николай, технический директор ООО «Метод Лаб»
Мы в «Метод Лаб» часто встречаемся с медленными сайтами клиентов, которые обращаются за услугой ускорения сайтов. С этой точки зрения, наше восприятие может быть искажено и не соответствовать действительности. Поэтому, обратимся к объективной статистике: httparchive.org.
По данным анализа более 480 тысяч URL, средний размер страницы (со всеми ресурсами) составляет более 2,2 Мб (мегабайт)! При этом, это в основном обычные веб-страницы: текст и картинки (более 1,5 Мб это как раз картинки, еще около 0,5 Мб это JS и CSS). Размер страницы только косвенно связан со скоростью загрузки (важна последовательность рендеринга страницы), но всё же видно, что есть проблемы. Тенденция состоит в том, что размер страницы уверенно растёт во времени, несмотря на усилия всех приверженцев веб-производительности.
В чем же проблема, может спросить читатель? Сейчас быстрый Интернет-доступ приходит во все дома, мощность устройств для просмотра растёт каждый год… А главная проблема в пользователях с плохими условиями просмотра вашего сайта. В первую очередь это канал, во вторую – мощность процессора. Например, почти всех мобильных пользователей можно отнести к проблемой аудитории. Мобильный интернет всё ещё на порядок медленнее проводного (и эта ситуация будет актуальной как минимум ближайшие 10-15 лет), мощность процессоров мобильных устройств также ограничена (особенно это касается бюджетных планшетов и смартфонов). Кроме того, пользователи из отдалённых регионов по отношению к серверу также могут испытывать проблемы со скоростью доступа к сайтам: из-за задержек в сети и потери пакетов.
Первая мысль, которая приходит в голову: тенденции дизайна диктуют наличие большого количества качественных фото, которые и раздувают страницы. А раз так, то и сделать ничего не получится без потерь в привлекательности страниц. Однако, если обратиться к глобальной статистике Google compression proxy (сервис по оптимизации трафика в Google Chrome), средний коэффициент оптимизации составляет 58%. То есть, эти страницы можно легко ужать в два раза без потерь функциональности и внешнего вида.
Получается, что разработчики сайтов грубо нарушают базовые принципы оптимизации контента для веба и не заботятся о пользователях.
Рассмотрим конкретные причины такого положения вещей.
В бюджетных (и не очень) сайтах часто используются готовые шаблоны страниц. Часто они не оптимизированы для скорости. Доработка этих шаблонов до требований заказчика добавляет новые JS-библиотеки и CSS-код. Дело в том, что такие горе-разработчики не могут или не хотят разобраться в назначении всех ресурсов готового шаблона и модифицируют его, только добавляя свои модули JS и дополнения CSS. В результате получаем раздутый код сайта и много лишнего трафика.
В этом сценарии разработчики сайта выполнили работу качественно, сайт при сдаче был достаточно быстрым. Однако, дальше наступает период самоподдержки сайта силами сотрудников компании или владельца сайта. Результат: грубые ошибки в размещении картинок, виджетов и сторонних сервисов, которые сводят на нет все усилия разработчиков по оптимизации сайта.
В данном контексте эта классическая фраза звучит как «у меня все работает быстро». Причины банальны: разработчики (и контент-менеджеры) не проводят замеров скорости сайта в реальных условиях, не знают размера страниц, критерии качества отсутствуют. Тестирование сайта (если вообще есть) производится «на глазок» с использованием быстрого компьютера с быстрым интернет-каналом (иногда вообще по локальной гигабитной сети). Результат: о проблеме с сайтом знают только пользователи, разработчик отметает все претензии, находясь в наивном неведении.
Если сайт разработан одной командой, но продолжает разрабатываться другими людьми, возможны проблемы. В данном случае, новые разработчики решают текущие задачи от заказчика, добавляя свою функциональность. Возникает дублирование, заброшенные части шаблонов (о назначении которых никому не известно), раздувается количество JS-плагинов, с которыми приходят новые CSS-файлы и картинки элементов управления. Если команды поддержки меняются несколько раз, ситуация усугубляется.
Исправление хронических проблем со скоростью сайта возможно. Если сайт еще в разработке и не сдан, то есть шанс потребовать оптимизации от разработчиков сайта (однако не факт, что это у них получится). В случае, когда сайт уже находится на стадии поддержки, лучше сразу обращаться к профессионалам по ускорению сайтов.