Товар в каталоге есть, а строка поиска отвечает "0 результатов" — типичная ошибка и боль после обмена с 1С или CSV-импорта. На практике поиск на CMS "1С-Битрикс: Управление сайтом" строится из модуля "Поиск", флагов инфоблока и компонентов в шаблоне, а не из "умной магии". Ниже включите модуль, отметите рабочий каталог в индексе, снимете галку "только изменённые" при полной переиндексации и проверите выдачу по названию и артикулу.
Поиск на сайте - это индекс модуля "Поиск", а не список галочек фильтра. Сначала включите индексацию разделов и элементов у боевого инфоблока, затем полную переиндексацию без "только изменённые". В search.title / search.page / catalog.search отметьте рабочий каталог, иначе выдача останется на демо-ИБ. Контрольный тест: название и артикул активного товара открывают карточку.
Речь про коробочную CMS на своём хостинге, не про облачный CRM Bitrix24. Коротко: умный фильтр сужает список товаров по свойствам, поиск находит карточку по текстовому запросу в индексе. Глубокая настройка фасетов - в гайде по умному фильтру.
Когда нужен поиск на CMS Битрикс и чем он отличается от фильтра
Строка в шапке нужна, когда покупатель помнит название, артикул или бренд и не хочет кликать галочки. Фильтр удобен, когда человек ещё выбирает: цвет, размер, цена. Из практики: путать их опасно — вы правите catalog.smart.filter, а "глухой" остаётся именно индекс модуля "Поиск". Частая проблема: фильтр блестит, а строка поиска не работает.
| Симптом | Вероятная причина | Что сделать |
|---|---|---|
| 0 результатов, товар в админке есть | ИБ не индексируется или индекс устарел | Флаги ИБ + полная переиндексация |
| Находит только демо-каталог | В компоненте не отмечен рабочий ИБ | arrFILTER / CATEGORY на боевой каталог |
| Не ищет по артикулу в шапке | search.title смотрит TITLE; артикул не в индексе | Свойство в поиске + BeforeIndex → полная переиндексация |
| После выгрузки из 1С пусто | Переиндексация с галкой "только изменённые" | Снять галку, модуль iblock, шаг 5–20 сек |
Делайте: сначала чините модуль "Поиск" и индекс. Не делайте: не подменяйте поиск настройкой умного фильтра и не копируйте инструкции Bitrix24.
Настройте модуль "Поиск" до первой индексации
Проверьте, что модуль установлен: Настройки → Настройки продукта → Настройки модулей → Поиск (официальный путь в справке по настройкам модуля). В части редакций модуль может отсутствовать - без него компоненты search.* работать не будут.
- Откройте настройки модуля "Поиск" и сохраните базовые параметры без "экспериментов наугад".
- Проверьте морфологию и быстрый поиск - они влияют на склонения и подсказки, но не заменяют индекс.
- Посмотрите маски включения/исключения: служебные папки и лишние разделы не должны раздувать индекс.
- Убедитесь, что права пользователей позволяют видеть нужные элементы: search.page учитывает права.
- Например, исключите /bitrix/ и черновики разделов из масок, если они раздувают индекс.
- Только после этого переходите к флагам инфоблока — иначе переиндексация индексирует "пустоту".
Делайте: зафиксируйте настройки модуля до массовой переиндексации. Не делайте: не гоняйте полную переиндексацию на каждый чих маски - сначала правьте флаги ИБ.
Включите индексацию инфоблока и свойств товаров
Инфоблок (ИБ) - это "ящик" с товарами или статьями в Битрикс. Пока у ящика выключены "Индексировать разделы" и "Индексировать элементы", модуль "Поиск" его не видит. Сверьте URL детальной и раздела: без корректных шаблонов URL в индексе окажутся битые ссылки (урок курса "Настройки инфоблока для поиска").
Для артикула и других свойств включите участие в поиске в карточке свойства. Важно: компонент bitrix:search.title по умолчанию ищет по заголовкам индекса. Чтобы находить по CML2_ARTICLE в строке шапки, официальный пример события BeforeIndex дописывает значение свойства в TITLE - после правки init.php нужна полная переиндексация, иначе артикул в выдаче не появится (BeforeIndex в api_help).
Схема:
Модуль "Поиск" → флаги ИБ (разделы/элементы) → свойства "в поиске" / BeforeIndex → полная переиндексация → компоненты на витрине → тест по названию и артикулу
Делайте: индексируйте только боевой каталог и нужные разделы контента. Не делайте: не ждите, что галка у свойства сама починит search.title без переиндексации.
Запустите переиндексацию после импорта правильно
Переиндексация - это "пересборка каталожной картотеки" поиска. Пока индекс не обновлён, новинки после импорта или загрузки по FTP в выдаче не появятся (справка по переиндексации).
- Откройте Настройки → Поиск → Переиндексация.
- Выберите сайт и модуль "[iblock] Информационные блоки" (или все модули, если нужно).
- Снимите галку "Переиндексировать только изменённые" после обмена с 1С / CSV - иначе часть новинок не попадёт в индекс.
- Задайте шаг 5–10 на старте или около 20 на типичном каталоге, если сервер "задыхается".
- Дождитесь завершения и сбросьте кеш сайта.
- Если после CSV отдельные SKU всё ещё "глухие", пересохраните элемент в админке и повторите полную переиндексацию.
При частых выгрузках имеет смысл повесить агент/cron с циклом CSearch::ReIndexAll — детали агентов не разворачиваем здесь, см. агенты и cron на Битрикс.
Делайте: полную переиндексацию iblock после крупных импортов. Не делайте: не оставляйте "только изменённые" как единственный режим после ночной выгрузки.
Выведите search.title, search.page и catalog.search без "0 результатов"
Три штатных инструмента:
- bitrix:search.title - строка в шапке с подсказками; параметры PAGE, CATEGORY_N, TOP_COUNT.
- bitrix:search.page - страница результатов; arrFILTER / SHOW_WHERE / RESTART часто ломают выдачу, если отмечен не тот ИБ.
- bitrix:catalog.search - поиск по каталогу с ценами и свойствами; CHECK_DATES, RESTART, USE_TITLE_RANK.
Типовой провал с форумов: индекс уже есть, а находит только демо — в ограничении области компонента не отмечен рабочий каталог. Здесь часто ломается выдача: PAGE у search.title должен вести на реальную страницу с search.page или на раздел каталога, где стоит catalog.search. Базу магазина и карточку товара сверьте в сборке интернет-магазина и карточке товара.
Делайте: зафиксируйте CATEGORY / arrFILTER на ID боевого ИБ и проверьте права. Не делайте: не оставляйте демо-каталог в фильтрах "на всякий случай".
Проверьте выдачу по названию и артикулу: чек-лист
- Возьмите активный товар с витрины: запомните название и артикул.
- Введите название в search.title - должна открыться карточка, не "0 результатов".
- Введите артикул - если пусто, вернитесь к свойству / BeforeIndex и полной переиндексации.
- Проверьте search.page / catalog.search тем же запросом.
- Убедитесь, что неактивный товар не в выдаче (CHECK_DATES).
- Сбросьте кеш и повторите тест из режима инкогнито.
- После следующей выгрузки из 1С - снова полная переиндексация без "только изменённые".
SEO-продвижение сайта и meta - отдельная тема: SEO-настройка на Битрикс. Если после чек-листа индекс всё ещё пустой, а каталог большой - разумно обсудить настройку поиска на проекте.
Делайте: один контрольный артикул как "лакмус" после каждого импорта. Не делайте: не покупайте сторонний "умный поиск" из маркетплейса, пока штатный модуль не прошёл этот чек-лист.
Автор: Максим Мольков, разработчик 1С-Битрикс.
Источники: официальная документация 1С-Битрикс - настройки модуля Поиск, переиндексация, search.title / search.page / catalog.search, событие BeforeIndex (dev.1c-bitrix.ru); практика форумов сообщества по arrFILTER и пустой выдаче после импорта. Проверено на 2026-07-16.
Частые вопросы
Почему поиск не находит товар, хотя он есть в каталоге?
Проверьте флаги "Индексировать элементы/разделы" у инфоблока, снимите "только изменённые" и сделайте полную переиндексацию модуля iblock, затем в search.page / catalog.search отметьте рабочий ИБ в arrFILTER / CATEGORY и сбросьте кеш.
Нужно ли переиндексировать сайт после импорта из 1С?
Да. После обмена или CSV-импорта новинки не попадут в выдачу, пока индекс не пересобран. Запускайте полную переиндексацию без галки "только изменённые"; при частых выгрузках добавьте агент с CSearch::ReIndexAll.
Чем поиск на Битрикс отличается от умного фильтра?
Умный фильтр сужает список по галочкам свойств (бренд, цена). Поиск ищет по текстовому запросу в индексе модуля "Поиск". Если товар не находится по артикулу - чините индекс и компоненты search.*, а не catalog.smart.filter.
Можно ли искать по свойствам и артикулу?
Включите у свойства участие в поиске. Для строки search.title по артикулу CML2_ARTICLE используйте BeforeIndex по официальному примеру (дописать значение в TITLE), затем обязательно полную переиндексацию.
Какой компонент поставить: search.title, search.page или catalog.search?
search.title - строка в шапке; search.page - общая страница результатов; catalog.search - витрина каталога с ценами и свойствами. Часто нужны связка title + page или title + catalog.search с PAGE на нужный URL.
Почему после переиндексации всё ещё только демо-каталог?
Индекс может быть в порядке, а в параметрах компонента область поиска ограничена демо-ИБ. Откройте параметры search.page / catalog.search / CATEGORY у search.title и отметьте ID боевого каталога.
Было полезно?
Поставьте лайк, если статья помогла разобраться.
Поделиться статьёй
Отправьте тому, кому это пригодится.
Можно поделиться и фрагментом: выделите текст статьи.