Поиск товаров для виджетов
- По текстовому запросу
- По запросу из HTML-элемента
- По ID товара на Маркете
- По ID категории
- По URL страницы Маркета
- По акции на Маркете
- По характеристикам товара
- Поиск интим‑товаров для виджетов
- Как улучшить результаты поискового запроса
По текстовому запросу
Задайте запрос, чтобы в виджете показывались товары, найденные по этому запросу. Чтобы нашлась конкретная модель, укажите в запросе ее основные параметры. Например: Sony PlayStation 4 Slim 500 ГБ
. Если модель не найдется, загрузятся результаты поиска Маркета для похожей модели.
body
. Этот элемент содержит контент, который отображается в браузере на веб‑странице сайта.- Как задать запрос
-
- В конструкторе: на вкладке Внешний вид введите запрос в поисковую строку.
- Вручную в коде: укажите запрос в параметре
searchText
(например,searchText: "Умная колонка"
).
- Точный поиск
-
В виджете можно показывать только те товары, названия которых содержат все слова из вашего запроса. Для этого:
- В конструкторе (только для виджетов Маркета): включите опцию Точный поиск.
- Вручную в коде: добавьте параметр
searchMatch: "exact"
.
Если товар не найдется (например, он уже не продается на Маркете), виджет не будет отображаться.
По запросу из HTML-элемента
Выберите селектор для элемента, из которого взять поисковый запрос. В виджет загрузятся товары, найденные по этому запросу. Если на странице несколько подходящих элементов, используется первый.
Чтобы в виджет с предложениями попал нужный товар, используйте элемент только с названием товара и его параметрами. Если в запрос попадут другие слова, результат поиска может быть неточным. Если на странице нет подходящего элемента, вы можете добавить скрытый элемент (с атрибутом style="display: none;"
).
- Как указать селектор
-
Используйте в коде виджета параметр
searchSelector
. Чтобы задать отдельный атрибут, добавьте его вsearchSelectorAttr
.В конструкторе соответствующих опций нет, но вы можете сформировать в нем виджет и добавить в код параметры
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 товаров
-
В конструкторе: в поисковой строке на вкладке Внешний вид укажите идентификаторы через запятую.
Вручную в коде: укажите идентификаторы в параметре
searchModelIds
, чтобы показать в виджете определенную модель товара, илиsearchSkuIds
, чтобы показать конкретный вариант товара. Примеры:searchModelIds: [1971204201, 177547282] // или searchSkuIds: [101077348745, 101077348748]
Скопировано
При указании ID товаров вручную в коде виджета « Подборка товаров » допускается одновременное использование параметров
searchModelIds
иsearchSkuIds
. При этом на первом месте в виджете всегда будут отображаться товары, добавленные по параметруsearchSkuIds
.Внимание. Для виджетов « Один товар », рекомендательных виджетов и виджетов с информацией о товарах можно указать только один идентификатор. - Как узнать идентификатор товара или его варианта
-
Откройте карточку товара на Маркете и посмотрите на ее URL. Идентификатор товара — это набор цифр перед вопросительным знаком (или, если его нет, в конце URL). Например:
https://market.yandex.ru/product/368977000
https://market.yandex.ru/product--kholodilnik-lg-ga-b509ceum/765615992?glfilter==...
Идентификатор варианта товара — это набор цифр после «...sku=». Например:
https://market.yandex.ru/product--besprovodnye-naushniki-samsung-galaxy-buds-live/674368003?sku=101053681072&glfilter=...
Иногда вместо виджета появляется сообщение «Нет в продаже» и рекомендательная подборка « С этим товаром смотрят ». Они отображаются, если:
для указанного товара не нашлись подходящие предложения в регионе пользователя;
товар больше не размещается на Маркете.
По ID категории
Самостоятельный поиск по ID категории поддерживается только для виджета Маркета « Подборка товаров ». При этом он используется только вместе с другим видом поиска для виджетов:
« Один товар »;
« Популярные товары »;
« Скидки дня »;
В виджете Маркета « Подборка товаров » можно показывать товары из определенных категорий.
- Как указать ID категорий
-
- В конструкторе: в поисковой строке на вкладке Внешний вид укажите не более трех идентификаторов через запятую.
- Вручную в коде: укажите идентификаторы в параметре
searchCategoryIds
. Например:searchCategoryIds: [1971204201, 177547282]
.
Если указать несколько ID категорий, товары из них будут отображаться в виджете вперемежку. Например, если указаны категории A, B, C, то порядок будет такой:
- Первый товар из категории A.
- Первый товар из категории B.
- Первый товар из категории C.
- Второй товар из категории A.
- Второй товар из категории B.
- Второй товар из категории C и так далее.
- Как узнать идентификатор категории
-
Откройте страницу категории на Маркете и посмотрите на ее URL. Идентификатор — это набор цифр после «...?hid=». Например:
https://market.yandex.ru/catalog/54726/list?hid=91491
По URL страницы Маркета
Чтобы найти товары для виджета, в поисковой строке в конструкторе укажите ссылку на одну из страниц Маркета:
карточку товара;
страницу категории;
страницу с результатами поиска.
После того как вы вставите ссылку в конструкторе, вы получите релевантные результаты поиска. Из них вы можете выбрать подходящий текстовый запрос или конкретный товар на Маркете.
По акции на Маркете
searchShopPromoId
укажите идентификатор акции, например: searchShopPromoId:"1234753_1V2FH8GF"
Скопировано
Поиск акционных товаров поддерживается только для виджета « Подборка товаров ».
Откройте страницу акции на Маркете и посмотрите на ее URL. Идентификатор — это набор цифр и букв после shopPromoId
. Например:
https://market.yandex.ru/special/promo-code-landing?shopPromoId=1234753_1V2FH8GF
По характеристикам товара
В виджете можно показывать товары, найденные по параметрам на Маркете (например, смартфоны 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
, в результатах поиска ни один регион не окажется в приоритете, и в виджете сначала могут быть показаны товары и предложения из любого региона.