Microdata
Microdata — это способ разметки, при котором данные передаются в стандартных элементах языка HTML.
Принципы разметки
Для разметки материала добавьте атрибут itemscope к любому тегу, в котором содержится описываемая сущность. Чтобы указать, что это за сущность, сразу после itemscope добавьте атрибут itemtype и в качестве его значения пропишите нужный класс в видеitemtype="http://schema.org/<Имя класса>"
. Сущности также можно вкладывать друг в друга. Например, так можно указать, что содержимое тега div описывает новостную статью (класс NewsArticle), а тега p — персону (класс Person):<div itemscope itemtype="http://schema.org/NewsArticle">
<h1>В Москве побит температурный рекорд 1922 года</h1>
<p itemscope itemtype="http://schema.org/Person">
Автор: <span>Иван Иванов</span> — <span>специальный корреспондент</span></p>
<p>В среду, 6 ноября, в Москве был побит температурный рекорд,
зафиксированный в 1922 году. Температура воздуха составила плюс 12,1 градуса
по Цельсию, как сообщает центр «Фобос».</p>
</div>
Чтобы указать свойства сущности, используйте атрибут itemprop. Список доступных свойств можно найти в описании соответствующего класса на сайте стандарта. В примере ниже с помощью свойств NewsArticle размечены элементы, описывающие заголовок статьи, ее автора и текст, а с помощью Person — имя и должность автора:
<div itemscope itemtype="http://schema.org/NewsArticle">
<h1 itemprop="headline">В Москве побит температурный рекорд 1922 года</h1>
<p itemprop="author" itemscope itemtype="http://schema.org/Person">
Автор: <span itemprop="name">Иван Иванов</span> —
<span itemprop="jobTitle">специальный корреспондент</span> </p>
<p itemprop="articleBody">В среду, 6 ноября, в Москве был побит температурный рекорд,
зафиксированный в 1922 году. Температура воздуха составила плюс 12,1 градуса
по Цельсию, как сообщает центр «Фобос».</p>
</div>
Машиночитаемая информация
При разметке материала можно использовать не только сущности Schema.org, но и машиночитаемую информацию. Ее не видят читатели, но могут обработать браузеры, поисковые системы или роботы.
- Тег meta
-
Иногда важная информация не может быть размечена из-за способа ее отображения на странице. Например, когда информация представлена на рисунке, во Flash-объекте или явно не указана на странице. В таких случаях можно использовать тег meta с атрибутом content. В примере ниже с помощью meta и свойства класса Article указана тематика материала:
<meta itemprop="about" content="Погода">
Этим приемом не следует злоупотреблять. Используйте тег meta с атрибутом content только для той информации, которую невозможно разметить иным способом.
Внимание. В размеченных сущностях Метрика сначала ищет значение в атрибуте content, а затем — в содержимом тега. - Дата и время
-
Для записи времени можно использовать атрибут datetime тега time. Даты записываются в формате ISO 8601. В примере ниже на странице будет отображена дата 10:30, 6 ноября 2018, а роботу передана 2018-12-11T07:30:00Z.
<time itemprop="datePublished" datetime="2018-11-06T07:30:00Z"> 10:30, 6 ноября 2018</time>
Какие материалы можно разметить
Метрика поддерживает разметку следующих материалов:
- Статья, новость или пост в блоге (Article, NewsArticle или BlogPosting)
- Описание фильма (Movie)
- Обзор или отзыв (Review)
- Рецепт (Recipe)
- Вопрос-ответ (Question)
Другие материалы, размеченные по стандарту, не попадут в отчеты Метрики.
Как разметить материал
При разметке материала вы можете использовать как сущности Schema.org, так и машиночитаемые данные, описанные выше.
Разметьте материал в соответствии с приведенными ниже правилами, чтобы он корректно обрабатывался Метрикой. Для получения более полной статистики рекомендуем разметить все элементы материала, но обязательными являются только три — идентификатор, заголовок и текст. Если вы уже используете Schema.org, проверьте, соответствует ли разметка на вашем сайте этим требованиям. Примеры кода в правилах не являются единственно правильным вариантом разметки.
Разметку можно добавить на сайт автоматически — например, с помощью плагинов для WordPress. Перед использованием убедитесь, что выбранный плагин позволяет передать в код страницы все нужные элементы разметки.
Мы не рекомендуем использовать для разметки материалов системы управления тегами — в этом случае Метрика не сможет корректно обработать размеченные данные. Но такие системы можно использовать для других целей, например, для установки счетчика на сайт.
Выберите тип материала:
Для разметки статьи, новости или поста используйте любую из сущностей Article, NewsArticle или BlogPosting. Разметьте следующие элементы материала (обязательные элементы отмечены звездочкой):
- Идентификатор*
- Идентификатор указывается с помощью свойства identifier. Он позволяет Метрике отличать материалы друг от друга. Идентификатор не отображается в отчетах.Также идентификатор можно указать с помощью свойства mainEntityOfPage. Оно будет использоваться, если не найдено свойство identifier. В нем ищется значение атрибута itemid, которое будет использоваться в качестве идентификатора.
<meta itemprop="identifier" content="12345">
<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="/life/weather/12345.html"/>
Если не найдено ни одно из свойств выше, в качестве идентификатора будет использоваться заголовок наивысшего уровня из тегов <h1>...<h6> или значение атрибута href канонической ссылки.
Если размечено несколько идентификаторов, будет использоваться первое найденное значение. - Заголовок*
- Заголовок может быть указан с помощью свойств headline или alternativeHeadline и отображается в отчетах Метрики. Если заданы оба свойства, их значения будут записаны через пробел. Например, если заголовки размечены так:
<h1 itemprop="headline">В Москве побит температурный рекорд 1922 года</h1> <h2 itemprop="alternativeHeadline"> Температура в ноябре превысила 12 °С</h2>
в отчете статья будет называться «В Москве побит температурный рекорд 1922 года Температура в ноябре превысила 12 °С».
Если не найдено ни одно из свойств выше, в качестве заголовка будет использоваться значение свойства name.
- Текст*
-
Текст статьи должен содержаться в теге со свойством articleBody.
В тексте определяется количество символов — это нужно для определения объема материала и расчета метрик доскроллов и дочтения. В качестве текста учитывается только содержимое вложенных тегов, символы самих тегов не учитываются. Мы рекомендуем размечать текст материала так, чтобы туда не попадало лишнее: рекламные баннеры, блоки комментариев и т. п., иначе объем материала и показатели статистики могут рассчитаться неправильно.
<p itemprop="articleBody"> В среду, 6 ноября, в Москве был побит температурный рекорд, зафиксированный в 1922 году. Температура воздуха составила плюс 12,1 градуса по Цельсию, как сообщает центр «Фобос». </p>
Если не найдено свойство articleBody, в качестве текста будет использоваться значение свойств description или text.
Если ни одно из свойств не найдено, в качестве текста берется все содержимое тега, помеченного как Article или NewsArticle, без символов тегов.
Примечание. Полную статистику можно получить по материалу, в тексте которого больше 500 символов. - Автор
-
Автор указывается с помощью свойства author. Если авторов несколько, укажите их в разных тегах.
<div itemprop="author">Иван Иванов</div>
Значение также может быть взято из:
свойства name класса Person
<div itemprop="author" itemscope itemtype="http://schema.org/Person"> <span itemprop="name">Иван Иванов</span> </div>
атрибута ссылки href
<link itemprop='author' href="/example/authors/ivan_ivanov.html"/>
Благодаря этим данным можно посмотреть статистику по отдельным авторам в Метрике.
- Тематика
-
В качестве тематик можно разметить, например, ключевые слова или хэштеги. Для этого нужно определить свойство about для каждой тематики. Значение может быть взято из свойства name любого класса:
<div itemprop="about">Жара</div> <div itemprop="about" itemscope itemtype="https://schema.org/Thing"> <span itemprop="name">Москва</span> </div>
- Даты публикации и изменения
-
Даты публикации datePublished и изменения dateModified записываются в формате ISO 8601.
<meta itemprop="datePublished" content="2018-12-11T08:56:49Z" />
или в атрибуте datetime тега time
<time itemprop="dateModified" datetime="2018-12-11T07:30:00Z"> 10:30, 11 декабря 2018 </time>
- Рубрика
-
Рубрика — это раздел сайта, посвященный определенной теме. Для разметки рубрики используйте класс BreadcrumbList. С его помощью описывается цепочка связанных страниц («хлебные крошки»), которая обычно заканчивается текущим материалом. Внутри BreadcrumbList должно быть определено несколько сущностей типа ListItem, размеченных свойством itemListElement, которые описывают текущую и более широкие рубрики.
Вложенность рубрик задается с помощью свойства position класса ListItem. Например, в рубрике «Жизнь» могут содержаться вложенные рубрики «Погода» и «Происшествия». При position = '1' материал находится на верхнем уровне («Жизнь»), при position = '2' — на втором («Погода»).
Рубрикой материала будет считаться значение свойства name сущности ListItem с наибольшим значением position .
Примечание. На данный момент в статистике отображаются два уровня вложенности рубрик.<ol itemscope itemtype="http://schema.org/BreadcrumbList"> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="//example-news.ru/life"> <span itemprop="name">Жизнь</span></a> <meta itemprop="position" content="1" /> </li> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="//example-news.ru/life/weather"> <span itemprop="name">Погода</span></a> <meta itemprop="position" content="2" /> </li> </ol>
- URL материала
-
URL материала указывается с помощью свойства url.
<a itemprop="url" href="https://www.example-news.com/life/weather/moscow"> example-news.com</a>
Если не найде