Поиск по сайту чаще всего делают по остаточному принципу: ставят лупу в шапку, подключают штатный модуль и забывают. Через полгода выясняется, что треть посетителей уходит с пустой выдачи, а половина запросов вообще не находит существующие страницы.
Студия Сайты2.рф работает с 2008 года, за это время мы настраивали поиск в каталогах на 40 тысяч товаров, в базах знаний и в архивах нормативных документов. Разберём, кому поиск нужен, почему штатные модули WordPress и Битрикс разочаровывают, чем их заменяют и сколько это стоит.
Кому поиск нужен, а кому только мешает
Поиск оправдан, когда пользователь заранее знает, что ему нужно, и это "что-то" сложно найти по меню. Каталог запчастей, где ищут по артикулу. Магазин на пару тысяч позиций. База знаний сервиса. Блог, в котором больше сотни статей. Архив приказов на сайте школы.
На сайте услуг из восьми страниц лупа в шапке только съедает место. Мы несколько раз убирали поиск с корпоративных сайтов после анализа статистики: им пользовались 0,3% посетителей, зато он собирал спам-запросы от ботов.
Проверить просто. Если за месяц поиском воспользовались меньше 1% посетителей, дело либо в том, что он не нужен, либо в том, что его не видно. Второе лечится вёрсткой, первое - удалением.
Что показывает статистика внутреннего поиска
Запросы посетителей - это самая честная обратная связь о сайте. Люди пишут в поиск то, чего не нашли глазами.
Мы всегда включаем логирование запросов и через месяц смотрим три вещи:
- Топ запросов. Если в топе то, что есть в меню, значит меню непонятное или названия разделов не совпадают с языком клиента.
- Запросы с пустой выдачей. Каждый такой запрос - либо отсутствующий товар, либо отсутствующая страница, либо ненастроенные синонимы.
- Запросы с одним просмотром результата. Человек нашёл и ушёл дальше по сайту. Это хороший сигнал.
Живой пример из практики: на сайте производителя окон 60% запросов в поиске были вида "профиль 70 мм", "стеклопакет 4-16-4", то есть по техническим параметрам. В каталоге таких характеристик в описаниях не было вообще. Мы добавили их в тексты и в фильтры, и доля пустых выдач упала с 44% до 6%.
Где ломается штатный поиск
В WordPress штатный поиск делает запрос LIKE по заголовку и содержимому записи. Отсюда три проблемы. Он не знает морфологии: запрос "окна" не найдёт "окно". Он не ищет в полях ACF, а значит вся структурированная информация ему невидима. И он сортирует результаты по дате, а не по релевантности, поэтому свежая заметка всегда выше подробного гайда.
В 1С-Битрикс поиск устроен серьёзнее: есть морфология, стемминг, индекс. Ломается он обычно по эксплуатационным причинам. Переиндексация не отработала до конца, и половина каталога отсутствует в индексе. Или включён поиск по всему сайту, и в выдаче появляются служебные страницы вроде корзины и личного кабинета.
Отдельная беда - поиск по PDF. Прайсы, инструкции и приказы часто лежат файлами, и текст внутри них для движка не существует. Приходится либо извлекать текст при загрузке, либо дублировать содержание на страницу.
Чем заменяют штатный поиск
Выбор зависит от объёма данных и от того, нужны ли подсказки на лету.
| Решение | Кому подходит | Морфология и опечатки | Стоимость |
|---|---|---|---|
| Relevanssi (WordPress) | блог, база знаний, до 5 тысяч записей | морфология русского слабая, опечатки только в Premium | бесплатно, Premium от 100 евро в год |
| SearchWP (WordPress) | сайты с ACF-полями и документами | ищет в полях и PDF, опечаток нет | от 99 долларов в год |
| Штатный Битрикс + настройка | каталоги на Битрикс | есть морфология, опечатки частично | входит в лицензию |
| Meilisearch | каталоги, подсказки на лету, до сотен тысяч записей | опечатки и морфология из коробки | бесплатно, нужен свой сервер |
| Typesense | то же, где важна скорость отклика | опечатки хорошие, русский нормально | бесплатно, нужен свой сервер |
| Elasticsearch | сложные каталоги, агрегации, аналитика | настраивается почти как угодно | бесплатно, дорог в обслуживании |
| Внешний поиск Google | быстро закрыть вопрос на сайте-визитке | зависит от индекса Google | бесплатно, но чужая вёрстка и реклама в выдаче |
Meilisearch и Typesense мы ставим чаще остальных: они разворачиваются за час, потребляют мало памяти и отдают подсказки быстрее 50 мс. Elasticsearch берём, когда нужны сложные агрегации или поиск сразу по нескольким сущностям с весами. Он мощнее, но требует внимания к памяти и обновлениям, а на shared-хостинге его не поднять - нужен VPS, как и для остальных отдельных движков.
12 требований к поиску, который работает
Собрали список, по которому принимаем работу. Первые пять критичны для любого сайта.
- Морфология. "Окна", "окон", "окнами" ведут к одному результату.
- Опечатки. "Стеклопакед" находит стеклопакет. Люди печатают с телефона на ходу.
- Подсказки при вводе. Живой список из 5-8 позиций с ценой и картинкой, отклик до 150 мс.
- Непустая пустая выдача. Если ничего не нашлось, показываем популярные категории, форму заявки и телефон, а не белый экран с фразой "ничего не найдено".
- Приоритеты. Категории и услуги выше отдельных товаров, актуальное выше архивного.
- Синонимы. "Стиралка" находит стиральную машину, "лендинг" находит посадочную страницу.
- Поиск по артикулу и коду. Точное совпадение по артикулу выводится первым, даже если артикул написан без дефисов.
- Фильтры внутри результатов. Особенно на каталогах: цена, наличие, бренд.
- Работа на мобильном. Поле не прыгает при открытии клавиатуры, подсказки не перекрывают кнопку.
- Логирование запросов. Все запросы сохраняются с датой и количеством результатов.
- Исключение служебных страниц. Корзина, кабинет, служебные шаблоны в индекс не попадают.
- Индексация обновлений. Новый товар появляется в поиске сразу после публикации, а не после ночной переиндексации.
К пункту 4 стоит отнестись серьёзнее, чем принято. Пустая выдача - это точка, где человек решает: искать дальше или закрыть вкладку. Мы обычно ставим туда телефон с текстом вида "не нашли нужное? позвоните, подберём вручную". На каталоге промоборудования это дало 11 заявок в первый месяц с тех страниц, где раньше было просто "ничего не найдено".
Что происходит со скоростью
Поиск с подсказками отправляет запрос на каждое нажатие клавиши. Без ограничений это десятки запросов к базе за секунду, и на слабом хостинге сайт начинает подтормаживать целиком.
Две обязательные вещи. Задержка перед отправкой запроса, обычно 250-300 мс после последнего символа. И минимальная длина запроса от трёх символов: по одной букве осмысленной выдачи всё равно не будет.
Отдельный поисковый движок снимает нагрузку с основной базы: индекс живёт в памяти, запросы к нему не мешают выдаче страниц. Если сайт уже медленный, начинать надо не с поиска, а с базовой оптимизации, об этом подробно в материале как ускорить сайт до 1,5 секунды.
Поиск и SEO: как не наплодить мусорных страниц
Страницы результатов поиска вида /?s=окна не должны попадать в индекс Яндекса и Google. Это классический источник дублей: тысячи адресов с одним и тем же шаблоном и разным набором товаров.
Закрываем их в robots.txt и ставим noindex на шаблон выдачи. Как это оформить, разбирали в статье про sitemap.xml и robots.txt.
Обратная ситуация тоже встречается. Если из статистики поиска видно, что 300 человек в месяц ищут "москитные сетки на балкон", а такой категории нет, её стоит создать как обычную страницу каталога с текстом и фильтрами. Это уже не поиск, а полноценная посадочная страница под спрос, и она может собирать трафик из поисковиков. Такой приём хорошо сочетается с работой над семантикой, которую мы описывали в сборе семантического ядра.
Сколько стоит внедрение
Цены на середину 2026 года, по нашим работам.
| Задача | Срок | Стоимость |
|---|---|---|
| Настройка штатного поиска, исключение служебных страниц, живая переиндексация | 1-2 дня | 12 000 - 20 000 рублей |
| Relevanssi или SearchWP с подсказками и логированием запросов на WordPress | 3-4 дня | 25 000 - 40 000 рублей |
| Meilisearch или Typesense: сервер, индексация, подсказки, опечатки, синонимы | 5-8 дней | 60 000 - 110 000 рублей |
| Поиск по каталогу с фильтрами внутри выдачи и приоритетами | от 10 дней | от 150 000 рублей |
| Извлечение текста из PDF при загрузке и поиск по документам | 2-3 дня | 20 000 - 35 000 рублей |
Ориентировочную стоимость своей задачи можно посчитать в калькуляторе, а точную мы называем после того, как посмотрим объём каталога и текущий движок.
С чего начать, если поиск уже есть и работает плохо
Порядок действий, который экономит деньги: сначала измерить, потом менять.
Включите логирование запросов и подождите две-три недели. Выпишите топ-50 запросов и все запросы с нулевым результатом. Дальше почти всегда выясняется, что половина проблем решается без нового движка: добавить синонимы, дописать характеристики в описания товаров, включить недостающие типы записей в индекс.
Отдельный движок нужен, когда в логах видно опечатки, запросы по параметрам и попытки искать по артикулам. Тогда штатный модуль уже не догоняет, и дальнейшая его донастройка обходится дороже, чем переход на Meilisearch.
Если хотите, чтобы мы посмотрели статистику поиска на вашем сайте и сказали, что с ним делать, напишите нам через форму на странице контактов или заполните бриф. Разбор занимает 2-3 рабочих дня.

