Блог | Исследуем eldorado.ru

2014-04-24 | Моська

Наша Моська на этот раз набрела на сайт крупнейшей торговой сети по продаже бытовой техники http://www.eldorado.ru.

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

Это кажется невероятным

На этой странице АКИТ лежит любопытный документ, в котором генеральный директор "Эльдорадо" говорит: "Оборот интернет-канала в среднем составляет 9% от выручки компании, за август 2013 г. этот показатель уже достиг 12%. Сумма онлайн заказов доходит и до 100 млн. рублей в день."

Это похвально. Однако Моська не хвалит. Моська лает.

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

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

Протестируем время загрузки в популярных сервисах

Pingdom говорит, что этот сайт медленнее, чем 85% сайтов, прошедших тест.

Pingdom

WebPageTest.org загрузил сайт за 9 секунд.

GTMetrix.com за 12 секунд.

И нужно учитывать, что хоть тестирование идет с американских серверов, это все-таки тестирование сервер-сервер, на супербыстрых каналах.

Лично я, когда мне нужно что-то купить из "бытовухи", чаще пользуюсь услугами таких сайтов на мобильнике, чем на компьютере. Даже будучи подключенным к Wi-Fi, мой телефон потратил на загрузку сайта "Эльдорадо" 11 секунд. Когда я отключил Wi-Fi, и попытался загрузить с помощью мобильного интернета, то через полминуты бросил это дело, так и не дождавшись.

Уровень оптимизации

Конечно, эти тайминги мало о чем говорят. Ведь может быть просто сервер в данный момент перегружен. Или канал плохой. Поэтому важнее оценить уровень оптимизации, чтобы понять истинные причины медленной загрузки.

Рейтинг гугловского PageSpeed Insights - 51/100.

Google PageSpeed Insights

Наш сервис тоже дает невеселую картину.

Optimin

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

Смотрим дальше...

Optimin

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

47 хостов! Это огромное количество DNS запросов. А между тем DNS-кэш в браузерах сравнительно короткий. Даже при скором повторном посещении, когда вся статика будет еще в кэше, браузер все равно должен будет выполнить десятки DNS запросов, многие из которых блокируют загрузку страницы. Да зачем вообще могут понадобиться столько хостов на таком сайте?

Но это еще не самое смешное. Опция Keep-Alive включена для хоста www.eldorado.ru, который дает всего 5 элементов и ВЫКЛЮЧЕНА для static.eldorado.ru, который дает 118 элементов! Это для статики! Есть конечно мнение, что Keep-Alive не всегда выгодно включать для динамики, но специально не включить для статики... это что-то совсем новое в сайтостроении. Браузер должен тратить время на открытие и закрытие отдельного HTTP соединения для загрузки каждой несчастной картинки.

Эти две проблемы сами по себе уже способны убить весь мобильный трафик на eldorado.ru, но, как это ни удивительно, на сайте есть еще более безумные ошибки.

Ад скриптов и редиректов

Из отчета видно, что львиная доля штрафных очков приходится на количество скриптов на странице. 63 JavaScript-элемента. Да что с ними такое, они хотели выиграть какое-то пари, кто может поставить больше скриптов на сайт? Или может это какой-то тайный чемпионат JavaScript-мазохистов?

Optimin

И тут же видна ошибка номер один! Я считаю, что это самая главная проблема сайта.

Когда вам нужно загрузить элемент, вы его просто грузите по URL, правильно? А вот разработчики eldorado.ru предпочитают задать неправильный URL, а на сервере поставить редирект. Им так лучше.

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

Но это еще не все

Разработчики сайта знают, что такое URL fingerprinting, а именно, они добавляют время модификации к URL-ам таблиц стилей и скриптов, как тут:

http://www.eldorado.ru/bitrix/js/main/core/css/core.css?1341055283

Этот прием предназначен для агрессивного кешированмя. Но они почему-то ставят время жизни (Cache-Control) равным 259200 секунд, что соответствует 3-м суткам. Зачем? В данном случае можно ставить до года. Месяц - норма.

Само собой они не оптимизируют изображения должным образом (как же без этого). Неправильный выбор формата и недостаточное сжатие - обычное дело.

Есть и особо тяжелые случаи...

Картинка с сайта, формат - JPEG, размер - 397836 байт

Оригинал

Как она должна быть, формат - PNG-8, размер - 15098 байт

Сжатая версия

Это в 26 раз меньше!

Возможный ущерб

Несмотря на то, что сайт медленный, он все же не такой убитый, как сайт Райффайзенбанк, который стараниями студии А. Лебедева был, по всей видимости, совсем лишен трафика от google.ru. Эльдорадо повезло, что их сайтом занимается не студия номер 1 в России. Поэтому ущерб не включает значительную потерю трафика от поисковой системы Google. Они не перешли границу, за которой Google убирает сайт из выдачи.

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

На скоростном канале, конечно, безобразная оптимизация сайта не помешает пользователю ходить по страницам и не замечать проблем. Но Россия - большая страна. Далеко не везде есть интернет, который одновременно быстрый и дешевый. Кроме того, такие сайты часто посещают с помощью планшетов, мобильных телефонов и просто на ноутбуках в кафе. Легко представить себе ситуацию, когда, находясь в магазине "М.Видео", покупатель берет мобильник и смотрит, сколько стоит тот же самый товар в магазине "Эльдорадо", который расположен в двух минутах езды.

В ситуации медленный канал + медленный сайт возникает два сценария, в зависимости от скорости соединения:

  1. соединение очень медленное, и невозможно загрузить даже первую страницу из-за ее чрезмерной тяжести;
  2. соединение медленное, и не получается просмотреть то количество страниц, которое достаточно для принятия решения о покупке.

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

Поэтому я считаю, что сайт интернет-магазина не только должен загружаться на медленных каналах. Он должен быть быстрым на медленных каналах. А сайт eldorado.ru не только медленный, но часто и вообще не грузится.

Попробуем очень грубо прикинуть возможный ущерб. Продажи "Эльдорадо" в 2012 году составили 112 млрд рублей (за 2013 год данных не нашел). Если оборот интернет-канала доставляет 12% в этой сумме, то это 13.44 млрд в год. И эта цифра не учитывает те продажи, которые были вызваны посещением сайта и последующим визитом "ногами", без покупки онлайн. А я думаю таких еще больше, чем онлайн продаж. Ну пусть даже мы говорим только об онлайн продажах... Принимая во внимание информацию из исследований, ссылки на которые я приводил в предыдущей статье, я осмелюсь предположить, что плохая оптимизация сайта снижает выручку eldorado.ru не менее, чем на 10%. Это составляет 1.3 млрд рублей выручки в год. И это по самым-самым скромным подсчетам.

- Глеб