Умный поиск

Как поставить поиск на сайт одной строкой

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

Филимонов Иван3 мин чтения
Страница товара на экране ноутбука рядом с чашкой и смартфоном
Фото: Igor Miske / Unsplash

Улучшить поиск на сайте можно двумя путями: переписать собственный или подключить внешний. Первый путь — проект с разработкой, второй — строка скрипта. Разбираем, что стоит за вторым вариантом и на что смотреть при подключении.

Что делает встраиваемый виджет

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

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

<script src="https://api.cartflow.ru/search-widget.js"
        data-key="sk_ваш_ключ" async></script>

Атрибут async здесь не косметика: без него загрузка скрипта блокирует отрисовку страницы, и вы ухудшаете скорость сайта ради поиска, которым воспользуется часть посетителей.

Что настраивается без кода

Разумный виджет выносит в кабинет то, ради чего иначе пришлось бы звать разработчика:

  • цвета, шрифт и радиусы под дизайн сайта;
  • позицию и вид кнопки или строки;
  • поля, показываемые в результате: цена, наличие, артикул, картинка;
  • порядок и состав фильтров;
  • тексты — заглушку, сообщение при пустом результате, кнопку.

Если для смены цвета кнопки нужно править скрипт на сайте, это не настройка, а разработка в другой обёртке.

Безопасность: белый список доменов

Ключ доступа виден в исходном коде страницы — так устроен любой клиентский виджет. Значит, ключ сам по себе не может быть секретом.

Защищает не секретность ключа, а ограничение по источнику: запросы принимаются только с доменов, которые вы указали. Чужой сайт с вашим ключом получит отказ.

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

Отдельные ключи на сервисы

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

Что проверить после подключения

Скорость. Замерьте показатели страницы до и после. Асинхронный скрипт не должен менять время до первой отрисовки; если изменилось — разбирайтесь.

Мобильную версию. Поиск с телефона — обычно больше половины обращений. Строка должна открываться на весь экран, клавиатура не должна перекрывать первые результаты.

Клавиатуру. Стрелки вверх-вниз по подсказкам, Enter — переход, Escape — закрытие. Это ожидаемое поведение, его отсутствие замечают сразу.

Поведение без результата. Что видит покупатель, когда ничего не нашлось: пустой экран или альтернативы и предложение спросить менеджера.

Ссылки на товары. Виджет должен вести на карточки вашего сайта, а не на промежуточную страницу.

Когда виджет не подойдёт

Честно о границах:

  • Нужна глубокая интеграция с корзиной — добавление в корзину прямо из выдачи с учётом вашей логики цен и скидок.
  • Особая логика ранжирования, завязанная на данные, которых нет в фиде: маржинальность, склады, персональные цены.
  • Собственный поиск уже работает хорошо и проблема в другом месте.

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

Коротко

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

Вопросы по теме статьи

Нужно ли переделывать сайт ради нового поиска?

Нет. Виджет подключается одной строкой скрипта с вашим ключом; вёрстку и шаблоны магазина трогать не нужно. Внешний вид настраивается в кабинете.

Как защититься от использования ключа посторонними?

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

Замедлит ли виджет загрузку сайта?

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

Умный поиск по каталогу товаров для интернет-магазина

Поиск, который переживает опечатки, чужую раскладку и запрос по характеристикам. Три канала поиска сразу, живые фильтры, менее 50 мс на каталоге 100 000+ товаров.

Читайте дальше