Schema.org markup

Schema.org is a standard for the semantic markup of data on the web. It is supported by major search engines, including Yandex. The standard provides a set of classes that describe various items and their properties. For more information about the standard, see the official website.

Note. Please keep in mind that markup microdata is public and any service can extract and use it.

How Schema.org markup works

To add Schema.org markup to 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>1922 record temperature beaten in Moscow</h1>
   <p itemscope itemtype="http://schema.org/Person">
      Author: <span>Ivan Ivanov</span> — <span>special correspondent</span></p>  
   <p>The record temperature recorded in 
      1922 was beaten in Moscow on Wednesday, November 6. The air temperature was 12.1°C 
      according to the Fobos center.</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">1922 record temperature beaten in Moscow</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">The record temperature recorded in 
      1922 was beaten in Moscow on Wednesday, November 6. The air temperature was 12.1°C 
      according to the Fobos center.</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.

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="Weather">

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"> November 6, 2018, 10:30</time>

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.

Add markup to your content following the rules below to make sure that it's processed correctly and you get more complete statistics. If you already use Schema.org, see if the markup on your website meets these requirements. The code examples aren't the only correct markup option.

Attention. All Schema.org items with markup must be inside the body tag to ensure statistics on page contents are properly collected.

Select the type of content:

Use the Article, NewsArticle or BlogPosting item to mark up articles, news or posts. The following must be marked up:

ID
The ID is specified using the identifier property. It lets Yandex.Metrica distinguish between different content. The ID 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 in 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">1922 record
  temperature beaten in Moscow</h1>
<h2 itemprop="alternativeHeadline">
  Temperature in November exceeds 12°C</h2>

In the report, the article is called “1922 record temperature beaten in Moscow 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 is 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">
  The record temperature recorded in 1922 was beaten in Moscow on Wednesday, 
  November 6. The air temperature was 12.1°C 
  according to the Fobos center.
</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. Statistics only take into account 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 revision

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">
  December 11, 2018, 10:30
</time>
Category

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.

<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>
Canonical reference

If the current page duplicates a page on a website, content may reference the main content. This is a canonical reference. It's marked up with the special rel="canonical" attribute. The value of the href attribute of a link can be used as a canonical reference. For example, if the content is a duplicate of the page http://www.example-news.com/page, it should specify <link rel="canonical" href="http://www.example-news.com/page"/>.

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. The following must be marked up:

ID
The ID is specified using the identifier property. It lets Yandex.Metrica distinguish between different content. The ID 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 in 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 is 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.

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

Note. Statistics only take into account 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 revision

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">
  December 11, 2018, 10:30
</time>
Category

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.

<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"Cinema</span></a>
    <meta itemprop="position" content="2" />
  </li>
</ol>
Canonical reference

If the current page duplicates a page on a website, content may reference the main content. This is a canonical reference. It's marked up with the special rel="canonical" attribute. The value of the href attribute of a link can be used as a canonical reference. For example, if the content is a duplicate of the page http://www.example-news.com/page, it should specify <link rel="canonical" href="http://www.example-news.com/page"/>.

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. The following must be marked up:

ID
The ID is specified using the identifier property. It lets Yandex.Metrica distinguish between different content. The ID 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 in 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 opens in Moscow</h1>
<h2 itemprop="alternativeHeadline">
 Experimental cuisine by chef from Japan</h2>

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

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 is 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. Statistics only take into account 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 revision

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">
  December 11, 2018, 10:30
</time>
Category

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.

<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>
Canonical reference

If the current page duplicates a page on a website, content may reference the main content. This is a canonical reference. It's marked up with the special rel="canonical" attribute. The value of the href attribute of a link can be used as a canonical reference. For example, if the content is a duplicate of the page http://www.example-news.com/page, it should specify <link rel="canonical" href="http://www.example-news.com/page"/>.

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. The following must be marked up:

ID
The ID is specified using the identifier property. It lets Yandex.Metrica distinguish between different content. The ID 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 in 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:
e<h1 itemprop="headline">Chicken with cheese</h1>
<h2 itemprop="alternativeHeadline">
    Classic recipe</h2>

in the report, the content is called “Chicken with cheese 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 is 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 them in a roasting pan,
  add salt, pepper, and seasoning to taste and top it off with pieces of cheese.
  Cook 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. Statistics only take into account 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">Main course</span>
</div>
Dates of publication and revision

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">
  December 11, 2018, 10:30
</time>
Category

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 “Main course”. If position = '1', content is at the upper level (“Recipes”), if position = '2', it's at the second level (“Main course”).

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

<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">Main course</span></a>
    <meta itemprop="position" content="2" />
  </li>
</ol>
Canonical reference

If the current page duplicates a page on a website, content may reference the main content. This is a canonical reference. It's marked up with the special rel="canonical" attribute. The value of the href attribute of a link can be used as a canonical reference. For example, if the content is a duplicate of the page http://www.example-news.com/page, it should specify <link rel="canonical" href="http://www.example-news.com/page"/>.

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. The following must be marked up:

ID
The ID is specified using the identifier property. It lets Yandex.Metrica distinguish between different content. The ID 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 in 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">
 A zoologist from Moscow tells us the answer</h2>

In reports, the name of the content is a combination of the author name and the headline: “Ivan Ivanov: Can rabbits swim? A zoologist from Moscow tells us the answer”.

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 is 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 initiative,
  through the cold sea strait, more than 300 meters wide. 
  They jumped on 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 the text.

Note. Statistics only take into account 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 revision

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">
  December 11, 2018, 10:30
</time>
Category

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.

<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>
Canonical reference

If the current page duplicates a page on a website, content may reference the main content. This is a canonical reference. It's marked up with the special rel="canonical" attribute. The value of the href attribute of a link can be used as a canonical reference. For example, if the content is a duplicate of the page http://www.example-news.com/page, it should specify <link rel="canonical" href="http://www.example-news.com/page"/>.

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.

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.