Strict microdata—Catalogs

To ensure that data from the semantic markup of a page has the highest priority when crawled by the indexing bot compared to data from other sources, mark up product lists according to the OfferCatalog schema with nested objects of the Offer schema.

Supported schema fields

All supported schema fields are required.

Properties of OfferCatalog:

  • name (Text) — catalog name;
  • description (Text) — catalog description;
  • image (URL) — general image of the catalog. It is not an object of the ImageObject type.

A page should contain only one product list marked according to the OfferCatalog schema, without nested lists.

Properties of Offer:

  • url (URL) — link to the product page;
  • name (Text) — The product name.
  • description (Text) — catalog description;
  • image (URL) — product image. It is not an object of the ImageObject type.
  • availability (URL) — whether the product is available for order or not;
  • price (Text or Number) — product price;
  • priceCurrency (Text) — the currency used.

Example of correct markup

<ul itemscope itemtype="https://schema.org/OfferCatalog">
   <!--The “name” field specifies the catalog name.-->
   <span itemprop="name">Catalog</span>
   <!--The “description” field specifies the catalog description.-->
   <span itemprop="description">Catalog description</span>
   <!--The “image” field specifies the link to the catalog image.-->
   <img src="http://www.example.com/image.jpg" itemprop="image">
   <!--Specifies the Offer schema.-->
   <li itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
      <div>
         <!--The “name” field specifies the product name.-->
         <span itemprop="name">Product</span>
         <!--The “description” field specifies the product description.-->
         <span itemprop="description">Product description</span>
         <!--The “url” field specifies the link to the product page.-->
         <link itemprop="url" href="www.example.com/product/1">
         <!--The “image” field specifies the link to the product image.-->
         <img src="http://www.example.com/image1.jpg" itemprop="image">
         <!--The “price” field specifies the product price.-->
         <meta itemprop="price" content="7,150.00">
         <!--The “priceCurrency” field specifies the currency.-->
         <meta itemprop="priceCurrency" content="RUB">
         <!--The “availability” field specifies whether the product is available for order.-->
         <link itemprop="availability" href="http://schema.org/InStock">
      </div>
   </li>
   <!--Specifies the Offer schema.-->
   <li itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
      <div>
         <span itemprop="name">Another product</span>
         <!--The “description” field specifies the product description.-->
         <span itemprop="description">Description of another product</span>
         <link itemprop="url" href="www.example.com/product/2">
         <img src="http://www.example.com/image2.jpg" itemprop="image">
         <meta itemprop="price" content="750.00">
         <meta itemprop="priceCurrency" content="RUB">
         <link itemprop="availability" href="http://schema.org/InStock">
      </div>
   </li>
</ul>

You can check the markup with the validator.

<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "OfferCatalog",
  "name": "Catalog name",
  "image": "http://www.example.com/image.jpg",
  "description": "Catalog description",
   "itemListElement": 
    {
      "@type": "Offer",
      "name": "Product",
      "description": "Product description",
      "url": "www.example.com/product/1",
      "price": "7150.00",
      "priceCurrency": "RUB",
      "image": "http://www.example.com/image1.jpg",
      "availability": "https://schema.org/InStock"
    },
    {
      "@type": "Offer",
      "name": "Another product",
      "description": "Another product's description",
      "url": "www.example.com/product/2",
      "price": "750.00",
      "priceCurrency": "RUB",
      "image": "http://www.example.com/image2.jpg",
      "availability": "https://schema.org/InStock"
    } 
  ]
}
</script>

Alert

Processing data in JSON-LD format is not guaranteed.

Alert

Yandex does not guarantee that the information it receives will appear in search results. Information marked up in Schema.org format may be used by Yandex fully or partially, separately or along with information obtained from other sources. This information may be used in any Yandex service.

Contact support

Tell us what your question is about so we can direct you to the right specialist:

The markup is created within two weeks. If Yandex doesn't support any of the markup types on a page or the markup is incorrect, it skips it.

The Yandex robot will be able to index the site information even without markup, and it doesn't affect displaying pages in the search results. To set the desired page description in the search results, use the Description meta tag.

For a detailed description of errors, see Structured data validator.

Error could not be fixed
Other questions about the partner program or markup



You can also go to