Поиск на сайте, который тихо врёт
Шесть способов, которыми поиск интернет-магазина теряет покупателей без единой ошибки на экране, — и как мы на 1С-Битрикс учим его прощать опечатки, раскладку и «народные» названия.
Покупатель пишет в поиске «дезодарант». С ошибкой, как это бывает в спешке. Сайт отвечает: найден 1 товар.
А в каталоге их 271.
Сайт не упал. Ошибки на экране нет. В отчётах всё зелёное. Человек просто закрывает вкладку и идёт туда, где найдёт с первого раза, — на маркетплейс. Ты об этом никогда не узнаешь.
Вот это мы и называем «поиск, который тихо врёт». Не ломается — врёт. Говорит «нет», когда товар есть. Или показывает не то, и человек решает, что у тебя такого не продают.
Названия магазинов не раскрываем. Цифры настоящие — из наших замеров до и после каждой правки. Часть «до» — промахи, которые мы нашли уже в собственном поиске и исправили: врёт не только чужой поиск.
Почему это важнее, чем кажется
Твой покупатель каждый день ищет на маркетплейсах. Там можно ошибиться в букве, забыть переключить раскладку, написать марку по-русски, вбить артикул как попало — и всё равно найти. Это стало нормой. Планку задали они, не ты.
Поэтому человек, который пришёл на сайт с поиском, — самый тёплый посетитель. Он не гуляет по каталогу. Он знает, что хочет купить. Ему осталось только найти. И если в этот момент сайт говорит «ничего не найдено», ты теряешь не случайного зеваку, а готового покупателя.
Ниже — шесть способов, которыми это происходит.
Шесть способов, которыми поиск врёт
1. Не прощает опечаток
«Дезодарант» вместо «дезодорант». Одна буква — и из 271 товара остаётся один. Тот, в карточке которого кто-то сам ошибся точно так же.
Это не единичный случай. В одном из магазинов мы взяли 212 названий товаров и в каждом переставили две соседние буквы — так пальцы ошибаются при быстром наборе. До настройки 84,9 % таких запросов не находили вообще ничего. После — ни одного пустого ответа, а нужный товар попадает в первую десятку в 88,7 % случаев вместо 13,2 %.

Одна и та же проверка до и после настройки. Запросы собраны из карточек товаров: полное название, название без предлогов, марка с разделом каталога. Меньше — лучше.
2. Путается в раскладке
Забыл переключить язык — получил «ltpjljhfyn». Если в чужой раскладке набран весь запрос, многие сайты справятся. А вот если одно слово набрано правильно, а другое нет, поиск часто сдаётся.
В магазине косметики запросы в неверной раскладке выводили нужный товар в первую десятку в 30,8 % случаев. Стало — 77,6 %. Пустых ответов было 68,2 %, стало 4,7 %.
3. Говорит на языке каталога, а не покупателя
В каталоге написано «лампа светодиодная». Человек пишет «лампочка». В магазине электротоваров на слово «лампочка» было 0 результатов при 938 лампах в каталоге. После — 938.
В магазине кабеля и электрики та же история с жаргоном: электрик пишет «частотник», а не «преобразователь частоты». Теперь по нему находятся 68 преобразователей. Там же с марками: в каталоге «FERON», покупатель пишет «ферон». Стандартный поиск Битрикса на «ферон» находил 0 товаров, наш — 273.
4. Не видит марку, если её нет в названии
Название товара из 1С часто выглядит так: «Выключатель одноклавишный, белый». Марки в нём нет — она лежит отдельным свойством. А поиск ищет по названию.
В одном магазине электротоваров у Schneider Electric 1346 товаров — и ни в одном названии нет слова Schneider. Стандартный поиск находил их по марке только потому, что кто-то когда-то вручную вписал её в служебный словарь поиска. Не впиши — и 16 % каталога по марке не нашлось бы вовсе, а заметить это было бы некому.
5. Спотыкается об артикулы
Специалисты ищут по артикулу. И пишут его как привыкли: слитно, через пробел, с дефисом, с точкой.
- «ЩМПг-65.50.22» (металлический щит) в каталоге записан с пробелом после дефиса, а покупатель пишет слитно. Было 0 результатов, стало 2.
- В магазине косметики в поле «артикул» лежал мусор — «new», «1111». Мы заполнили его настоящими кодами из 1С и научили поиск сначала проверять код товара. Раньше по артикулу нужный товар не находился ни разу, теперь он всегда первый.
6. Находит, но не то
Самый коварный вариант. Поиск что-то показывает, поэтому никто не бьёт тревогу. И делает это как раз «умный» поиск, который слишком смело исправляет опечатки. Мы сами на этом попались.
Электрик ищет «проколы» — прокалывающие зажимы для проводов. Наш поиск принимал слово за опечатку, «исправлял» его и показывал 143 товара — первыми шли проволочные лотки. Нашли это, разбирая запросы покупателей, и поставили словарь раньше исправления опечаток. Теперь на тот же запрос — 77 прокалывающих зажимов.
Почему стандартный поиск Битрикса так себя ведёт
Не потому, что Битрикс плохой. Его поиск — универсальный. Он одинаково ищет по новостям, статьям и товарам. Думает о тексте, а не о покупателе.
На пальцах:
- Ищет слова строго. Все слова запроса должны найтись в тексте товара. Одна опечатка, одно «лишнее» слово — ноль.
- Смотрит в название. Марка, артикул, раздел живут в других полях — туда он не заглядывает, если специально не научить.
- Каждое нажатие клавиши будит весь сайт. Подсказка под строкой поиска запускает тот же тяжёлый механизм, что и целая страница. Отсюда задержки.
- Подсказка и страница результатов могут считать по-разному. В подсказке одно число, на странице другое.
Пример из магазина кабеля и электрики: на запрос «автомат 16а» стандартный поиск нашёл 27 товаров, наш — 78.
Как мы чиним поиск
Дизайн сайта не переделываем, и на другой шаблон переезжать не нужно. Рядом с Битриксом ставим отдельный поисковый движок — Manticore Search. Это бесплатная программа с открытым кодом. Она умеет одно, зато очень хорошо: быстро искать.

Демо на сайте разработчиков: запрос с ошибками «lether jaket» — движок понимает, что искали кожаную куртку. Скриншот: © Manticore Software Ltd., manticoresearch.com
Вёрстка каталога, цены, картинки и фильтры остаются как были. Меняется сам поиск: что он находит и как честно говорит, если исправил запрос. В файлы шаблона добавляем несколько строк, которые передают запрос движку. Обновление шаблона может их стереть — поэтому за ними следит сторож, о нём ниже.

Дальше — что именно мы настраиваем. По шагам и без терминов.
Шаг 1. Кладём в поиск только то, что покупатель может увидеть
Поиск похож на картотеку: на каждый товар — карточка. Если в картотеке лежат карточки товаров, которых нет на витрине, они занимают верхние места и вытесняют те, что покупатель может открыть.
В одном из магазинов, пока мы собирали поиск, всплыла находка: половина карточек — 5365 из 10 723 — оказалась в отключённых разделах. Их не перенесли при переезде разделов, и на витрине этих товаров не видно. Первая версия нашей картотеки их брала, и они вытесняли нужные товары. Оставили в поиске только то, что показывает витрина, — и по полному названию нужный товар стал первым в 90,8 % случаев вместо 72,4 %. А сами разделы нужно вернуть в каталог: это вопрос ассортимента, а не поиска.
Шаг 2. Одна карточка — всё, что человек может написать
В карточку товара для поиска кладём не только название. Ещё марку, артикул и раздел. Тогда «Schneider» находит Schneider, даже если в названии его нет, и никакие ручные правила для этого не нужны.
Шаг 3. Словарь покупателя
Собираем словарь: «лампочка» — это лампа, «частотник» — преобразователь частоты, «проколы» — прокалывающие зажимы, а марка, написанная по-русски, — та же марка из каталога. Слово попадает в словарь, только если сейчас по нему не находится нужное: пусто, пара случайных товаров или вовсе другой товар. А перед включением проверяем, что запросы, которые уже работали, выдают то же, что раньше.
Шаг 4. Лестница вместо «ничего не найдено»
Сначала поиск ищет то, в чём уверен: точно, как написано, — по названию, марке и артикулу, с учётом словаря покупателя. Если пусто, а в запросе артикул, поиск пробует его в другом написании: по частям, без дефисов и точек, или, наоборот, слитно.
Если и тогда пусто, он не сдаётся, а начинает догадываться — по очереди:
- поискать по большинству слов, а не по всем;
- исправить опечатку;
- переключить раскладку — только у тех слов, которые сами по себе ничего не находят.
Порядок важен. Сначала то, что мы знаем наверняка, потом догадки. Знание бьёт догадку — именно так мы и починили «проколы».

И ещё одно правило: если поиск догадался и исправил запрос, он честно об этом говорит. «Показаны результаты по запросу „помада“» — и ссылка «Искать „памада“», чтобы поискать ровно так, как написал покупатель.

Магазин косметики: на «памада» поиск показывает помады и предлагает искать как написано. Фирменный цвет магазина на скриншоте заменён.
Шаг 5. Подсказки, которые не тормозят
Подсказки под строкой поиска тоже можно отдавать напрямую из движка, не поднимая весь сайт. Тогда подсказка и страница результатов считают одинаково, а ответ приходит почти мгновенно.
В магазине кабеля и электрики подсказка теперь появляется в пять раз быстрее: было 175 миллисекунд, стало 32. Окно, которое открывается по клику в пустую строку поиска, — было 297, стало 23. Самому движку на ответ хватает 5 миллисекунд — остальное время раньше съедал сайт.
Это отдельная работа: выпадающее окно у каждого шаблона своё, и переводим мы его только после проверки глазами.

Тот самый «дезодарант» с ошибкой: подсказки, разделы, первые товары и ссылка на все 271. Цены и цвета магазина на скриншоте скрыты.
Шаг 6. Сторож, который не спит
Поиск может сломаться тихо: обновили каталог, обновление шаблона стёрло нашу вставку, переехал сервер. Ошибок нет, в логах чисто — узнаёшь от покупателя. Поэтому к поиску мы ставим сторожа.
Раз в 15 минут он проверяет, что движок отвечает и картотека полная, что наша вставка в шаблоне на месте и что выдача доходит до страницы, которую видит покупатель. Если что-то сломалось, сторож поднимает тревогу и пишет простыми словами, что именно: «вставку затёрло обновлением шаблона» или «индексатор встал».
Шаг 7. Регулярная уборка
Когда товар удаляют или меняют, в картотеке остаётся старая карточка — мёртвая, но занимающая место. Каталог обновляется по расписанию, и после каждого обновления старые копии остаются лежать, а встроенная уборка запускается слишком поздно.
В магазине косметики поисковая картотека на 95 % состояла из таких мёртвых карточек. После уборки она стала в десять раз меньше — было 256 МБ, стало 25,5, — а поиск во время чистки продолжал работать. Такой мусор копился на всех наших сайтах, поэтому мы настроили уборку так, чтобы она запускалась сама.
Свой движок или сервис по подписке?
По запросу «умный поиск для интернет-магазина» на первом экране почти одни сервисы по подписке. Это рабочий путь. Сравним по-честному.
Сервис по подписке. Подключается быстро. Каталог выгружается к ним, поиск живёт на их сервере. Платишь каждый месяц, пока пользуешься. Перестал платить или у сервиса сбой — поиск на сайте в лучшем случае откатится на стандартный, в худшем пропадёт.
Свой движок. Работает на твоём сервере, рядом с сайтом. Каталог никуда не уходит. Настраивается под твой ассортимент и твоих покупателей. Но за ним нужно присматривать — поэтому мы и ставим сторожа и регулярную уборку.
Что выбрать — зависит от того, что тебе важнее: скорость подключения или контроль над поиском и данными. Мы выбираем второе.
Частые вопросы
Придётся менять дизайн или шаблон? Дизайн — нет, и на другой шаблон переезжать не нужно. Вёрстка, картинки, цены и фильтры остаются как были — в том числе на шаблонах Аспро. В файлы шаблона добавляем несколько строк, а меняется сам поиск: что он находит и что показывает, когда исправил запрос. Если обновление шаблона эти строки сотрёт, сторож заметит это в течение 15 минут.
Что будет, когда каталог обновится из 1С? Картотека поиска обновляется сама, по расписанию. Новые товары попадают в поиск, снятые — уходят из него.
А если поиск всё-таки сломается? Сторож проверяет его каждые 15 минут, днём и ночью, и поднимает тревогу, если движок встал, из картотеки пропали товары или вставку затёрло обновлением сайта.
Это только для больших каталогов? Нет. Опечатки, раскладка и «лампочки» случаются в любом магазине. Чем больше каталог, тем больше теряется — но теряется всегда.
Итог: что меняется для покупателя
Сводка по запросам из статьи:
| Что ищет покупатель | Находилось товаров: было | Стало |
|---|---|---|
| «дезодарант» (с ошибкой) | 1 | 271 |
| «лампочка» | 0 | 938 |
| «ферон» | 0 | 273 |
| «автомат 16а» | 27 | 78 |
| «ЩМПг-65.50.22» | 0 | 2 |
Это не волшебная таблетка. Поиск — звено системы: 1С → каталог → поиск → корзина. Порвалось одно звено — теряешь продажи. Наша работа — понять, как ищут твои покупатели, и научить сайт понимать их: с опечатками, в чужой раскладке и своими словами.
Проверь свой поиск сам
Открой свой сайт и введи шесть запросов:
- С опечаткой. Возьми ходовой товар и ошибись в одной букве.
- В другой раскладке. Напиши одно слово по-русски, а второе — не переключая язык.
- По-народному. Как товар называют покупатели, а не как он записан в 1С.
- Марку — по-русски. «Бош», «Макита», «Шнайдер».
- Артикул — по-разному. Слитно, с дефисом, с пробелом.
- Длинный запрос. Четыре-пять слов, одно из которых лишнее.
Если хотя бы один запрос ничего не нашёл или показал не то — поиск врёт тебе и твоим покупателям прямо сейчас. Провалил проверку — жми «Обсудить» ниже: посмотрим, как ищут твои покупатели, и покажем, где сайт им врёт.
React
Next.js
SEO
Яндекс Директ
Обмен с 1С
Интернет-магазины
Личные кабинеты
Аналитика
AI-писатель
Поддержка 24/7
Маркетплейсы
Кассы 54-ФЗ
Оплата и доставка