Автоматизация загрузки товаров и услуг в Яндекс Бизнес

Время чтения - 10 мин
Количество прочтений
2734
Дата обновления —
18 апреля 2026
Ручная загрузка товаров на Яндекс Бизнес занимает слишком много времени, ведь приходится долго и муторно добавлять каждый товар и услугу. Когда их десять - это терпимо, но если больше трёхсот? Остаётся либо делегировать задачу, либо покупать рекламную подписку от Яндекс Бизнеса, чтобы получить возможность загружать YML-фид.

Автоматизация загрузки товаров и услуг

Однако есть автоматизированный способ, который позволит добавить все товары всего за 20 минут. В этой статье вы получите пошаговую инструкцию, как это сделать. Понадобится лишь Screaming Frog или любой другой краулер с поддержкой XPath.

Для загрузки товаров и услуг в Яндекс Бизнес нужно заполнить следующие основные поля:
1. Категория
2. Название
3. Описание
4. Цена
5. Фото
6. Наличие (только для интернет-магазинов)
7. Ссылка
SEO-специалист Андрей Павлович
💬 Из практики
Не спешите сразу парсить весь сайт, так как у вас могут быть ошибки. Возьмите для начала 2-3 страницы и проверьте их с помощью режима “List”, чтобы убедиться, все ли данные вам удалось достать. Если для 3-х страниц данные успешно подгрузились, то можно переходить к остальным страницам.  

1. Категория

Название категории проще всего взять из предпоследней хлебной крошки, так как именно она чаще всего указывает на раздел товара или услуги.
Хлебная крошка
Чтобы найти предпоследнюю хлебную крошку откройте программу Screaming Frog (далее SF) → Configuration → Custom → Custom Extraction → «+Add» (далее мы будем вставлять туда нужные XPath-запросы)
  • в поле выбора данных для извлечения выберите «Extract Text».
  • Вместо «Extractor 1» напишите «Категория».
Перед вставкой данных в поле «Enter Xpath»:
  1. Проверьте размечены ли хлебные крошки на вашем сайте микроразметкой BreadcrumbList - сервис для проверки.
  2. Определите тип микроразметки, который у вас внедрен: Microdata или JSON-LD. XPath не может полноценно «читать» данные внутри JSON-кода, поэтому вам нужно выбрать правило извлечения данных.
  3. После копируйте следующие шаблоны, которые помогут взять название категории из предпоследней хлебной крошки 👇

Обычные крошки (без микроразметки BreadcrumbList)
Ищет последнюю «нессылочную» крошку и берёт предыдущего соседа (li или span)
((//nav[contains(@class,'bread') or contains(@aria-label,'bread')]   | //div[contains(@class,'bread')]   | //ul[contains(@class,'bread')]   | //ol[contains(@class,'bread')])[1]  //*[self::li or self::span][not(.//a)][last()]  /preceding-sibling::*[self::li or self::span][1])
Крошки с BreadcrumbList (microdata)
(//*[@itemprop='itemListElement'])[last()-1]//*[@itemprop='item' or @itemprop='name']
Для микроразметки JSON-LD
Тип извлечения: вместо «Xpath» выберите «Regex» и вставьте выражение ниже.
"@context":"https:\\\/\\\/schema\.org\\\/","@type":"BreadcrumbList"[\s\S]*?"name"\s*:\s*"([^"]+)"(?=(?:(?!"name")[\s\S])+?"name"(?:(?!"name")[\s\S])+?\])
SEO-специалист Андрей Павлович
💬 Для опытных
Этот Regex использует жесткий якорь @context, чтобы игнорировать дублирующие блоки микроразметки (например, от Yoast SEO) и работать только со стандартным массивом хлебных крошек. Я сознательно отказался от простых шаблонов, так как на сайтах, где было 2 микроразметки BreadcrumbList, выражение выдавало ошибочные данные, либо выводило сразу все пункты. В основу заложена логика «отрицательного заглядывания» для математически точного выбора предпоследнего элемента. Не рекомендую упрощать выражение, так как оно сконструировано так, чтобы гарантированно находить только одно имя, за которым следует строго одно упоминание "name" до закрытия массива, что позволяет обойти «жадность» регулярных выражений и специфику парсинга JSON внутри программы.

2. Название

Берём из заголовка H1 на странице. Универсальный XPath:
//h1
В поле выбора данных укажите “Extract Inner HTML” - и далее используйте это значение для всех остальных полей, если не указано иное.

3. Описание

Способ №1 - Без микроразметки “Product”
Чтобы автоматически подтянуть этот блок, воспользуйтесь XPath. Откройте страницу → Ctrl + Shift + C → наведите курсор на нужную часть текста → ПКМ → Copy → Copy XPath.
Например у меня данный Xpath выглядит вот так
//*[@id="product-8829"]/div[1]/div[2]/div/div/div[2]/div/div[2]
Чтобы сделать его универсальным и подходящим для любой страницы, нужно заменить уникальный ID на поиск по частичному совпадению. Для этого замените поиск по конкретному ID, на поиск, начинающегося со слова. Например в моем примере нужно заменить [@id="product-8829"] на [starts-with(@id, 'product-')]
//*[starts-with(@id, 'product-')]/div[1]/div[2]/div/div/div[2]/div/div[2]
Способ №2 - С микроразметкой “Product”
Если на сайте реализована микроразметка “Product” с помощью microdata, то извлечь описание можно из поля “description” с помощью данного XPath, обязательно выставив “Extract Text” поле выбора данных для извлечения.
(//*[@itemscope and contains(@itemtype,'schema.org/Product')]//*[@itemprop='description'][@content])[1]/@content

4. Цена

Извлечение цены без микроразметки Product - сложная задача, так как каждый сайт называет классы по-разному. Поэтому я рекомендую внедрить на своем сайте данный вид разметки, если указанные выражения без микроразметки не помогли.
Поле price в разметке product
Извлечь данные о цене можно из поля “price” с помощью данного XPath, обязательно выставив “Extract Text” поле выбора данных для извлечения.

(//*[@itemscope and contains(@itemtype,'schema.org/Offer')]//*[@itemprop='price'][@content])[1]/@content
Проблема
Хочу, чтобы SEO приносило заявки, а не пустые отчеты.
Решение
Без стратегии продвижение только забирает деньги и теряет смысл. SEO-консультация поможет навести порядок и сделать сайт источником продаж.

5. Фото

Самый простой способ найти картинку, которая будет характеризовать страницу, найти её в разметке для социальных сетей, которые находятся в теге head вида:
<meta property="og:image" content="https://site.com/path/to/image.jpg">
<meta name="twitter:image" content="https://site.com/path/to/image.jpg">
XPath для извлечения изображения:
//meta[@property='og:image']/@content | //meta[@name='twitter:image']/@content

6. Ссылка

Для получения ссылки страницы мы будем использовать атрибут rel="canonical" или meta property="og:url" объединив несколько путей с помощью оператора | (ИЛИ), а затем принудительно выбрав первое найденное значение.

XPath для извлечения URL страницы:
(//link[@rel='canonical']/@href | //meta[@property='og:url']/@content)[1]

Загрузка товаров и услугу в Яндекс Бизнес

Чтобы наши спаршенные данные были видны в Яндекс Картах переходим в Яндекс Бизнес → О компании → Товары и услуги → Источник "Вручную" → Загрузить XLS/YML
Скачиваем XLS шаблон и удаляем из него столбцы, которые нам не нужны. Например если вы загружаете услуги, то вам точно не нужны такие столбцы, как:
  • Идентификатор
  • Короткое описание
  • Популярный товар
  • В наличии
  • Количество

«Если вы загрузите новый прайс-лист, предыдущие загруженные данные будут полностью стёрты и обновлены из файла.»

Дальше остаётся лишь заполнить скаченный xls-файл и загрузить его в Яндекс Бизнес. Для заполнения файла дынными возвращаемся в Screaming Frog:
1. Находим раздел Custom Extraction → All;
2. Выкачиваем полученные данные в xlsx формат с помощью кнопки Export;
3. Удаляем ненужные столбцы для удобства работы с таблицей;
4. Переносим итоговые данные в скаченный ранее шаблон для загрузки в Яндекс Бизнес.

Это решение особенно полезно для сайтов с большим ассортиментом: обновления становятся быстрее, а данные - всегда актуальными.

Заключение

Автоматизация загрузки товаров и услуг в Яндекс Бизнес экономит часы рутинной работы и снижает риск ошибок. Благодаря простым XPath-шаблонам и инструменту Screaming Frog вы можете собрать все нужные данные - название, цену, описание, фото и ссылку - прямо с вашего сайта.
Cтатьи по данной теме:
Made on
Tilda