Используем cookie — для входа в кабинет и обезличенной статистики. Подробнее
Магазины

Поиск и фильтры в каталоге интернет-магазина: опечатки, синонимы, артикулы и почему «ничего не найдено» стоит заказов

30 октября 2026·12 мин чтения

Короткий ответ: поиск и фильтры — второй после меню путь к товару, и тот, кто ими пользуется, обычно уже знает, что хочет купить. Хороший поиск прощает опечатки и неверную раскладку, понимает словоформы, синонимы и артикул в любом написании, а фильтры строятся из аккуратно заполненных характеристик учётной системы и не показывают пустых значений. Проверить качество можно без разработчика: собрать запросы покупателей в Яндекс Метрике и посмотреть, сколько из них заканчиваются пустой выдачей.

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

Почему встроенный поиск CMS не справляется?

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

Типичные провалы штатного поиска:

  • Нет морфологии. «Сапоги», «сапог», «сапогами» — для простого поиска это три разных слова.
  • Нет терпимости к опечаткам. Одна лишняя или пропущенная буква — и выдача пустая.
  • Неверная раскладка. Человек забыл переключить язык и набрал «irfa». Он видит ноль и решает, что шкафов у вас нет.
  • Ищет только по названию. Артикул, бренд, цвет и размер лежат в характеристиках, и поиск их не видит.
  • Нет ранжирования. Товары без остатка стоят первыми, аксессуары выше основных товаров, порядок случайный.
  • Медленно на большом каталоге. Поиск перебирает таблицу целиком, и на десятках тысяч позиций ответ идёт секундами.

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

Что вводят в поиск магазина на самом деле?

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

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

  • Название категории своими словами. «Болгарка» вместо «УШМ», «пуховик» вместо «куртка утеплённая».
  • Бренд или модель. Часто латиницей, кириллицей и с ошибками одновременно.
  • Артикул или код. У оптовых покупателей и в запчастях это основной способ: человек держит в руках старую деталь или счёт от поставщика.
  • Товар плюс свойство. «Графит 48», «чёрный матовый», «кабель 3х2,5».
  • То, чего у вас нет. Такие запросы — подсказка для закупки, их стоит смотреть отдельно.

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

Что должен уметь поиск: чек-лист

Минимум — словоформы, опечатки, раскладку, артикул в любом написании и поиск по характеристикам. Дальше по ситуации: синонимы, кросс-номера, подсказки при вводе и ранжирование с учётом наличия. Проверить каждый пункт можно самому, вводя запросы из таблицы ниже.

Как это устроено технически, коротко:

  • Словоформы. Слова запроса и названия товаров приводятся к основе: «шубы», «шубой», «шуба» становятся одним словом.
  • Опечатки. Сравнение по похожести, а не по точному совпадению. Популярный способ — разбить слова на тройки букв (триграммы) и искать товары, у которых таких троек больше всего общих с запросом.
  • Раскладка. Если по запросу ничего не нашлось, его перекодируют из латинской раскладки в русскую и ищут снова, а покупателю показывают «Показаны результаты по запросу “шкаф”».
  • Артикулы. Перед поиском из артикула убирают дефисы, точки и пробелы и приводят буквы к одному регистру — и в запросе, и в базе. Точное совпадение по артикулу ставится первым.
  • Синонимы. Словарь, который ведёт менеджер: «болгарка = УШМ». Его пополняют по пустым запросам, а не придумывают заранее.
  • Ранжирование. Товары в наличии выше товаров под заказ, точное совпадение названия выше совпадения в описании.
  • Подсказки при вводе. После двух-трёх букв — категории и пара товаров с фото. Это экономит покупателю набор и сразу показывает, как у вас называется товар.

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

Чек-лист поиска по каталогу: что проверить и каким запросом
УмениеПример запросаЧто должно найтись
Словоформы«шубы норковые», «норковой шубы»Те же товары, что по «шуба из норки»
Опечатки«норак», «сапоги зимнии»Норка и зимние сапоги, а не пустая страница
Неверная раскладка«irfa» вместо «шкаф»Шкафы, с подсказкой «Возможно, вы искали…»
Латиница и транслит«блэкглама», «bosch» и «бош»Один и тот же бренд при любом написании
Артикул с разделителями и без«AB-1234», «ab1234», «AB 1234»Ровно этот товар первым
Кросс-номера и аналогиНомер детали другого производителяТовар-аналог с пометкой, что это замена
Свойство в запросе«графит 48», «кабель 3х2,5»Товары с этим цветом и размером, сечением
Синонимы и сленг«пуховик» и «куртка пуховая», «болгарка» и «УШМ»Одинаковая выдача по обоим словам
Бессмыслица«ывапролд»Честное «ничего не найдено» с выходом в каталог

Фильтры: откуда брать характеристики?

Из учётной системы, где уже живёт номенклатура: чаще всего из 1С или МоегоСклада. Если характеристики там заполнены единообразно, фильтры строятся автоматически при каждой выгрузке. Если нет — сначала чистка справочников, иначе в фильтре окажутся «Красный», «красн.» и «red» как три разных цвета.

При обмене с 1С по стандартному протоколу CommerceML на сайт приходят свойства товаров и их значения, а для товаров с вариантами — характеристики вроде размера и цвета. Что из этого станет фильтром, решают при проектировании каталога. Подробно про сам обмен — в статье о магазине с обменом 1С.

Что важно заложить в фильтры с самого начала:

  • Свой набор фильтров для каждой категории. У шуб — длина и капюшон, у кабеля — сечение и число жил. Общий список «на все товары» превращает панель в простыню.
  • Числа как числа. Цена, размер, мощность — диапазоном или ползунком, а не списком из сотни значений.
  • Счётчики без нулей. Рядом со значением — сколько товаров останется после выбора, а значения с нулём скрыты или неактивны. Тонкость: счётчик значений внутри одного фильтра не должен учитывать уже выбранное в этом же фильтре, иначе после выбора одного цвета все остальные цвета покажут ноль.
  • Наличие отдельным фильтром. Часто это первый фильтр, который нажимают.
  • Выбранное видно и снимается одним касанием. Особенно на телефоне, где панель фильтров открывается поверх каталога.
  • Фильтр не сбрасывается при возврате. Покупатель открыл карточку, вернулся — его выбор и место в списке на месте.

Пример из нашей практики — магазин шуб AleksFurs. Там фильтры по наличию, скидке, капюшону, цене, размеру 38–60, виду меха, цвету, фасону и длине работают в любом сочетании, и счётчик у значения не учитывает свой же фильтр: выбрав канадскую норку, покупатель видит, сколько моделей у скандинавской и американской, а не нули. Поиск построен на триграммном индексе PostgreSQL без отдельного движка: «норак» находит норку, «графит 48» — графитовые шубы 48-го размера, «блэкглама» — мех Blackglama, записанный латиницей, а бессмыслица честно даёт ноль.

Что показывать, если ничего не найдено?

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

Что поставить на страницу «ничего не найдено»:

Точки проверкиЧто показывать, если ничего не найдено?
  1. Строку поиска с введённым запросом, чтобы его легко поправить.
  2. «Возможно, вы искали…» — вариант после исправления опечатки или раскладки.
  3. Результаты по части запроса: если «шуба норка 64» пусто, покажите норку без размера.
  4. Ссылки на 4–6 ходовых категорий.
  5. Предложение оставить запрос: «Не нашли нужное? Напишите, подберём». Для B2B и запчастей это ещё один путь к заявке.

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

Готовый поисковый сервис или своя доработка?

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

Варианты своей доработки, от простого к сложному:

  • Средствами базы данных. Полнотекстовый поиск с морфологией и триграммный индекс в PostgreSQL закрывают словоформы, опечатки и артикулы. Нет отдельного сервера и второй копии данных.
  • Отдельный поисковый движок с открытым кодом (например, Elasticsearch, OpenSearch или Meilisearch) на вашем сервере. Оправдан на крупных каталогах, при сложном ранжировании и высокой нагрузке, но это ещё один сервис, который надо обновлять и синхронизировать с каталогом.

Цены подключаемых сервисов не приводим: у каждого свой тариф, и зависит он от числа товаров или запросов — сверяйте на сайте сервиса на дату решения. Главное — посчитать стоимость за два-три года, а не за первый месяц, и спросить, как выгрузить свои настройки и синонимы, если решите уйти.

Готовый поисковый сервис или доработка поиска в своём коде
Подключаемый сервис поискаСвоя доработка
Как платитеЕжемесячная подписка, часто зависит от числа товаров или запросовРазово за разработку, дальше — поддержка
Скорость запускаБыстро, если ваша платформа поддерживаетсяЗависит от объёма каталога и правил
Управление выдачейВ рамках настроек сервисаЛюбые правила: наличие, маржа, сезон
Где данные каталогаКопия каталога у стороннего сервисаТолько на вашем сервере
Связь с 1С и фильтрамиЧерез выгрузку фида или модульТе же данные, что в каталоге, без второй копии
РискСервис поднимет цену или закроетсяНужен разработчик, который разберётся в коде

Как проверить качество поиска по Метрике?

Проще всего, если запрос попадает в адрес страницы результатов, например /search/?q=шуба. Тогда фразы видны в отчёте Метрики «По параметрам URL», а для замера пустой выдачи и кликов добавляют цель с параметрами. Отдельной разработки для этого не нужно — только цель и небольшой код на странице результатов.

Порядок действий по справке Яндекс Метрики:

  1. Запросы. Откройте Отчёты → Содержание → «По параметрам URL» и найдите параметр поиска. Там видно, что и как часто ищут. В этом отчёте нельзя использовать цели, поэтому для конверсии нужен следующий шаг.
  2. Пустая выдача. Пусть страница результатов при нуле найденных отправляет цель, например «search_empty», с параметром — текстом запроса. Код описан в справке об отчёте «Параметры целей»: ym(номер_счётчика, 'reachGoal', 'search_empty', {query: '…'}). Сами фразы смотрите там же: Отчёты → Содержание → «Параметры целей».
  3. Клик из выдачи. Вторая цель — переход из результатов поиска в карточку. Доля поисков с кликом показывает, насколько выдача попадает в ожидания.
  4. Заказы. Сравните конверсию в заказ у визитов с поиском и без него. Если с поиском она ниже, поиск мешает, а не помогает.

Что считать раз в месяц: долю пустых выдач, долю поисков без клика и полсотни самых частых «пустых» запросов. По последнему списку пополняется словарь синонимов и видно, какие товары спрашивают, но не находят.

Если поиск работает без смены адреса, например только скриптом в окне подсказок, запросы в отчёт по параметрам URL не попадут — их придётся передавать целью с параметрами с самого начала.

Когда это не нужно и какие ошибки встречаются чаще всего?

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

Ошибки, которые встречаются чаще всего:

  • Чинят поиск, не посмотрев запросы. Делают словарь синонимов «из головы», а покупатели ищут совсем другими словами.
  • Фильтры из грязных справочников. Три варианта одного цвета, размеры «XL», «xl» и «50-52» вперемешку.
  • Все свойства — в фильтры. Двадцать фильтров на категорию, половиной из которых никто не пользуется.
  • Фильтры перезагружают страницу и сбрасываются. На телефоне это особенно раздражает.
  • Нет наличия в ранжировании. Первым в поиске стоит товар, который нельзя купить.
  • Поиск без замера. Никто не знает, сколько запросов заканчиваются нулём, и проблема годами не видна.

Сколько стоит доработка?

В новом магазине поиск и фильтры входят в тариф: каталог с категориями, фильтрами, поиском и карточками есть в составе интернет-магазина от 104 000 ₽ и от 5 дней. Доработку поиска в работающем магазине оцениваем отдельно — после того как посмотрим код, платформу и выгрузку запросов.

Что влияет на цену доработки:

  • Платформа. В своём коде доработать проще, чем в чужой CMS с закрытыми модулями.
  • Объём каталога и характеристик. Тысяча товаров и сто тысяч — разные задачи по скорости и индексам.
  • Состояние справочников в 1С. Если их нужно чистить, это отдельная работа, часть которой остаётся на вашей стороне.
  • Кросс-номера и аналоги. Нужна таблица соответствий и правила её обновления.
  • Замер. Цели и отчёты в Метрике под поиск — небольшая, но отдельная задача.

Если поиск и фильтры потом надо развивать — пополнять синонимы, добавлять фильтры под новые категории, — это удобно делать в рамках поддержки от 7 900 ₽ в месяц. Состав тарифа магазина и что в него не входит — на странице разработки интернет-магазина; итоговую цену и срок называем после брифа и фиксируем в договоре, оплата — 50 % после подписания договора и 50 % после подписания акта.

Короткие ответы на частые вопросы

Нужен ли отдельный поисковый движок для небольшого магазина?

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

Почему поиск не находит товар по артикулу?

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

Откуда взять синонимы для поиска?

Из самих запросов покупателей. Выгрузите фразы, по которым поиск вернул ноль или по которым ушли без клика, и найдите там другие названия ваших товаров. Это надёжнее любого готового словаря.

Можно ли сделать фильтры, если в 1С характеристики заполнены как попало?

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

Сколько стоит доработать поиск в готовом магазине?

Зависит от платформы, объёма каталога и того, что именно сломано. Мы смотрим код и выгрузку запросов, после этого называем цену и срок и фиксируем их в договоре.

Пришлите адрес магазина и десяток запросов, на которые поиск отвечает плохо, — разберём причины и назовём цену и срок доработки до старта.

Рассчитать проект →

Оценку срока и цены по брифу делаем бесплатно, обычно отвечаем в течение часа в рабочее время. Типовой договор — посмотреть до оплаты.

Канал Roboweb в Telegram
Разборы цен, сроков и условий договора. Без спама и продаж в личку.
Подписаться →
Обсудим вашу задачу?

Опишите, что нужно — вернёмся с оценкой срока и цены. Обычно отвечаем в течение часа в рабочее время.

Заявка отправлена

Получили — обычно отвечаем в течение часа в рабочее время. Хотите быстрее, продублируйте в WhatsApp.

Продублировать в WhatsApp или позвонить +7 933 177-00-86
Или сразу: +7 933 177-00-86 · Telegram · WhatsApp