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

Статью «Infinite Scrolling, Pagination Or „Load More“ Buttons? Usability Findings In eCommerce» написал Кристиан Холст 1 марта 2016 года. Сокращённый перевод: 14 минут чтения на английском → 5 минут на русском.

Baymard Institute исследует интерфейсы интернет-магазинов и публикует результаты своих наблюдений. Из тех, что я перевёл:

Сооснователь института Кристиан Холст сравнил шаблоны представления списка товаров:

  • Автоматическая подгрузка («бесконечный скрол»);
  • Постраничная навигация («пагинация»);
  • Кнопка «Загрузить ещё».

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

Результаты наблюдений

Респонденты часто жаловались на постраничную навигацию: она казалась медленной и её внешний вид не вызывал желания просмотреть все товары. Они просматривали меньше, зато больше времени уделяли первой странице.

По количеству страниц пользователи прикидывают общее количество товаров. Они редко переходят на конкретные страницы, обычно — на следующую или предыдущую.

«Бесконечный скрол» создаёт гладкое непрерывное взаимодействие: пользователь просматривает товары, ни на что не отвлекаясь. Естественно, это решение даёт максимум просмотров, но товары в начале списка получают меньше внимания. Это хороший способ показать широту ассортимента в конкретной категории товаров.

Внимание на полосу прокрутки: некоторые респонденты прокручивают список, уже не фокусируясь на конкретных товарах

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

Из 50 топовых американских интернет-магазинов только 8% использовали кнопку «Загрузить ещё».

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

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

Какой шаблон использовать?

  • В категориях — «Загрузить ещё» с «ленивой» подгрузкой;
  • В поиске — «Загрузить ещё» в сочетании с количеством найденных объектов;
  • В мобильных — «Загрузить ещё», но загружать меньше объектов, чем на десктопах.

В категориях

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

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

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

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

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

В результатах поиска

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

Результаты поиска упорядочиваются по релевантности. По умолчанию загружайте 25–75 товаров и никогда не используйте «бесконечный скрол», чтобы пользователь сфокусировался на первой пачке самых релевантных товаров. «Ленивая» подгрузка здесь не обязательна.

Меняйте количество загружаемых товаров в зависимости от показателя релевантности. Если он резко падает после первых 28 товаров, показывайте меньше. И наоборот.

В мобильных

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

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

Лучше всего — большая кнопка «Загрузить ещё». Но не забудьте про особенности мобильных:

  • Меньше размер экрана. Нужно прокрутить намного больше экранов, чтобы просмотреть тот же список товаров, что на десктопе;
  • Ограничения в прокрутке. Пользователю доступен только свайп, когда на десктопе и колесо мыши, и жесты на трекпаде, и полоса прокрутки, и сочетания клавиш;
  • Медленный скрол. Если водить пальцем по экрану, список будет прокручиваться медленнее, чем на десктопе. Некоторые пользователи могут непреднамеренно запустить скрол с ускорением и пропустят часть товаров;
  • События джаваскрипта. Событие по подгрузке товаров может быть обработано, когда скрол завершился, но не в процессе скрола.

Загружайте 15–30 товаров и показывайте кнопку «Загрузить ещё». Без «ленивой» подгрузки.

Кнопка «Назад»

На динамически меняющихся страницах кнопка «Назад» может работать не так, как ожидает пользователь.

Если пользователь перешёл на страницу товара, кнопка «Назад» должна вернуть его в то же место, с которого он пришёл.

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

Магазин Skechers переписывает адрес страницы каждый раз, когда пользователь нажимает «Загрузить ещё».

history.pushState() из History API в HTML5 позволяет изменить URL страницы без её перезагрузки, и тогда кнопка «Назад» будет работать так, как ожидает пользователь.

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

Вывод

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

При реализации этого подхода не забывайте про контекст:

  • При просмотре категорий используйте «ленивую» подгрузку и показывайте «Загрузить ещё» после отображения 50–100 товаров;
  • В результатах поиска — после 25–75 результатов. В идеале количество должно зависеть от коэффициента релевантности;
  • На мобильных — после 15–30 товаров, так как экраны меньше и скрол медленнее. Из-за особенностей джаваскрипта, загружайте товары сразу, без «ленивой» подгрузки.

Также опубликовано на Медиуме.

Опечатка? Выделите её и нажмите кнопки Control и Enter.

Технологии цифрового маркетинга — книга, где я был соавтором (параграф про создание сайта) и литературным редактором (привёл текст к единой стилистике и упростил формулировки). От 249 рублей.