Структурированные данные и JSON-LD
Что такое структурированные данные, словарь Schema.org и формат JSON-LD, зачем они сайту, готовому к поиску и AI, и какая разметка нужна магазину, блогу, форуму, базе знаний и фотогалерее
Словарь, формат и сами данные
Заголовок раздела «Словарь, формат и сами данные»Три разных слова
Что описываем
структурированные данныесами сведения о странице в машинном виде
Какими словами
Schema.orgобщий словарь типов и свойств: Product, Article, price, author
Как записываем
JSON-LDотдельный блок данных в коде страницымикроданные, RDFaатрибуты прямо в HTML-тегах
Словарь один, способов записи три. Google рекомендует JSON-LD.
В обиходе всё это называют микроразметкой. Слово привычное, но неточное: микроданные - лишь один из трёх форматов.
Как это выглядит
Заголовок раздела «Как это выглядит»Блок JSON-LD лежит в коде страницы и на экране не виден:
<script type="application/ld+json">{ "@context": "https://schema.org", "@type": "Product", "name": "Чайник электрический Volna 1,7 л", "sku": "VLN-17-W", "brand": { "@type": "Brand", "name": "Volna" }, "offers": { "@type": "Offer", "price": "2490", "priceCurrency": "RUB", "availability": "https://schema.org/InStock" }}</script>@context называет словарь, @type - тип сущности. Остальное - свойства этого типа. Регистр букв важен: Product и product - разные слова.
Место в общей схеме
Заголовок раздела «Место в общей схеме»- robots.txtМожно ли сюда идти
- sitemap.xmlКакие адреса существуют
- llms.txtКакие материалы особенно полезны и где они
- JSON-LDЧто находится на этой страницесущность, её свойства и связи
- HTML / MarkdownЧто здесь написано
Это учебная модель ролей. Она не утверждает, что каждая система использует каждый слой одинаково.
llms.txt и структурированные данные работают в паре, но на разных шагах. Первый подсказывает, куда идти. Вторые объясняют, куда машина пришла. Один слой другого не заменяет: Сайт, готовый к AI.
Кто это читает
Заголовок раздела «Кто это читает»Что известно, а что нет
Подтверждено
- Google использует структурированные данные, чтобы понимать содержание страницы, и рекомендует формат JSON-LD.
- Google Merchant Center читает разметку товарных страниц и по ней обновляет цену и наличие в товарных предложениях.
- Яндекс для товарных страниц с типом
Productи предложениемOfferдаёт данным из разметки максимальный приоритет перед другими источниками. - У обеих поисковых систем есть свои валидаторы разметки.
Не доказано
- Что конкретная AI-система читает JSON-LD чужого сайта напрямую. Говорить об этом можно только по документации самой системы.
- Что разметка увеличивает число цитирований в ответах нейросетей.
Чего это не означает
- Разметка не условие индексации: страницу найдут и без неё.
- Разметка не фактор ранжирования. Она делает страницу пригодной для расширенных результатов, но показ никто не гарантирует.
Разметку читают поисковые системы, и это записано в их документации. Через поиск она доходит и до AI-систем.
Польза для AI не сводится к прямому чтению. AI-поиск и агенты часто берут сведения из поисковых систем, а те разметку читают.
Какая разметка нужна какому сайту
Заголовок раздела «Какая разметка нужна какому сайту»Тип выбирают по тому, что на самом деле находится на странице.
| Сайт | Страница | Тип Schema.org | Главные свойства |
|---|---|---|---|
| Любой | каждая страница | WebPage, BreadcrumbList | название, адрес, даты, путь от главной |
| Любой | главная | WebSite, Organization | название, логотип, контакты, адрес, профили в соцсетях |
| Интернет-магазин | товар | Product, Offer | название, артикул, бренд, цена, валюта, наличие, рейтинг |
| Блог, медиа | статья | BlogPosting, Article, Person | заголовок, автор, дата публикации и обновления, изображение |
| Форум, сообщество | обсуждение | DiscussionForumPosting, Comment | тема, автор, дата, комментарии, голоса |
| Вопросы и ответы | вопрос с принятым ответом | QAPage, Question, Answer | вопрос, ответы, отмеченное решение |
| База знаний | вопрос из FAQ | FAQPage, Question, Answer | вопрос и ответ владельца сайта |
| Фотогалерея | фотография, альбом | ImageObject, ImageGallery | адрес файла, подпись, размеры, дата загрузки |
QAPage и FAQPage легко спутать. Первый тип - для страницы, где вопрос задал один человек, а отвечают другие. Второй - для списка вопросов, на которые отвечает сам владелец сайта.
Интернет-магазин: главный пример
Заголовок раздела «Интернет-магазин: главный пример»На товарной странице у разметки больше всего работы. Здесь есть цена и наличие, они меняются, а ошибку увидит покупатель.
Productтовар
nameназвание, как на страницеskuартикул продавцаgtin13 / mpnштрихкод и код производителя, если они естьbrandBrand: имя брендаimageадреса изображенийoffersOffer: предложениеpriceчисло с точкой, без пробелов и знака валютыpriceCurrencyкод валюты: RUB, USD, EURavailabilityInStock, OutOfStock, BackOrderurlадрес страницы товара
aggregateRatingAggregateRating: средняя оценка и число отзывовreviewReview: отзывы с автором и текстом
Рядом со страницей товара размечают хлебные крошки (BreadcrumbList) и сам магазин (OnlineStore или Organization).
Цена и наличие
Заголовок раздела «Цена и наличие»- Цена в разметке равна цене на странице. Не «от», не старая, не цена для другого региона.
- Валюта записывается трёхбуквенным кодом. Знак «₽» машина не разберёт.
- Наличие берётся из складского учёта, а не ставится
InStockвсем товарам сразу. - Товар без цены не получает
Offer. Пустое или нулевое предложение хуже отсутствующего.
Варианты товара
Заголовок раздела «Варианты товара»Если у товара есть размеры или цвета, у каждого варианта своя цена, свой артикул и своё наличие. Для этого в Schema.org есть ProductGroup: общие сведения лежат на группе, отличия - на вариантах.
AggregateOffer для вариантов одного товара не подходит. Этот тип описывает предложения разных продавцов, и Google для карточек продавца требует именно Offer.
Штрихкод и код производителя
Заголовок раздела «Штрихкод и код производителя»gtin - международный штрихкод, mpn - код детали у производителя. По ним системы сопоставляют один и тот же товар в разных магазинах.
Выдумывать их нельзя. У штрихкода есть контрольная цифра, и неверное значение хуже пустого поля. Артикул магазина - это sku, а не mpn.
Разметка и товарный фид
Заголовок раздела «Разметка и товарный фид»Крупные площадки получают данные о товаре двумя путями: из фида и со страницы. Если пути расходятся, площадка замечает.
- Каталог магазинацена, наличие, бренд, штрихкод
- Разметка на страницеProduct и Offer в JSON-LD
- Товарный фидтот же товар для Merchant Center и Яндекса
Разметка и фид должны собираться из одних и тех же полей каталога. Тогда они не разойдутся.
- Google Merchant Center сверяет фид со страницей и может сам обновить цену и наличие по разметке. Google отдельно оговаривает, что это страховка, а не замена обновлению фида.
- Яндекс даёт данным из разметки товарной страницы максимальный приоритет перед другими источниками.
Практический вывод: бренд, штрихкод, цвет и размер должны браться в разметку и в фид из одной характеристики товара.
Если магазина ещё нет, проще начать с конструктора, где каталог сам передаётся в товарный поиск Яндекса без отдельного фида: так устроен Яндекс KIT.
Правила, общие для любого сайта
Заголовок раздела «Правила, общие для любого сайта»- Разметка описывает то, что видит человек. Отзыв, цена или автор в разметке есть и на странице.
- Ничего не выдумывается. Нет данных - нет свойства.
- Тип соответствует странице. Страница категории - не
Product, страница «О компании» - неArticle. - Сущности связаны. Статья ссылается на автора и издателя, товар - на продавца, страница - на сайт. Для связей служит
@id. - Один источник. Если разметку выводят и тема сайта, и расширение, машина получает два противоречивых описания.
- Разметка обновляется вместе с содержимым. Изменилась цена - изменилась и разметка.
Как проверить
Заголовок раздела «Как проверить»- Открой код страницы и найди блок
application/ld+json. Он должен быть в ответе сервера, а не появляться после скриптов. - Проверь страницу в Rich Results Test от Google: какие типы найдены и есть ли ошибки.
- Проверь её же в валидаторе микроразметки Яндекса.
- Сверь цену, наличие и название с тем, что на экране.
- Убедись, что разметка одна: нет второго блока того же типа от темы.
- Повтори проверку на трёх-четырёх разных страницах, а не на одной удачной.
Адреса инструментов и разбор ошибок: Проверка файлов и разметки.
Что автоматизируется
Заголовок раздела «Что автоматизируется»Почти все свойства уже есть в системе управления сайтом: название товара, цена, дата статьи, автор. Писать разметку руками для каждой страницы незачем. Её собирает тема сайта или расширение.
Вручную остаётся решить, какие характеристики считать брендом и штрихкодом, заполнить карточку компании и проверить результат.
Webasyst
Shop-Script
Разметка товаров и магазина
- Источник данных
- Товары, артикулы, цены, наличие, отзывы, категории и настройки магазина
- Описывает
ProductOfferAggregateRatingBreadcrumbListOnlineStore
Webasyst
Сайт
Разметка страниц и компании
- Источник данных
- Страницы сайта, их даты и вложенность, карточка компании из настроек
- Описывает
WebPageOrganizationWebSiteBreadcrumbList
Webasyst
Блог
Разметка статей и авторов
- Источник данных
- Статьи, даты публикации и обновления, авторы, рубрики и теги
- Описывает
BlogPostingPersonBlogBreadcrumbList
Webasyst
Хаб
Разметка обсуждений и ответов
- Источник данных
- Опубликованные темы, комментарии, голоса и отмеченное решение
- Описывает
DiscussionForumPostingCommentQAPagePerson
Webasyst
Поддержка
Разметка вопросов и ответов
- Источник данных
- Только публичные вопросы и ответы; заявки не читаются
- Описывает
FAQPageQuestionAnswerBreadcrumbList
Webasyst
Фото
Разметка фотографий и альбомов
- Источник данных
- Публичные фотографии и альбомы: подписи, теги, размеры, дата загрузки
- Описывает
ImageObjectImageGalleryBreadcrumbList
Промокод на скидку за первый заказ в Webasyst:BE462B3B6D
Коммерческие расширения из магазина Webasyst. Каждое добавляет в код страницы блок JSON-LD, собранный из данных приложения, без правок темы. Разметку от расширения проверяют теми же валидаторами, что и написанную вручную.
Как это устроено в одной системе: llms.txt и JSON-LD в Webasyst. Все расширения собраны на странице разработчика в магазине Webasyst.