Microdata

Microdata is a markup method with data rendered as standard HTML elements.

Attention. If you embed micro markup using a plugin, you'll probably need to modify it. To do this, contact the plugin developer or another professional with development skills.

Markup principles

To mark up your content, add the itemscope attribute to any tag that contains the entity being described. To indicate the kind of item it is, use theitemtype attribute after itemscope and set it to the appropriate class in itemtype="http://schema.org/<Class name>" format. Items can also be nested in each other. For example, you can specify that the content of a div tag describes a news article (the NewsArticle class), while that of a p tag describes a person (the Person class):
<div itemscope itemtype="http://schema.org/NewsArticle">
   <h1>The temperature in Moscow broke the record set in 1922</h1>
   <p itemscope itemtype="http://schema.org/Person">
      Author: <span>Ivan Ivanov</span> — <span>special correspondent</span></p>  
   <p>On Wednesday, November 6, the temperature in Moscow 
broke the record set in 1922. According to the Fobos center, 
      the air temperature was 12.1°C.</p>
</div>

To specify the properties of an item, use the itemprop attribute. You can find a list of available properties in the description of the corresponding class on the Schema.org website. In the example below, the NewsArticle properties are used to mark up elements describing the title of the article, its author, and its text, and the Person properties are used to mark up elements such as the author's name and position:

<div itemscope itemtype="http://schema.org/NewsArticle">
   <h1 itemprop="headline">The temperature in Moscow broke the record set in 1922</h1>
   <p itemprop="author" itemscope itemtype="http://schema.org/Person"> 
      Author: <span itemprop="name">Ivan Ivanov</span> — 
      <span itemprop="jobTitle">special correspondent</span> </p>
   <p itemprop="articleBody">On Wednesday, November 6, the temperature in Moscow
      broke the record set in 1922. According to the Fobos center, 
      the air temperature was 12.1°C.</p>
</div>

Machine-readable information

When adding markup to your content, you can use machine-readable information in addition to Schema.org items. This information isn't available to readers, but can be processed by browsers, search engines, and robots.

The meta tag

Sometimes, important information can't be marked up because of the way it appears on the page. For example, when information is conveyed in an image or a Flash object or when it isn't explicitly stated on the page. In such cases, you can use the meta tag with the content attribute. In the example below, the meta tag and the properties of the Article class are used to indicate the subject of the content:

<meta itemprop="about" content="Погода">

This technique should be used rarely. Only use the meta tag with the content attribute for information that can't be marked up otherwise.

Attention. In items with markup, Yandex Metrica first looks for the value in the content attribute and then in the tag contents.
Date and time

You can use the datetime attribute of the time tag to record time. Dates are written in ISO 8601 format. The example below shows the date November 6, 2018, 10:30, which is passed to a robot as 2018-12-11T07:30:00Z.

<time itemprop="datePublished" datetime="2018-11-06T07:30:00Z"> 10:30, 6 November 2018</time>

Types of content that can have markup

Yandex Metrica supports markup for the following content:

  • Article, news article, or blog post (Article, NewsArticle, or BlogPosting)
  • Movie description (Movie)
  • Review or feedback (Review)
  • Recipe (Recipe)
  • Q&A (Question)

Other types of content will not be included in Yandex Metrica reports even with the correct markup.

How to mark up content

When adding markup to your content, you can use both Schema.org items and machine-readable data, as described above.

Follow the guidelines below to make sure that your markup is processed correctly by Yandex Metrica. To get more complete statistics, we recommend that you mark up all the content elements, but only three are required: identifier, headline, and text. If you already use Schema.org, see if the markup on your website meets these requirements. The code examples in the guidelines aren't the only correct markup option.

Markup can be added to the site automatically — for example, using WordPress plugins. Before use, make sure that the selected plugin allows you to pass all the necessary markup elements to the page code.

We do not recommend using tag management systems for marking up your content because Yandex Metrica will not be able to correctly process the marked up data. However, tag management systems can be used for other purposes, such as installing a tag on a site.

Attention. All Schema.org items with markup must be inside the body tag. If there are several content units on the page, each of them must be marked separately. It is important to meet these requirements so that statistics are collected correctly.

Select the type of content:

For marking up articles, news articles, or posts, use any of the entities: Article, NewsArticle, or BlogPosting. Mark up the following content elements (required elements are marked with an asterisk):

Identifier*
The ID is specified using the identifier property. Yandex Metrica uses it to distinguish between different content. The identifier isn't shown in reports.
<meta itemprop="identifier" content="12345">
You can also specify the ID using the mainEntityOfPage property. It's used if the identifier property isn't found. Yandex Metrica searches it for the itemid attribute value that will be used as the ID.
<meta itemscope itemprop="mainEntityOfPage" 
  itemType="https://schema.org/WebPage" itemid="/life/weather/12345.html"/>

If none of the above properties are found, the top-level header from the <h1>...<h6> tags or the href attribute value of the canonical reference is used as the ID.

If multiple IDs are marked up, the first value found is used.
Headline*
The headline can be specified by using the headline or alternativeHeadline property and is displayed in Yandex Metrica reports. If both properties are set, their values are written with a space. For example, if the headlines are marked up like this:
<h1 itemprop="headline">The temperature in Moscow broke the record set in 1922</h1>
<h2 itemprop="alternativeHeadline">Temperature in November exceeds 12°C</h2>

In the report, the article is called “The temperature in Moscow broke the record set in 1922 Temperature in November exceeds 12°C”.

If none of the above properties is found, the value of the name property is used as the headline.

Text*

The text of an article should be contained in the tag with the articleBody property.

This counts the number of characters in the text, which is necessary for determining content volume and calculating scroll depth and read depth metrics. Only the contents of nested tags are considered text. The characters in the actual tags aren't taken into account. We recommend marking up text so that it doesn't include anything unnecessary, like banner ads or comment blocks, otherwise the content volume and statistics indicators may be calculated incorrectly.

<p itemprop="articleBody">
  On Wednesday, November 6, the temperature in Moscow broke the record set 
  in 1922. According to the Fobos center, 
 the air temperature was 12.1°C.
</p>

If the articleBody property isn't found, the values of the description or text property are used as the text.

If none of the properties are found, the contents of the tag marked Article or NewsArticle, without tag characters, are used as the text.

Note. You can get complete statistics for content with text longer than 500 characters.
Author

The author is specified using the author property. If there are multiple authors, specify them in different tags.

<div itemprop="author">Ivan Ivanov</div>

The value can also be taken from:

  • The name property of the Person class.

    <div itemprop="author" itemscope itemtype="http://schema.org/Person">
      <span itemprop="name">Ivan Ivanov</span>
    </div> 
  • The attribute of the href link.

    <link itemprop='author' href="/example/authors/ivan_ivanov.html"/>

With this data, you can view statistics for individual authors in Yandex Metrica.

Topic

You can mark up keywords and hashtags as topics. To do this, define the about property for each topic. The value can be taken from the name property of any class:

<div itemprop="about">Heat</div>
<div itemprop="about" 
  itemscope itemtype="https://schema.org/Thing">
  <span itemprop="name">Moscow</span>
</div>
Dates of publication and revisions

The dates of publication datePublished and revision dateModified are written in ISO 8601 format.

<meta itemprop="datePublished" content="2018-12-11T08:56:49Z" />

or in the datetime attribute of the time tag

<time itemprop="dateModified"  
  datetime="2018-12-11T07:30:00Z">  10:30, December 11, 2018</time>
Rubric

A category is a section of a website dedicated to a specific topic. To mark up a category, use the BreadcrumbList class. It describes a chain of linked web pages (“breadcrumbs”), which usually ends with the current content. In the BreadcrumbList, define multiple ListItem type items, which are marked by the itemListElement property and describe the current and broader categories.

Category nesting is set using the position property of the ListItem class. For example, the “Life” category may contain nested categories like “Weather” and “Incidents”. If position = '1', content is at the upper level (“Life”). If position = '2', it's at the second level (“Weather”).

The content category is the value of the name property of the ListItem entity with the largest position value.

Note. At the moment, the statistics show two levels of category nesting.
<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">Life</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">Weather</span></a>
    <meta itemprop="position" content="2" />
  </li>
</ol>
Content URL

The content URL is specified using the url property.

<a itemprop="url" 
  href="https://www.example-news.com/life/weather/moscow">
  example-news.com</a>

If the url property is not found, the system searches for a canonical link. This link is used to indicate the main content, if the current page duplicates a site page. Canonical links are marked with a special rel="canonical" attribute. For example, if the content is a duplicate of the page http://www.example-news.com/page, it contains <link rel="canonical" href="http://www.example-news.com/page"/>. The value of the href attribute of the canonical link is used as the content URL.

The found value can be used when generating the content ID.

If the markup is correct and the tag is properly enabled, statistics on the content will soon start to be collected in Yandex Metrica.

When marking up information about movies, use the Movie item. Mark up the following content elements (required elements are marked with an asterisk):

Identifier*
The ID is specified using the identifier property. Yandex Metrica uses it to distinguish between different content. The identifier isn't shown in reports.
<meta itemprop="identifier" content="12345">
You can also specify the ID using the mainEntityOfPage property. It's used if the identifier property isn't found. Yandex Metrica searches it for the itemid attribute value that will be used as the ID.
<meta itemscope itemprop="mainEntityOfPage" 
  itemType="https://schema.org/WebPage" itemid="/life/cinema/12345.html"/>

If none of the above properties are found, the top-level header from the <h1>...<h6> tags or the href attribute value of the canonical reference is used as the ID.

If multiple IDs are marked up, the first value found is used.
Headline*
The headline can be specified by using the headline or alternativeHeadline property and is displayed in Yandex Metrica reports. If both properties are set, their values are written with a space. For example, if the headlines are marked up like this:
<h1 itemprop="headline">Cloud Atlas</h1>
<h2 itemprop="alternativeHeadline">
 Cartographie des nuages</h2>

in the report, the content is called “Cloud Atlas Cartographie des nuages”.

If none of the above properties is found, the value of the name property is used as the headline.

Text*

The text of the content about the movie should be placed in the tag with the description property.

This counts the number of characters in the text, which is necessary for determining content volume and calculating scroll depth and read depth metrics. Only the contents of nested tags are considered text. The characters in the actual tags aren't taken into account. We recommend marking up text so that it doesn't include anything unnecessary, like banner ads or comment blocks, otherwise the content volume and statistics indicators may be calculated incorrectly.

<p itemprop="description">
   Six stories – five reincarnations that occur at different times   are closely intertwined...
</p>

If the description property isn't found, the value of the text property is used as the text.

If the above properties aren't found, the entire contents of the tag marked Movie, without tag characters, is used as the text.

Note. You can get complete statistics for content with text longer than 500 characters.
Author

The author is specified using the author property. If there are multiple authors, specify them in different tags.

<div itemprop="author">Ivan Ivanov</div>

The value can also be taken from:

  • The name property of the Person class.

    <div itemprop="author" itemscope itemtype="http://schema.org/Person">
      <span itemprop="name">Ivan Ivanov</span>
    </div> 
  • The attribute of the href link.

    <link itemprop='author' href="/example/authors/ivan_ivanov.html"/>

With this data, you can view statistics for individual authors in Yandex Metrica.

Topic

You can mark up keywords and hashtags as topics. To do this, define the about property for each topic. The value can be taken from the name property of any class:

<div itemprop="about">Movie</div>
<div itemprop="about" 
  itemscope itemtype="https://schema.org/Thing">
  <span itemprop="name">Moscow</span>
</div>
Dates of publication and revisions

The dates of publication datePublished and revision dateModified are written in ISO 8601 format.

<meta itemprop="datePublished" content="2018-12-11T08:56:49Z" />

or in the datetime attribute of the time tag

<time itemprop="dateModified"  
  datetime="2018-12-11T07:30:00Z">  10:30, December 11, 2018</time>
Rubric

A category is a section of a website dedicated to a specific topic. To mark up a category, use the BreadcrumbList class. It describes a chain of linked web pages (“breadcrumbs”), which usually ends with the current content. In the BreadcrumbList, define multiple ListItem type items, which are marked by the itemListElement property and describe the current and broader categories.

Category nesting is set using the position property of the ListItem class. For example, the “Culture” category may contain nested categories like “Cinema” and “Theater”. If position = '1', content is at the upper level (“Culture”), if position = '2', it's at the second level (“Cinema”).

The content category is the value of the name property of the ListItem entity with the largest position value.

Note. At the moment, the statistics show two levels of category nesting.
<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">Culture</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">Movie</span></a>
    <meta itemprop="position" content="2" />
  </li>
</ol>
Content URL

The content URL is specified using the url property.

<a itemprop="url" 
  href="https://www.example-news.com/life/weather/moscow">
  example-news.com</a>

If the url property is not found, the system searches for a canonical link. This link is used to indicate the main content, if the current page duplicates a site page. Canonical links are marked with a special rel="canonical" attribute. For example, if the content is a duplicate of the page http://www.example-news.com/page, it contains <link rel="canonical" href="http://www.example-news.com/page"/>. The value of the href attribute of the canonical link is used as the content URL.

The found value can be used when generating the content ID.

If the markup is correct and the tag is properly enabled, statistics on the content will soon start to be collected in Yandex Metrica.

When marking up a review, use the Review item. Mark up the following content elements (required elements are marked with an asterisk):

Identifier*
The ID is specified using the identifier property. Yandex Metrica uses it to distinguish between different content. The identifier isn't shown in reports.
<meta itemprop="identifier" content="12345">
You can also specify the ID using the mainEntityOfPage property. It's used if the identifier property isn't found. Yandex Metrica searches it for the itemid attribute value that will be used as the ID.
<meta itemscope itemprop="mainEntityOfPage" 
  itemType="https://schema.org/WebPage" itemid="/restaurants/review/12345.html"/>

If none of the above properties are found, then a combination of the author name and headline, the top-level header from the <h1>...<h6> tags, or the href attribute value of the canonical reference is used as the ID.

If multiple IDs are marked up, the first value found is used.
Headline*
The headline can be specified by using the headline or alternativeHeadline property and is displayed in Yandex Metrica reports. If both properties are set, their values are written with a space. For example, the headlines can be marked up like this:
<h1 itemprop="headline">New Asian 
  restaurant in Moscow</h1>
<h2 itemprop="alternativeHeadline">
 Experimental cuisine by Japanese chef</h2>

In reports, the name of the content is a combination of the author name and the headline: “Ivan Ivanov: New Asian restaurant in Moscow Experimental cuisine by Japanese chef”.

If none of the above properties is found, the value of the name or itemReviewed property is used as the headline.

Text*

The text of a review should be placed in the tag with the reviewBody property.

This counts the number of characters in the text, which is necessary for determining content volume and calculating scroll depth and read depth metrics. Only the contents of nested tags are considered text. The characters in the actual tags aren't taken into account. We recommend marking up text so that it doesn't include anything unnecessary, like banner ads or comment blocks, otherwise the content volume and statistics indicators may be calculated incorrectly.

<p itemprop="reviewBody">
  A new Asian restaurant opened in Moscow on Wednesday, November 6.
  Find the event details and menu description in our review.
</p>

If the reviewBody property isn't found, the values of the description or text property is used as the text.

If the above properties aren't found, the entire contents of the tag marked Review, without tag characters, is used as the text.

Note. You can get complete statistics for content with text longer than 500 characters.
Author

The author is specified using the author property. If there are multiple authors, specify them in different tags.

<div itemprop="author">Ivan Ivanov</div>

The value can also be taken from:

  • The name property of the Person class.

    <div itemprop="author" itemscope itemtype="http://schema.org/Person">
      <span itemprop="name">Ivan Ivanov</span>
    </div> 
  • The attribute of the href link.

    <link itemprop='author' href="/example/authors/ivan_ivanov.html"/>

With this data, you can view statistics for individual authors in Yandex Metrica.

Topic

You can mark up keywords and hashtags as topics. To do this, define the about property for each topic. The value can be taken from the name property of any class:

<div itemprop="about">Restaurants</div>
<div itemprop="about" 
  itemscope itemtype="https://schema.org/Thing">
  <span itemprop="name">Moscow</span>
</div>
Dates of publication and revisions

The dates of publication datePublished and revision dateModified are written in ISO 8601 format.

<meta itemprop="datePublished" content="2018-12-11T08:56:49Z" />

or in the datetime attribute of the time tag

<time itemprop="dateModified"  
  datetime="2018-12-11T07:30:00Z">  10:30, December 11, 2018</time>
Rubric

A category is a section of a website dedicated to a specific topic. To mark up a category, use the BreadcrumbList class. It describes a chain of linked web pages (“breadcrumbs”), which usually ends with the current content. In the BreadcrumbList, define multiple ListItem type items, which are marked by the itemListElement property and describe the current and broader categories.

Category nesting is set using the position property of the ListItem class. For example, the “Reviews” category may contain nested categories like “Restaurants” and “Cafes”. If position = '1', content is at the upper level (“Reviews”). If position = '2', it's at the second level (“Restaurants”).

The content category is the value of the name property of the ListItem entity with the largest position value.

Note. At the moment, the statistics show two levels of category nesting.
<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">Reviews</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">Restaurants</span></a>
    <meta itemprop="position" content="2" />
  </li>
</ol>
Content URL

The content URL is specified using the url property.

<a itemprop="url" 
  href="https://www.example-news.com/life/weather/moscow">
  example-news.com</a>

If the url property is not found, the system searches for a canonical link. This link is used to indicate the main content, if the current page duplicates a site page. Canonical links are marked with a special rel="canonical" attribute. For example, if the content is a duplicate of the page http://www.example-news.com/page, it contains <link rel="canonical" href="http://www.example-news.com/page"/>. The value of the href attribute of the canonical link is used as the content URL.

The found value can be used when generating the content ID.

If the markup is correct and the tag is properly enabled, statistics on the content will soon start to be collected in Yandex Metrica.

When marking up a recipe, use the Recipe item. Mark up the following content elements (required elements are marked with an asterisk):

Identifier*
The ID is specified using the identifier property. Yandex Metrica uses it to distinguish between different content. The identifier isn't shown in reports.
<meta itemprop="identifier" content="12345">
You can also specify the ID using the mainEntityOfPage property. It's used if the identifier property isn't found. Yandex Metrica searches it for the itemid attribute value that will be used as the ID.
<meta itemscope itemprop="mainEntityOfPage" 
  itemType="https://schema.org/WebPage" itemid="/life/cuisine/12345.html"/>

If none of the above properties are found, the top-level header from the <h1>...<h6> tags or the href attribute value of the canonical reference is used as the ID.

If multiple IDs are marked up, the first value found is used.
Headline*
The headline can be specified by using the headline or alternativeHeadline property and is displayed in Yandex Metrica reports. If both properties are set, their values are written with a space. For example, if the headlines are marked up like this:
<h1 itemprop="headline">Cheesy chicken</h1>
<h2 itemprop="alternativeHeadline">
  Classic recipe</h2>

in the report, the content is called “Cheesy chicken Classic recipe”.

If none of the above properties is found, the value of the name property is used as the headline.

Text*

The text of the recipe should be placed in the tag with the recipeInstructions property.

This counts the number of characters in the text, which is necessary for determining content volume and calculating scroll depth and read depth metrics. Only the contents of nested tags are considered text. The characters in the actual tags aren't taken into account. We recommend marking up text so that it doesn't include anything unnecessary, like banner ads or comment blocks, otherwise the content volume and statistics indicators may be calculated incorrectly.

<p itemprop="recipeInstructions">
  Cut the chicken into pieces and put in a roasting pan.
Add salt, pepper, and seasoning to taste and top with pieces of cheese.
  Bake for 25 minutes at 200°C. 
</p>

If the recipeInstructions property isn't found, the values of the description or text property is used as the text.

If the above properties aren't found, the entire contents of the tag marked Recipe, without tag characters, is used as the text.

Note. You can get complete statistics for content with text longer than 500 characters.
Author

The author is specified using the author property. If there are multiple authors, specify them in different tags.

<div itemprop="author">Ivan Ivanov</div>

The value can also be taken from:

  • The name property of the Person class.

    <div itemprop="author" itemscope itemtype="http://schema.org/Person">
      <span itemprop="name">Ivan Ivanov</span>
    </div> 
  • The attribute of the href link.

    <link itemprop='author' href="/example/authors/ivan_ivanov.html"/>

With this data, you can view statistics for individual authors in Yandex Metrica.

Topic

You can mark up keywords and hashtags as topics. To do this, define the about property for each topic. The value can be taken from the name property of any class:

<div itemprop="about">Recipes</div>
<div itemprop="about" 
  itemscope itemtype="https://schema.org/Thing">
  <span itemprop="name">Second courses</span>
</div>
Dates of publication and revisions

The dates of publication datePublished and revision dateModified are written in ISO 8601 format.

<meta itemprop="datePublished" content="2018-12-11T08:56:49Z" />

or in the datetime attribute of the time tag

<time itemprop="dateModified"  
  datetime="2018-12-11T07:30:00Z">  10:30, December 11, 2018</time>
Rubric

A category is a section of a website dedicated to a specific topic. To mark up a category, use the BreadcrumbList class. It describes a chain of linked web pages (“breadcrumbs”), which usually ends with the current content. In the BreadcrumbList, define multiple ListItem type items, which are marked by the itemListElement property and describe the current and broader categories.

Category nesting is set using the position property of the ListItem class. For example, the “Recipes” category may contain nested categories like “Salads” and “Entrees”. If position = '1', content is at the upper level (“Recipes”), if position = '2', it's at the second level (“Entrees”).

The content category is the value of the name property of the ListItem entity with the largest position value.

Note. At the moment, the statistics show two levels of category nesting.
<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">Recipes</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">Second courses</span></a>
    <meta itemprop="position" content="2" />
  </li>
</ol>
Content URL

The content URL is specified using the url property.

<a itemprop="url" 
  href="https://www.example-news.com/life/weather/moscow">
  example-news.com</a>

If the url property is not found, the system searches for a canonical link. This link is used to indicate the main content, if the current page duplicates a site page. Canonical links are marked with a special rel="canonical" attribute. For example, if the content is a duplicate of the page http://www.example-news.com/page, it contains <link rel="canonical" href="http://www.example-news.com/page"/>. The value of the href attribute of the canonical link is used as the content URL.

The found value can be used when generating the content ID.

If the markup is correct and the tag is properly enabled, statistics on the content will soon start to be collected in Yandex Metrica.

When marking up questions and answers, use the Question item. Mark up the following content elements (required elements are marked with an asterisk):

Identifier*
The ID is specified using the identifier property. Yandex Metrica uses it to distinguish between different content. The identifier isn't shown in reports.
<meta itemprop="identifier" content="12345">
You can also specify the ID using the mainEntityOfPage property. It's used if the identifier property isn't found. Yandex Metrica searches it for the itemid attribute value that will be used as the ID.
<meta itemscope itemprop="mainEntityOfPage" 
  itemType="https://schema.org/WebPage" itemid="/qanda/animals/12345.html"/>

If none of the above properties are found, then a combination of the author name and headline, the top-level header from the <h1>...<h6> tags, or the href attribute value of the canonical reference is used as the ID.

If multiple IDs are marked up, the first value found is used.
Headline*
The headline can be specified by using the headline or alternativeHeadline property and is displayed in Yandex Metrica reports. If both properties are set, their values are written with a space. For example, the headlines can be marked up like this:
<h1 itemprop="headline">Can rabbits swim?</h1>
<h2 itemprop="alternativeHeadline">
 Answered by Moscow zoologist</h2>

In reports, the name of the content is a combination of the author name and the headline: “Ivan Ivanov: Can rabbits swim? Answered by Moscow zoologist”.

If none of the above properties is found, the value of the name property is used as the headline.

Text*

The text of an answer should be placed in the tag with the acceptedAnswer property.

This counts the number of characters in the text, which is necessary for determining content volume and calculating scroll depth and read depth metrics. Only the contents of nested tags are considered text. The characters in the actual tags aren't taken into account. We recommend marking up text so that it doesn't include anything unnecessary, like banner ads or comment blocks, otherwise the content volume and statistics indicators may be calculated incorrectly.

<p itemprop="acceptedAnswer">
  They're great swimmers! One day, while working on a small island
  in the Northern archipelago of the White Sea, I saw
  two rabbits swimming to my island on their own,
  through the cold sea strait, more than 300 meters wide. 
  They jumped along the shore and then swam back to the mainland.
</p>

If the acceptedAnswer property isn't found, the values of the description or text property is used as the text.

If the above properties aren't found, the entire contents of the tag marked Question, without tag characters, is used as text.

Note. You can get complete statistics for content with text longer than 500 characters.
Author

The author is specified using the author property. If there are multiple authors, specify them in different tags.

<div itemprop="author">Ivan Ivanov</div>

The value can also be taken from:

  • The name property of the Person class.

    <div itemprop="author" itemscope itemtype="http://schema.org/Person">
      <span itemprop="name">Ivan Ivanov</span>
    </div> 
  • The attribute of the href link.

    <link itemprop='author' href="/example/authors/ivan_ivanov.html"/>

With this data, you can view statistics for individual authors in Yandex Metrica.

Topic

You can mark up keywords and hashtags as topics. To do this, define the about property for each topic. The value can be taken from the name property of any class:

<div itemprop="about">Animals</div>
<div itemprop="about" 
  itemscope itemtype="https://schema.org/Thing">
  <span itemprop="name">Zoology</span>
</div>
Dates of publication and revisions

The dates of publication datePublished and revision dateModified are written in ISO 8601 format.

<meta itemprop="datePublished" content="2018-12-11T08:56:49Z" />

or in the datetime attribute of the time tag

<time itemprop="dateModified"  
  datetime="2018-12-11T07:30:00Z">  10:30, December 11, 2018</time>
Rubric

A category is a section of a website dedicated to a specific topic. To mark up a category, use the BreadcrumbList class. It describes a chain of linked web pages (“breadcrumbs”), which usually ends with the current content. In the BreadcrumbList, define multiple ListItem type items, which are marked by the itemListElement property and describe the current and broader categories.

Category nesting is set using the position property of the ListItem class. For example, the “Questions and answers” category may contain nested categories like “Animals” and “Birds”. If position = '1', content is at the upper level (“Questions and answers”), if position = '2', they are at the second level (“Animals”).

The content category is the value of the name property of the ListItem entity with the largest position value.

Note. At the moment, the statistics show two levels of category nesting.
<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">Questions and answers</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">Animals</span></a>
    <meta itemprop="position" content="2" />
  </li>
</ol>
Content URL

The content URL is specified using the url property.

<a itemprop="url" 
  href="https://www.example-news.com/life/weather/moscow">
  example-news.com</a>

If the url property is not found, the system searches for a canonical link. This link is used to indicate the main content, if the current page duplicates a site page. Canonical links are marked with a special rel="canonical" attribute. For example, if the content is a duplicate of the page http://www.example-news.com/page, it contains <link rel="canonical" href="http://www.example-news.com/page"/>. The value of the href attribute of the canonical link is used as the content URL.

The found value can be used when generating the content ID.

If the markup is correct and the tag is properly enabled, statistics on the content will soon start to be collected in Yandex Metrica.

Markup example

Below you can see an example of article markup.

<!DOCTYPE html>
<html>
<head></head>
<body>
  <article>
    <h1>The temperature in Moscow broke the record set in 1922</h1>
    <div> The temperature in November exceeded 12°C</div> 
    <span><a href="/example-news/authors/ivan_ivanov.html">Ivan Ivanov</a></span>
    <time datetime="2018-11-06T09:25:10+04:00">06.11.2018, 09:25</time>
    <meta content="2018-11-06T09:25:10+04:00"/>
    <div>
      On Wednesday, November 6, the temperature in Moscow       broke the record set in 1922. According to the Fobos center,       the air temperature was 12.1°C.  </div>
  </article>
</body>
</html>

Specifics of loading page content

If content contains multiple images or complex scripts, “lazy loading” is often used. This means data is loaded asynchronously on the page. We recommend transmitting data with markup while content is being opened. This ensures that all values are received and processed correctly.