1 августа, 17:22
328
0

Формат микроразметки JSON-LD: что это такое?

Для лучшего понимания поисковыми роботами структуры и сущности контента на сайте используется микроразметка. Результат ее внедрения — улучшение внешнего вида сниппетов в результатах поиска, рост позиций страниц и их кликабельности. Внедряют разметку с помощью микроформатов (hCard, hCalendar и др.), микроданных (microdata) и RDFa. Недостаток этих способов в громоздкости синтаксиса и необходимости добавлять HTML-код внутрь тега <body>. Для упрощения работы используется формат передачи данных JSON-LD.

JSON-LD («JavaScript Object Notation for Linked Data») — дословно «объектная нотация JavaScript для связанных данных». Формат разработан в 2010 году консорциумом W3C для упрощения передачи связанных данных, в частности, дает возможность размечать страницы с помощью schema.org. Работает на базе текстового формата JSON.

JSON-LD отличается рядом преимуществ по сравнению с HTML-разметкой:

  • содержит меньше кода, чем microdata или RDFa, проще воспринимается;
  • рекомендован Google в качестве основного способа микроразметки;
  • для популярных CMS есть плагины, которые позволяют быстро внедрить микроразметку;
  • разметка внедряется посредством JavaScript и видна только поисковым роботам.

Яндекс пока не поддерживает JSON-LD (исключение — Яндекс.Почта) — в отличие от Google, который прекрасно воспринимает этот формат. Но страницы с JSON-LD проходят валидацию и в Яндексе, и в Google.

Синтаксис JSON-LD

Google рекомендует внедрять код JSON-LD в тег <head>. Хотя работать он будет и в теге <body>.

Базовая конструкция разметки JSON-LD (неизменяемая):

<script type="application/ld+json">
{
//между фигурными скобками указываются элементы разметки
}
</script>

Эта конструкция сообщает браузеру, что будет обращение к JavaScript, содержащему JSON-LD.

Синтаксис JSON-LD и JSON идентичен. Разница лишь в том, что в JSON-LD есть так называемые зарезервированные ключи, которые позволяют задать контекст описания или связать объекты. Так, ключ @context указывает на словарь объектов, а @type — на тип сущности. Всего таких ключей 13 — все они описаны на официальном сайте W3.org.

Примеры:

"@context": "http://schema.org", // данные описываются с помощью словаря schema.org

"@type": "Article", // тип сущности — статья (полный перечень типов — по ссылке)

После зарезервированных ключей указываются пары Атрибут (Property) / Значение (Value). Синтаксис такой:

"Property": "Value",

Атрибуты зависят от типа сущности. Например, при описании статей будут одни атрибуты, сервиса бронирования билетов — другие, товара — третьи. Каждое значение имеет строго определенный формат данных, указанный в словаре schema.org.

Разберем микроразметку JSON-LD на примере рецепта блюда:

<script type="application/ld+json">
{
"@context":"http://schema.org", // используемый словарь
"@type":"Recipe", // тип сущности — рецепт
"name":"Заварные блины на кефире", // название рецепта
"datePublished":"2016-03-07", // дата публикации
"image":"https://e0.edimdoma.ru/data/recipes/0007/9351/79351-ed4_wide.jpg?1482987984", // ссылка на изображение
"author": // данные автора — для этого атрибута в фигурных скобках указывается свой тип сущности
{
"@context":"http://schema.org", // используемый словарь
"@type":"Person", // тип сущности — автор
"name":"ВикторияS" // имя автора
},
"url":"https://www.edimdoma.ru/retsepty/79351-zavarnye-bliny-na-kefire", // ссылка на страницу, где размещен рецепт
"recipeYield":6, // дял какого количества человек готовится блюдо
"cookTime":"PT30", // время приготовления
"totalTime":"PT40", // общее затраченное время
"recipeCategory":"блины, оладьи, сырники", // категория рецепта
"recipeCuisine":"русская", // тип кухни
"aggregateRating": // рейтинг рецепта
{
"@type":"AggregateRating", // тип сущности — общий рейтинг
"@context":"http://schema.org", // словарь
"bestRating":"10", // максимальный рейтинг
"worstRating":"0", // минимальный рейтинг
"ratingValue":9, // значение рейтинга
"ratingCount":45 // количество оценок
},
}
</script>

В результатах поиска сниппет с подобной разметкой выглядит так:

Формат микроразметки JSON-LD: что это такое?

Как видите, наличие атрибутов в микроразметке — не гарантия, что все они появятся в сниппете. Тем не менее они точно будут учтены поисковой системой при определении релевантности страницы поисковому запросу и могут положительно влиять на ранжирование.

Полезные инструменты для работы с JSON-LD

Перед тем как внедрять микроразметку на основе JSON-LD, желательно разобраться с синтаксисом, чтобы понимать общую логику. Но вручную прописывать код трудоемко. Для ускорения работы используйте один из генераторов:

  • schemaapp.com (содержит полную библиотеку schema.org; из-за обилия элементов сложен для новичков, а вот для профи подходит идеально);
  • Формат микроразметки JSON-LD: что это такое?

  • technicalseo.com (удобный генератор, который содержит 10 популярных типов сущностей: сайт, хлебные крошки, товары, организация и др.; интерфейс простой и понятный, для некоторых сущностей можно активировать разметку для AMP Google);
  • Формат микроразметки JSON-LD: что это такое?

  • hallanalysis.com (простой генератор, содержит всего 6 типов сущностей: местный бизнес, личность, продукт, событие, организация, сайт);
  • Формат микроразметки JSON-LD: что это такое?

  • webcode.tools (комплексный генератор кодов, содержит 14 типов сущностей для JSON-LD, в каждой сущности самые актуальные атрибуты).
  • Формат микроразметки JSON-LD: что это такое?

После того как вы сгенерировали скрипт, не спешите размещать его на сайте. Сначала пройдите валидацию:

Если ваш сайт работает на одной из популярных CMS, для создания JSON-LD разметки можно использовать плагины:

Заключение

JSON-LD — это только один из способов микроразметки. Поисковики понимают и другие форматы, поэтому если на вашем сайте уже внедрена микроразметка и в поиске отображаются расширенные сниппеты, не стоит проводить лишнюю работу и переходить на JSON-LD.

JSON-LD выгодно использовать, если у вас вообще нет микроразметки, при этом основная аудитория переходит на сайт из Google. Если же аудитория равномерно распределяется между Яндекс и Google, то лучше выбрать другие способы передачи данных, поскольку Яндекс пока не поддерживает JSON-LD. Также возможен вариант одновременного внедрения JSON-LD и разметки на базе HTML. Это не навредит сайту, но если Яндекс начнет понимать JSON-LD, вы сможете отказаться от громоздкой HTML-разметки.

В одной из следующих публикаций мы расскажем, как упростить и ускорить работу по внедрению микроразметки с помощью Диспетчера тегов Google.

⌃ ↩
Обучающий центр
интернет-маркетинга
Вы выбираете площадки для рекламы
Курсы по поисковому продвижению
8 практических занятий