Поиск товаров для виджетов
- По текстовому запросу
- По запросу из HTML-элемента
- По ID товара на Маркете
- По ID категории
- По URL страницы Маркета
- По характеристикам товара
- Поиск интим‑товаров для виджетов
- Как улучшить результаты поискового запроса
По текстовому запросу
Задайте запрос, чтобы в виджете показывались товары, найденные по этому запросу. Чтобы нашлась конкретная модель, укажите в запросе ее основные параметры. Например: Sony PlayStation 4 Slim 500 ГБ
. Если модель не найдется, загрузятся результаты поиска Маркета для похожей модели.
body
. Этот элемент содержит контент, который отображается в браузере на веб‑странице сайта.- Как задать запрос
-
- В конструкторе: в меню Поиск выберите по текстовому запросу и введите запрос.
- Вручную в коде: укажите запрос в параметре
searchText
(например,searchText: "Умная колонка"
).
- Точный поиск
-
В виджете можно показывать только те товары, названия которых содержат все слова из вашего запроса. Для этого:
- В конструкторе (только для виджетов Маркета): включите опцию Точный поиск.
- Вручную в коде: добавьте параметр
searchMatch: "exact"
.
Если товар не найдется (например, он уже не продается на Маркете), виджет не будет отображаться.
По запросу из HTML-элемента
Выберите селектор для элемента, из которого взять поисковый запрос. В виджет загрузятся товары, найденные по этому запросу. Если на странице несколько подходящих элементов, используется первый.
Чтобы в виджет с предложениями попал нужный товар, используйте элемент только с названием товара и его параметрами. Если в запрос попадут другие слова, результат поиска может быть неточным. Если на странице нет подходящего элемента, вы можете добавить скрытый элемент (с атрибутом style="display: none;"
).
- Как указать селектор
-
- В конструкторе: в меню Поиск выберите по запросу из HTML-тега и укажите селектор.
- Вручную в коде: укажите селектор в
searchSelector
. Чтобы задать отдельный атрибут, добавьте его вsearchSelectorAttr
.
- Как задать запрос в коде контейнера
-
В качестве элемента для поиска можно использовать контейнер виджета, добавив к нему атрибут с названием товара. Для этого нужно указать селектор контейнера в параметре
searchSelector
, а название атрибута — в параметреsearchSelectorAttr
. Это удобно, если требуется вставлять одинаковый скрипт виджета на разные страницы, меняя только код контейнера.Внимание. Если поисковый запрос задан в коде контейнера, виджет отобразится позже, чем при поиске по текстовому запросу, — только после загрузки полного HTML-кода страницы. Пользователи могут не увидеть виджет до его загрузки (например, если пролистают его или уйдут со страницы) и не совершить оплачиваемые клики.ПримерВ элементе
head
:<script async src="https://aflt.market.yandex.ru/widget/script/api" type="text/javascript"> </script> <script type="text/javascript"> ... w.YaMarketAffiliate.createWidget({ containerId: "marketWidget", type: "offers", params: { clid: 2310490, searchSelector: "div#marketWidget", searchSelectorAttr: "data-search-text", themeId: 2 } }); ... </script>
СкопированоВ элементе
body
:<div id="marketWidget" data-search-text="Яндекс.Телефон"></div>
Примечание. Вставляйте код виджета в элементhead
. Этот элемент содержит информацию, по которой браузеры и поисковые системы определяют, как должен выглядеть сайт. - Точный поиск
-
В виджете можно показывать только те товары, названия которых содержат все слова из вашего запроса. Для этого:
- В конструкторе (только для виджетов Маркета): включите опцию Точный поиск.
- Вручную в коде: добавьте параметр
searchMatch: "exact"
.
Если товар не найдется (например, он уже не продается на Маркете), виджет не будет отображаться.
- Примеры селекторов и запросов
Элемент на сайте | Что указать | Какой запрос получится |
---|---|---|
Заголовок на странице: | Конструктор: Селектор — |
|
Код: | ||
Часть заголовка: | Конструктор: Селектор — |
|
Код: | ||
Название страницы: | Конструктор: Селектор — |
|
Код: | ||
Любой тег с атрибутом | Конструктор: Селектор — |
|
Код: | ||
Любой тег с любым атрибутом. Текст для запроса в самом теге: | Конструктор: Селектор — |
|
Код: | ||
Любой тег с любым атрибутом. Текст для запроса в атрибуте: | Конструктор: Селектор — Атрибут — | Яндекс.Устройство |
Код: |
Элемент на сайте | Что указать | Какой запрос получится |
---|---|---|
Заголовок на странице: | Конструктор: Селектор — |
|
Код: | ||
Часть заголовка: | Конструктор: Селектор — |
|
Код: | ||
Название страницы: | Конструктор: Селектор — |
|
Код: | ||
Любой тег с атрибутом | Конструктор: Селектор — |
|
Код: | ||
Любой тег с любым атрибутом. Текст для запроса в самом теге: | Конструктор: Селектор — |
|
Код: | ||
Любой тег с любым атрибутом. Текст для запроса в атрибуте: | Конструктор: Селектор — Атрибут — | Яндекс.Устройство |
Код: |
По ID товара на Маркете
В виджете Маркета можно показывать товары, найденные по их идентификаторам на Маркете.
- Как указать ID товаров
-
- В конструкторе: в меню Поиск выберите по ID товара на Маркете и укажите идентификаторы через запятую.
- Вручную в коде: укажите идентификаторы в параметре
searchModelIds
. Например:searchModelIds: [1971204201, 177547282]
.
Внимание. Для виджетов Маркета «Где купить товар», рекомендательных виджетов и виджетов с информацией о товарах можно указать только один идентификатор. - Как узнать идентификатор товара
-
Откройте карточку товара на Маркете и посмотрите на ее URL. Идентификатор — это набор цифр перед вопросительным знаком (или, если его нет, в конце URL). Например:
https://market.yandex.ru/product/1971204201
https://market.yandex.ru/product--smartfon-yandex-telefon/1971204201?glfilter==...
Если для указанного товара не будут найдены подходящие предложения в регионе пользователя или товар больше не размещается на Маркете, вместо виджета появятся сообщение «Нет в продаже» и рекомендательная подборка «С этим товаром смотрят».
По ID категории
Самостоятельный поиск по ID категории поддерживается только для виджета Маркета «Подборка товаров». При этом он используется только вместе с другим видом поиска для виджетов:
«Скидки дня»;
В виджете Маркета «Подборка товаров» можно показывать товары из определенных категорий.
- Как указать ID категорий
-
- В конструкторе: в меню Поиск выберите по ID категории и укажите идентификаторы через запятую.
- Вручную в коде: укажите идентификаторы в параметре
searchCategoryIds
. Например:searchModelIds: [1971204201, 177547282]
.
Если указать несколько ID категорий, товары из них будут отображаться в виджете вперемежку. Например, если указаны категории A, B, C, то порядок будет такой:
- Первый товар из категории A.
- Первый товар из категории B.
- Первый товар из категории C.
- Второй товар из категории A.
- Второй товар из категории B.
- Второй товар из категории C и так далее.
- Как узнать идентификатор категории
-
Откройте страницу категории на Маркете и посмотрите на ее URL. Идентификатор — это набор цифр после «...?hid=». Например:
https://market.yandex.ru/catalog/54726/list?hid=91491
По URL страницы Маркета
Чтобы найти товары для виджета, в поисковой строке в конструкторе укажите ссылку на одну из страниц Маркета:
карточку товара;
страницу категории;
страницу с результатами поиска.
Все страницы могут быть из раздела «Покупки» или других разделов Маркета.
После того как вы вставите ссылку в конструкторе, вы получите релевантные результаты поиска. Из них вы можете выбрать подходящий текстовый запрос или конкретный товар на Маркете.
По характеристикам товара
В виджете можно показывать товары, найденные по параметрам на Маркете (например, смартфоны Android с диагональю экрана 5.5"–5.9"). Вы можете указать все параметры, которые используются на Маркете.
searchText
или searchSelector
). См. пример.Чтобы указать параметры товара в виджете:
- Перейдите на Яндекс.Маркет.
- Откройте нужную категорию и выберите параметры фильтрации (например, операционная система Android, диагональ экрана 5.5"–5.9").
Скопируйте все параметры
glfilter
из адресной строки.В код виджета добавьте параметр
searchFilters
со скопированным значением из адресной строки.<script async src="https://aflt.market.yandex.ru/widget/script/api" type="text/javascript"></script> <script type="text/javascript"> (function (w) { function start() { w.removeEventListener("YaMarketAffiliateLoad", start); w.YaMarketAffiliate.createWidget({ containerId: "marketWidget", type: "models", params: { clid: 2310490, searchText: "Смартфон", themeId: 1, searchFilters: "glfilter=13476053%3A1&glfilter=15156912%3A15934123" } }); } w.YaMarketAffiliate ? start() : w.addEventListener("YaMarketAffiliateLoad", start); })(window); </script> <div id="marketWidget"></div>
Поиск интим‑товаров для виджетов
Если вы хотите показать в виджете интим‑товары, используйте поиск по ID товара на Маркете или по текстовому запросу. В первом случае поисковый запрос можно задать в конструкторе или в коде вручную, а во втором — только в коде.
Если вы настроили текстовый поисковый запрос, добавьте в код виджета параметр searchAdult
со значением true
. Для поиска по ID товара параметр указывать не нужно.
После настройки виджета он будет содержать интим‑товары из категории Товары для взрослых с возрастным ограничением 18+. Товары отобразятся после того, как пользователь подтвердит, что ему есть 18 лет.
Как улучшить результаты поискового запроса
Зачастую требуется улучшить результаты поискового запроса, чтобы в виджете показывались более релевантные товары и предложения. Для этого используйте советы по настройке поиска:
Попробуйте включить поиск по ID товара на Маркете. Этот способ является самым точным. Тогда в виджете отобразятся только те товары, идентификаторы которых вы укажете в конструкторе или в коде виджета.
Способы поиска по текстовому запросу или по запросу из HTML‑элемента настроены таким образом, что по умолчанию они выдают наиболее релевантные результаты поиска. Если вы используете один из этих двух способов, включите опцию Точный поиск в конструкторе или добавьте в код параметр
searchMatch: "exact"
. Тогда в виджете будет показан только тот товар, название которого содержит все слова из запроса.Иногда фильтр точного поиска приводит к тому, что в виджете товары не отображаются. Это происходит по разным причинам: товары, указанные в поисковом запросе, отсутствуют на Маркете или не продаются в малых регионах.
В этом случае попробуйте отключить опцию в конструкторе или удалить из кода параметр. Затем измените запрос. Если вы указали название конкретного товара, используйте вместо него более общее название для группы аналогичных товаров. Если вы указали, наоборот, неточное название, попробуйте задать в запросе модель и характеристики товара.
ПримерДопустим, в виджете нужно показать видеокарту ASUS GeForce GTX 1060. Если по текстовому запросу Asus GeForce GTX 1060 не найдены товары на Маркете, укажите поисковый запрос GeForce GTX 1060. В этом случае количество результатов поиска может увеличиться, и для всех регионов в виджете будут показаны видеокарты от различных производителей.
Если в виджете вам нужно в первую очередь показывать товары и предложения из региона пользователя, включите в конструкторе опцию Сначала местные предложения или укажите в коде виджета параметр
searchLocalOffersFirst: true
. Если этого параметра в коде нет или он принимает значениеfalse
, в результатах поиска ни один регион не окажется в приоритете, и в виджете сначала могут быть показаны товары и предложения из любого региона.