Как настроить поиск на 1С-Битрикс: модуль, индекс, строка поиска и проверка по каталогу

Товар в каталоге есть, а строка поиска отвечает "0 результатов" — типичная ошибка и боль после обмена с 1С или CSV-импорта. На практике поиск на CMS "1С-Битрикс: Управление сайтом" строится из модуля "Поиск", флагов инфоблока и компонентов в шаблоне, а не из "умной магии". Ниже включите модуль, отметите рабочий каталог в индексе, снимете галку "только изменённые" при полной переиндексации и проверите выдачу по названию и артикулу.

Поиск на сайте - это индекс модуля "Поиск", а не список галочек фильтра. Сначала включите индексацию разделов и элементов у боевого инфоблока, затем полную переиндексацию без "только изменённые". В search.title / search.page / catalog.search отметьте рабочий каталог, иначе выдача останется на демо-ИБ. Контрольный тест: название и артикул активного товара открывают карточку.

Речь про коробочную CMS на своём хостинге, не про облачный CRM Bitrix24. Коротко: умный фильтр сужает список товаров по свойствам, поиск находит карточку по текстовому запросу в индексе. Глубокая настройка фасетов - в гайде по умному фильтру.

Когда нужен поиск на CMS Битрикс и чем он отличается от фильтра

Таблица сравнения: модуль Поиск CMS Битрикс против умного фильтра каталога

Строка в шапке нужна, когда покупатель помнит название, артикул или бренд и не хочет кликать галочки. Фильтр удобен, когда человек ещё выбирает: цвет, размер, цена. Из практики: путать их опасно — вы правите catalog.smart.filter, а "глухой" остаётся именно индекс модуля "Поиск". Частая проблема: фильтр блестит, а строка поиска не работает.

Симптом Вероятная причина Что сделать
0 результатов, товар в админке есть ИБ не индексируется или индекс устарел Флаги ИБ + полная переиндексация
Находит только демо-каталог В компоненте не отмечен рабочий ИБ arrFILTER / CATEGORY на боевой каталог
Не ищет по артикулу в шапке search.title смотрит TITLE; артикул не в индексе Свойство в поиске + BeforeIndex → полная переиндексация
После выгрузки из 1С пусто Переиндексация с галкой "только изменённые" Снять галку, модуль iblock, шаг 5–20 сек

Делайте: сначала чините модуль "Поиск" и индекс. Не делайте: не подменяйте поиск настройкой умного фильтра и не копируйте инструкции Bitrix24.

Настройте модуль "Поиск" до первой индексации

Схема настройки модуля Поиск 1С-Битрикс до первой индексации

Проверьте, что модуль установлен: Настройки → Настройки продукта → Настройки модулей → Поиск (официальный путь в справке по настройкам модуля). В части редакций модуль может отсутствовать - без него компоненты search.* работать не будут.

  1. Откройте настройки модуля "Поиск" и сохраните базовые параметры без "экспериментов наугад".
  2. Проверьте морфологию и быстрый поиск - они влияют на склонения и подсказки, но не заменяют индекс.
  3. Посмотрите маски включения/исключения: служебные папки и лишние разделы не должны раздувать индекс.
  4. Убедитесь, что права пользователей позволяют видеть нужные элементы: search.page учитывает права.
  5. Например, исключите /bitrix/ и черновики разделов из масок, если они раздувают индекс.
  6. Только после этого переходите к флагам инфоблока — иначе переиндексация индексирует "пустоту".

Делайте: зафиксируйте настройки модуля до массовой переиндексации. Не делайте: не гоняйте полную переиндексацию на каждый чих маски - сначала правьте флаги ИБ.

Включите индексацию инфоблока и свойств товаров

Чеклист включения индексации инфоблока и свойств товаров в поиске Битрикс

Инфоблок (ИБ) - это "ящик" с товарами или статьями в Битрикс. Пока у ящика выключены "Индексировать разделы" и "Индексировать элементы", модуль "Поиск" его не видит. Сверьте URL детальной и раздела: без корректных шаблонов URL в индексе окажутся битые ссылки (урок курса "Настройки инфоблока для поиска").

Для артикула и других свойств включите участие в поиске в карточке свойства. Важно: компонент bitrix:search.title по умолчанию ищет по заголовкам индекса. Чтобы находить по CML2_ARTICLE в строке шапки, официальный пример события BeforeIndex дописывает значение свойства в TITLE - после правки init.php нужна полная переиндексация, иначе артикул в выдаче не появится (BeforeIndex в api_help).

Схема:
Модуль "Поиск" → флаги ИБ (разделы/элементы) → свойства "в поиске" / BeforeIndex → полная переиндексация → компоненты на витрине → тест по названию и артикулу

Делайте: индексируйте только боевой каталог и нужные разделы контента. Не делайте: не ждите, что галка у свойства сама починит search.title без переиндексации.

Запустите переиндексацию после импорта правильно

Переиндексация - это "пересборка каталожной картотеки" поиска. Пока индекс не обновлён, новинки после импорта или загрузки по FTP в выдаче не появятся (справка по переиндексации).

  1. Откройте Настройки → Поиск → Переиндексация.
  2. Выберите сайт и модуль "[iblock] Информационные блоки" (или все модули, если нужно).
  3. Снимите галку "Переиндексировать только изменённые" после обмена с 1С / CSV - иначе часть новинок не попадёт в индекс.
  4. Задайте шаг 5–10 на старте или около 20 на типичном каталоге, если сервер "задыхается".
  5. Дождитесь завершения и сбросьте кеш сайта.
  6. Если после 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 боевого ИБ и проверьте права. Не делайте: не оставляйте демо-каталог в фильтрах "на всякий случай".

Проверьте выдачу по названию и артикулу: чек-лист

  1. Возьмите активный товар с витрины: запомните название и артикул.
  2. Введите название в search.title - должна открыться карточка, не "0 результатов".
  3. Введите артикул - если пусто, вернитесь к свойству / BeforeIndex и полной переиндексации.
  4. Проверьте search.page / catalog.search тем же запросом.
  5. Убедитесь, что неактивный товар не в выдаче (CHECK_DATES).
  6. Сбросьте кеш и повторите тест из режима инкогнито.
  7. После следующей выгрузки из 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 боевого каталога.

Обсудить вашу задачу

Было полезно?

Поставьте лайк, если статья помогла разобраться.

Поделиться статьёй

Отправьте тому, кому это пригодится.

Telegram ↗ MAX ↗ ВКонтакте ↗ Одноклассники ↗
Все статьи ↗

Как настроить регистрацию и личный кабинет покупателя на 1С-Битрикс?

Структура шаблонов сайта в Битриксе и поиск header footer

Как настроить скидки и промокоды на 1С-Битрикс: правила корзины и купоны