Часть 5 из 10

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

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

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

Почему встроенный поиск WooCommerce не работает

Стандартный поиск WordPress — это, по сути, LIKE-запрос по заголовку и описанию записи. Отсюда все его свойства:

  • Опечатка = ноль результатов. «Клавиатра» не найдёт «клавиатуру». Пользователь при этом уверен, что товара у вас нет.
  • Синонимов не существует. «Толстовка» не найдёт «худи», «ноутбук» не найдёт «лэптоп».
  • Артикул часто не ищется. SKU лежит в метаполе, а не в тексте, — и запрос по артикулу возвращает пусто.
  • Нет ранжирования по смыслу. Товар, у которого запрос в названии, и товар, у которого он случайно упомянут в описании, равноправны.
  • Атрибуты и варианты не участвуют. Поиск «синие кроссовки 44» почти гарантированно провалится.
  • На больших каталогах ещё и медленно. LIKE '%слово%' не использует индексы — на 20 000 товарах это ощутимая задержка.

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

Что обязан уметь поиск в магазине

Проверьте свой по этим семи пунктам:

  1. Прощать опечатки — нечёткое соответствие хотя бы на одну-две ошибки
  2. Знать синонимы — включая ваш профессиональный сленг и то, как товар называют клиенты
  3. Искать по артикулу и коду — в B2B это половина всех запросов
  4. Подсказывать при вводе — с картинкой, ценой и наличием, чтобы можно было перейти сразу в товар
  5. Ранжировать осмысленно — совпадение в названии важнее совпадения в описании; товар в наличии выше товара под заказ
  6. Позволять фильтровать результаты — поиск без фасетов бесполезен на выдаче из 200 позиций
  7. Не бросать при нуле результатов — показывать похожее, популярное, категории, а не пустой экран

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

Бесплатный источник идей: отчёт пустых запросов

Настройте логирование поисковых запросов (в GA4 это событие search с параметром search_term) и раз в месяц открывайте два списка: самые частые запросы и запросы с нулём результатов. Это самый недооценённый отчёт в магазине, потому что он отвечает сразу на три вопроса:

  • Чего у вас нет, а спрос есть — прямая подсказка по расширению ассортимента
  • Как клиенты называют ваши товары — их слова, а не ваши; это готовые названия, теги и синонимы
  • Что сломано — если по запросу «доставка» ноль результатов, значит информационные страницы не участвуют в поиске

По моему опыту, первый же разбор такого отчёта даёт 5–10 конкретных задач, каждая из которых дешевле любой рекламной кампании.

Фильтры: три типовые ошибки

Ошибка 1: фильтры не по тем признакам. Магазин фильтрует по «бренду» и «цене», а покупателю нужен «размер», «совместимость» или «срок доставки». Правильный набор фильтров берётся из вопросов покупателей, а не из структуры базы данных.

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

Ошибка 3: каждое нажатие — полная перезагрузка. Медленно, теряется позиция скролла, на мобильных особенно больно. Плюс генерируется поток URL, которые потом попадают в индекс (об этом ниже).

Отдельно: на мобильных фильтры должны быть в панели с кнопкой «Применить» и с видимым сбросом. Фильтр, который перезагружает страницу после каждого чекбокса, на телефоне не используют — его закрывают.

Врезка для разработчика

  • Фасеты нельзя делать честными WHERE по базе. Счётчики по каждому значению атрибута — это агрегирующие запросы, которые на большом каталоге кладут MySQL. Нужен предрассчитанный индекс или отдельный поисковый движок.
  • Фильтры не должны плодить индексируемые URL. Комбинации параметров дают тысячи адресов с почти одинаковым контентом. Базовое правило: индексируем только осмысленные посадочные комбинации (например, «категория + бренд»), остальное закрываем noindex, follow или каноникалим на чистую категорию — см. руководство Google по каноническим URL и по robots-мета-тегам.
  • Следите за краулинговым бюджетом. На больших каталогах бот тратит его на комбинации фильтров вместо новых товаров. Как этим управлять — в документации Google по crawl budget. Подробнее в теме SEO-ошибки магазинов.
  • Страницы результатов поиска закрывайте от индексации. Внутренний поиск в индексе — классический источник мусорных страниц.
  • Логируйте запрос вместе с числом результатов. Без второго поля отчёт пустых запросов не собрать.
  • Проверьте ?s= под нагрузкой. Поисковые боты и парсеры любят долбить поиск; на LIKE-запросах это готовый способ уронить сайт.

Практическая проверка

  • Ввёл в поиск название товара с опечаткой — товар нашёлся
  • Поискал по артикулу — нашёлся
  • Поискал синонимом, которым товар называют клиенты — нашёлся
  • При нуле результатов показывается что-то полезное, а не пустой экран
  • В GA4 логируются поисковые запросы, и я смотрел отчёт за последний месяц
  • Набор фильтров совпадает с реальными вопросами покупателей
  • У вариантов фильтров есть счётчики, пустые отключены
  • На мобильных фильтры удобны и есть кнопка сброса
  • Страницы результатов поиска и мусорные комбинации фильтров закрыты от индексации

Что дальше

Поиск отвечает за тех, кто уже внутри магазина. Следующая тема — про тех, кто ещё снаружи, и про то, почему магазины теряют их на уровне выдачи: SEO-ошибки интернет-магазинов.

Основа темы — исследования поиска по каталогу Baymard Institute и практика аудитов каталогов на WooCommerce.

Хотите, чтобы магазин посмотрели со стороны?

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

Заказать аудит магазина