Бесконечная прокрутка, разбивка на страницы или кнопки «Загрузить еще»?

Какой способ отображения товаров на сайте электронной коммерции лучше: разбивка на страницы, кнопка «Загрузить еще» или бесконечная прокрутка?
В этой статье мы рассмотрим результаты исследований Baymard Institute юзабилити кнопок «Загрузить еще», бесконечной прокрутки и разбивки на страницы. А также рассмотрим лучшие примеры реализации.

Результаты тестов

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

Результаты тестов

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

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

Результаты тестов - 2

На сайтах с бесконечной прокруткой пользователи часто просматривают сотню или даже несколько сотен товаров. Чего они никогда не делают на сайтах с пагинацией и с кнопками «Загрузить еще». Хотя это касается только первых 50-150 продуктов.

Бесконечная прокрутка в некоторых случаях препятствует доступу пользователей к подвалу сайта. При ее использовании результаты постоянно загружаются по мере приближения к нижней части списка. Из-за этого пользователь видит футер в течение нескольких секунд.

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

На сайтах с кнопками «Загрузить еще» пользователи исследовали больше товаров, чем на сайтах с разбивкой на страницы.

Одним из преимуществ кнопки «Загрузить еще» и бесконечной прокрутки является то, что список товаров увеличивается, а результаты не замещаются.
Кнопка «Загрузить еще» позволяет пользователю более легко сравнивать продукты. Наличие сводного списка товаров значительно облегчают выбор товара.

Какой же метод загрузки использовать? Тестирование показало, что ни один из вариантов не является идеальным. Различные контексты требовали реализации одного из трех способов:

  • Для категорий используйте комбинацию кнопки «Загрузить еще» и «отложенной загрузки».
  • Для поиска используйте кнопку «Загрузить еще».
  • На мобильном устройстве используйте кнопку «Загрузить еще», но по умолчанию загружайте меньшее количество товаров.

Примечание. Эти данные применимы только к коммерческим ресурсам.

«Загрузить еще» для категорий

Благодаря проведенному исследованию мы нашли оптимальное решение для загрузки новых товаров в категориях, заключающееся в объединении кнопки «Загрузить еще» с бесконечной прокруткой в виде отложенной загрузки. Покажите от 10 до 30 товаров при начальной загрузке страницы, а затем отложено подгружайте еще по 10-30 товаров, пока не достигнете от 50 до 100 товаров. После этого отобразите кнопку «Загрузить еще».

После нажатия этой кнопки покажите еще 10-30 товаров и возобновите отложенную загрузку до тех пор, пока не загрузятся следующие 50 - 100 товаров, после чего еще раз выведите кнопку «Загрузить еще».
Порог кнопки «Загрузить еще» в 50 - 100 элементов определяет, когда следует прерывать пользователя. Порог отложенной загрузки - это оптимизация производительности для уменьшения времени загрузки и нагрузки на сервер.

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

«Загрузить еще» для категорий

Crutchfield использует кнопку «Загрузить еще» в сочетании с отложенной загрузкой. Первые 20 товаров загружаются по умолчанию. После того, как пользователи перейдут к 10-ому товару, Crutchfield подгружает еще 20. После 40-го элемента пользователю выводится кнопка «Загрузить еще».

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

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

«Загрузить еще» для результатов поиска

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

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

В результаты поиска по умолчанию должны загружаться только 25 - 75 продуктов. При этом нельзя использовать бесконечную прокрутку. Пагинация или кнопка «Загрузить еще» более уместны для результатов поиска, а поскольку они не поощряют быстрое сканирование большого количества товаров, пользователь гораздо больше сосредоточится на изучении первого набора результатов. На самом деле, из-за меньшего количества результатов, отложенная загрузка не является обязательным требованием (но, если она реализована для навигации по категориям, ее можно использовать повторно).

«Загрузить еще» для результатов поиска

При реализации кнопки «Загрузить еще» пользователи получают естественный разрыв, потому что релевантность результатов уменьшается (в отличие от бесконечной прокрутки). Но у них все еще есть возможность сравнить первый набор результатов со вторым (в отличие от пагинации).

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

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

Кнопки «Загрузить еще» для мобильных устройств

Кнопки «Загрузить еще» для мобильных устройств

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

Кнопки «Загрузить еще» для мобильных устройств - 2

Бесконечная прокрутка для длинного списка товаров может сделать футер недоступным: постоянно загружающиеся новые результаты сдвинут его вниз.

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

Кнопка «Загрузить больше результатов» предлагает множество преимуществ бесконечной прокрутки при сохранении доступа к футеру.

Поэтому лучшим решением является наличие одной большой кнопки «Загрузить еще», расположенной в конце списка продуктов. Но мобильные устройства обладают некоторыми ограничениями:

  • Меньше фактического пространства.

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

  • Ограничения прокрутки.

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

  • Медленная прокрутка.

Из-за меньшего контроля над непрерывной прокруткой списка товаров.

  • События JavaScript.

Для запуска событий JavaScript на большинстве сенсорных устройств не может использоваться метод динамической отложенной загрузки. Событие срабатывает только после завершения прокрутки. Поэтому товары не могут быть извлечены во время скроллинга.

Поэтому мы рекомендуем на мобильных устройствах загружать только 15-30 товаров, прежде чем показывать кнопку «Загрузить еще». А после этого загружать весь остальной ассортимент.

Поддержка кнопки «Назад» с помощью history.pushState

Динамическая загрузка контента с помощью аккордеонов, фильтров фильтры и AJAX- часто не соответствует ожиданиям пользователей относительного того, как должна работать кнопка "Назад".
Метод «Загрузить еще» требует внимательного рассмотрения действия кнопки «Назад». Важно, чтобы нажимая кнопку браузера «Назад» пользователь возвращался в то же место списка товаров.

Мы выяснили, что на 90% сайтов электронной коммерции, где используется кнопка «Загрузить еще», это сделано неправильно. Это препятствует перемещению пользователя по разделам списка товаров на той же вкладке.

Поддержка кнопки «Назад» с помощью history.pushState

Skechers перезаписывает URL-адрес каждый раз, когда пользователь нажимает кнопку «Загрузить еще». Когда пользователь нажимает ее, чтобы вернуться, он попадает в нужное место в списке товаров.

Поддержка кнопки «Назад» с помощью history.pushState - 2

Skechers

Skechers

History API HTML5 позволяет соответствовать ожиданиям пользователей. В частности, функция history.pushState() позволяет изменять URL-адрес без перезагрузки страницы. Это соответствует поведению браузерной кнопки «Назад», которое ожидает пользователь. Браузер запоминает пользовательскую позицию прокрутки. Но нужно обеспечить, чтобы при нажатии на кнопку "Загрузить еще" загружались элементы по умолчанию, когда пользователь возвращается.

Кнопка «Загрузить еще» не должна быть основным приоритетом

Метод загрузки товаров – это не главное, на что большинству интернет-магазинов стоит обращать внимание при разработке сайта.

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

Это не значит, что метод загрузки не является важным. Он может значительно влиять на процесс просмотра товаров пользователями. Это просто не должно быть в верхней части списка необходимых изменений для большинства веб-сайтов, которые все еще имеют ряд проблем. Использование кнопки «Загрузить больше» более актуально для тех сайтов, которые стремятся к совершенству UX.

«Загрузить больше» в сравнении с бесконечной прокруткой и разбивкой на страницы

На основе наших тестов мы установили, что кнопка «Загрузить еще» решает проблемы юзабилити, связанные с разбивкой на страницы. А также решает серьезные проблемы, связанные с бесконечной прокруткой (в результате которых пользователи поверхностно просматривают товары и часто не могут достичь футера).

Кнопки «Загрузить еще» работают лучше, когда проблема с браузерной кнопкой «Назад» обрабатывается надлежащим образом. Например, через history.pushState(). И в идеале, когда реализация корректируется в зависимости от контекста пользователя. В частности, были выявлены три следующие контекстных корректировки:

  • Для навигации по категориям используйте комбинацию кнопки «Загрузить еще» и отложенной загрузки. Установите пороговое значение для кнопки «Загрузить еще» в 50-100 позиций.
  • Для результатов поиска используйте кнопку «Загрузить еще», но установите порог в 25 - 75 результатов. Необходимо динамически корректировать пороговое значение для каждого списка результатов поиска на основе любых снижений в рейтингах релевантности.
  • На мобильном устройстве используйте кнопку «Загрузить еще». Но установите пороговое значение в 15-30 товаров, чтобы избежать проблем с прокруткой и размером экрана. Кроме этого, из-за способа запуска событий JavaScript и величины нижнего порога, загружайте все товары одновременно, без использования отложенной загрузки.

 

Вадим Дворниковавтор-переводчик статьи «Infinite Scrolling, Pagination Or “Load More” Buttons - Usability Findings In eCommerce»