JSON-LD
JSON-LD — это способ разметки, при котором данные передаются с помощью объектов связанных данных (Linked Data, LD).Данные в формате JSON-LD описываются набором разделенных запятыми пар ключ-значение. Формат предусматривает зарезервированные ключи, с помощью которых можно определять контекст описания или связывать объекты различным образом. Например, @context определяет словарь объектов (в данном случае — Schema.org), а @type — тип описываемой сущности.Для корректной передачи информации следует настроить следующие сущности:
Тип материала [обязательно]
Идентификатор материала [обязательно]
Заголовок материала [обязательно]
Url материала / контейнер [обязательно]
Дата публикации [обязательно]
Аннотация материала (вводный абзац)
Как разметить материал:
Тип материала
Для передачи типа необходимо воспользоваться полями schema.org/Article, schema.org/NewsArticle, schema.org/BlogPosting или schema.org/WebPage.
Article — общая разметка, подходящая всем текстовым материалам;
NewsArticle — отдельная разметка для новостей или дополнительных материалов;
BlogPosting — разметка для статьи из блога;
WebPage — общая разметка, подходящая к любому материалу.
Пример:
<script
type="application/ld+json">
{ "@context":"
https://schema.org
", "@type":"Article", ... } </script>
Идентификатор материала
Для передачи идентификатора материала необходимо настроить передачу поля identifier. При этом значение propertyID должно быть mediaId или 'Article id'. Идентификатор должен содержать более 3х символов.
Пример:
"identifier": { "@type": "PropertyValue", "propertyID": "mediaId", // ожидается именно такое название "value": "entity_303003" // изменяемое значение }
Заголовок материала
Для передачи заголовка материала необходимо настроить передачу полей headline или alternativeHeadline.
Пример:
"name":"«Желательно получить Македонию». Даже Карпин хочет эту команду в соперники по стыкам"
Пример:
"headline":"«Желательно получить Македонию». Даже Карпин хочет эту команду в соперники по стыкам""headline":"«Желательно получить Македонию». Даже Карпин хочет эту команду в соперники по стыкам"
Url материала / контейнер
Для передачи url материала и контейнера можно использовать поле url или mainEntityOfPageВ поле url после знака # можно передать id контейнера, где размещается текст материала. В этом случае размер материала будет вычисляться более корректно. Это влияет на параметры доскола и дочтения.
Пример:
"url":"https://www.championat.com/football/article-4522451-s-kem-sygraet-sbornaya-rossii-v-stykovyh-matchah-chm-2022-severnaya-makedoniya-vozmozhnyj-sopernik-komandy-karpina.html#article_id"
Пример:
"mainEntityOfPage":{
"@type":"WebPage", "@id":"https://www.championat.com/football/article-4522451-s-kem-sygraet-sbornaya-rossii-v-stykovyh-matchah-chm-2022-severnaya-makedoniya-vozmozhnyj-sopernik-komandy-karpina.html#article_id" }
Дата публикации
Для передачи даты публикации необходимо использовать поле datePublished. Разметка передается в формате ISO 8601.
Пример:
"datePublished":"2021-11-24T14:00:06+03:00"
Дата модификации
Поля datePublished (обязательное) и дата изменения dateModified (опциональное). Разметка поддерживает формат ISO 8601.
Пример:
"dateModified":"2021-11-24T14:00:07+03:00"
Рубрика
Для передачи данных по рубрикам можно использовать breadcrumbList или articleSection. Рубрики отражают иерархическую структуру сайта. Рубрика может быть узкой и находиться внутри широкой темы. Определите несколько сущностей типа ListItem внутри класса, задайте им свойства itemListElement, которые описывают текущую и более широкие рубрики. Рубрикой данного материала будет считаться значение сущности с наибольшим position.
Пример:
"articleSection":"Футбол"
Пример:
<script
type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "item": { "@id": "https://site.ru/fashion", "name": "Мода" } }, { "@type": "ListItem", "position": 2, "item": { "@id": "https://site.ru/fashion/boho", "name": "Стиль бохо" } }, { "@type": "ListItem", "position": 3, "item": { "@id": "https://site.ru/fashion/boho/woven-bags", "name": "Плетеные сумки" } } ]} </script>
Автор
Для передачи автора можно воспользоваться полями author или person. Если их несколько, укажите каждого в отдельном теге.
Пример:
"author":{ "@type":"Person", "name":"Павел Прохоров", "url":"
https://www.championat.com/authors/3889/1.html
" }
Аннотация материала (вводный абзац)
Для передачи аннотации материала используется поле abstract.
Пример:
"description": "Летнее межсезонье в Российской Премьер-Лиге получилось мимолётным, многие команды уже вышли из отпуска и начали подготовку к новому розыгрышу. Футболисты попытались воспользоваться этой паузой максимально продуктивно."
Текст
Для передачи текста материала используется поле articleBody. Текст статьи, должен содержать более 500 знаком и быть в единственном экземпляре на странице.
Пример:
<p
itemprop="articleBody">Летнее межсезонье в Российской Премьер-Лиге получилось мимолётным, многие команды уже вышли из отпуска и начали подготовку к новому розыгрышу. Футболисты попытались воспользоваться этой паузой максимально продуктивно.</p>
Изображение
Для передачи изображений можно использовать поле ImageObject Важно не само описание изображений, а количество элементов в массиве image.
Пример:
"image":[{ "@type":"ImageObject", "representativeOfPage":"true", "url":"https://img.championat.com/c/1350x759/news/big/x/o/makedoniya-vozmozhnyj-sopernik-rossii-obzor_16376953941446019056.jpg", "width":1350, "height":759 }]
Last updated