Перейти к содержимому
Документация

Разметка сайта для автоимпорта

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

Ярусы извлечения

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

YML-фид Яндекс.Маркета

Для интернет-магазинов. Лучший источник: цены, наличие, фото, артикулы. Платформа магазина обновляет фид сама.

JSON-LD schema.org

Универсальный вариант, его мы рекомендуем большинству сайтов. Примеры ниже можно вставить как есть.

Микроданные и OpenGraph

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

Эвристики по картинкам и тексту

Картинки, их alt и окружающий текст. Работает всегда, но без чисел: ни цен, ни сроков, ни площадей.

Обязательный минимум для любого сайта

Контент в HTML, а не только в JavaScript

Краулер читает HTML ответа. Если блок рисуется скриптом из массива в .js-файле, для импорта его не существует. Отдавайте готовую разметку или дублируйте данные в JSON-LD.

Осмысленный alt у каждой значимой картинки

Текст alt становится заголовком карточки. «photo_1.jpg» заголовком быть не может.

Атрибуты width и height на <img>

По ним фотографии отделяются от иконок без скачивания файла.

Иконки отличимы от фотографий

Держите их в отдельной папке (/assets/icons/) или помечайте классом: иконки, логотипы, спрайты и паттерны в карточки не попадают.

sitemap.xml

Нужен, чтобы обход находил все страницы, а не только те, на которые есть ссылки внутри сайта.

Цены и характеристики — текстом

Текст внутри изображения не читается: цифры с баннера в базу знаний не попадут.

JSON-LD: рабочие примеры

Вставляются в <head> или в конец <body> как есть — подставьте свои значения. Блоков может быть несколько: организация, услуги, работы, вопросы.

Организация: кто вы, где работаете, как связаться

Блок о самой компании: название, телефон, регион, города обслуживания, часы работы. По «@id» на него ссылаются остальные блоки.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "GeneralContractor",
  "@id": "https://example.ru/#org",
  "name": "Строймонолит",
  "legalName": "ООО «Строймонолит»",
  "taxID": "3900000000",
  "url": "https://example.ru/",
  "telephone": "+7-900-000-00-00",
  "address": {
    "@type": "PostalAddress",
    "addressRegion": "Калининградская область",
    "addressCountry": "RU"
  },
  "areaServed": [
    { "@type": "City", "name": "Калининград" },
    { "@type": "City", "name": "Светлогорск" },
    { "@type": "City", "name": "Зеленоградск" }
  ],
  "openingHoursSpecification": {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
    "opens": "08:00",
    "closes": "20:00"
  }
}
</script>

Услуга с ценовым диапазоном

AggregateOffer с lowPrice и highPrice — правильный способ описать цену «от и до». Единица измерения задаётся через unitCode (MTK — квадратный метр по UN/CEFACT).

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "Монолитная плита под ключ в металлической опалубке",
  "serviceType": "Устройство фундаментной плиты",
  "provider": { "@id": "https://example.ru/#org" },
  "description": "Выемка и планировка грунта, песчано-щебёночная подушка с уплотнением, металлическая инвентарная опалубка, армирование, бетон, вибрирование и уход. Пирог пола не входит.",
  "offers": {
    "@type": "AggregateOffer",
    "priceCurrency": "RUB",
    "lowPrice": "11500",
    "highPrice": "13500",
    "priceSpecification": {
      "@type": "UnitPriceSpecification",
      "priceCurrency": "RUB",
      "minPrice": "11500",
      "maxPrice": "13500",
      "referenceQuantity": { "@type": "QuantitativeValue", "value": 1, "unitCode": "MTK" }
    }
  }
}
</script>

Выполненные работы

Данные о работах (площадь, толщина, срок, город, цена) обычно лежат в JS-массиве и для импорта невидимы. ItemList из ImageObject делает их машиночитаемыми: ассистент подтянет и фото, и подпись под карточку. Остальные объекты добавляются такими же элементами с position 3, 4, 5. В contentUrl — абсолютный адрес исходного файла, а не уменьшенной копии.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "ItemList",
  "name": "Примеры наших работ",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "item": {
        "@type": "ImageObject",
        "name": "Плита 9 × 11 м, 99 м²",
        "contentUrl": "https://example.ru/photos/plita-99.jpg",
        "description": "99 м² · 250 мм · 12 дней · Калининград · 1 230 000 ₽"
      }
    },
    {
      "@type": "ListItem",
      "position": 2,
      "item": {
        "@type": "ImageObject",
        "name": "Плита 10 × 12 м, 120 м²",
        "contentUrl": "https://example.ru/photos/plita-120.jpg",
        "description": "120 м² · 250 мм · 12 дней · Гурьевск · 1 390 000 ₽"
      }
    }
  ]
}
</script>

Частые вопросы

Если на сайте есть блок вопросов и ответов, FAQPage переносит его в базу знаний дословно — самый дешёвый способ научить ассистента отвечать вашими формулировками.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Что входит в стоимость?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Выемка и планировка грунта, песчано-щебёночная подушка с уплотнением, монтаж металлической опалубки, армирование, бетон и заливка, вибрирование и уход, уборка после работ."
    }
  }]
}
</script>

Интернет-магазин

Для каталога товаров — разметка Product на карточке товара:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "sku": "PLT-250",
  "name": "Название товара",
  "image": ["https://example.ru/img/1.jpg"],
  "description": "Короткое описание.",
  "offers": {
    "@type": "Offer",
    "priceCurrency": "RUB",
    "price": "12000",
    "availability": "https://schema.org/InStock",
    "url": "https://example.ru/tovar/plt-250"
  }
}
</script>

Если у магазина уже есть YML-фид, достаточно его: он точнее и обновляется чаще, чем разметка на страницах. Цены из фида не устаревают между обходами.

Что скрыть от ассистента

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

<div data-nosnippet>
  <!-- демо-переписка, сравнение с конкурентами, вымышленные примеры -->
</div>

data-nosnippet — стандартный атрибут Google, им же исключают текст из поисковой выдачи, поэтому отдельной разметки для нас заводить не нужно. Если он у вас уже занят под другое, есть синоним data-assiistent-skip — работает так же.

Демо-переписка

Демонстрационные диалоги и скриншоты переписки. Мы на этом обожглись сами: наш бот пересказал гостю цифры из демо-чата как свою сегодняшнюю статистику.

Сравнение с конкурентами

Таблицы сравнения с конкурентами и их цены. Иначе ассистент называет чужой тариф вашим — строка подошла по объёму, а чья она, из текста не видно.

Примеры и отзывы «для витрины»

Кейсы и отзывы, написанные как пример, а не как факт: ассистент сошлётся на них в разговоре как на вашу работу.

Логотипы и карточки клиентов

Блок «наши клиенты» с чужими профессиями. Без метки ассистент начинает считать чужое дело своим и предлагать чужие услуги.

Чего делать не нужно

Размечать то, чего нет на странице

Разметка обязана совпадать с видимым контентом страницы.

Ставить цену, которую вы не готовы обновлять

Лучше диапазон (AggregateOffer) или совсем без цены, чем устаревшее число: ассистент не должен называть клиенту цену, которой уже нет.

Прятать разметку от посетителей

Показывать данные только роботам — нарушение правил поисковых систем и риск для сайта.

Проверка

После правок запустите обход заново: «База знаний» → адрес сайта → «Сканировать». Найденные карточки приходят на подтверждение, а не публикуются сразу.

Остались вопросы?

Зарегистрируйтесь бесплатно — и посмотрите, как сотрудник отвечает вашим клиентам.