Webmaster
How Yandex indexes sites
A site on search results page

Description of elements processed by Yandex

General requirements

To make the recipes from your site extractable by Yandex, each page may contain only one recipe - an element of the hrecipe root class, and this recipe must constitute the main content of the page. The remaining elements (properties of the recipe) are nested within the root element.

The data contained in the recipe must be fully displayed on the page and be visible to site visitors.

Yandex processes the standard properties of the format as well as its own proprietary extensions.

Required elements

To help Yandex use the recipe data to improve site snippets, you must include the following required properties:

fn

The name of the recipe or dish.

This property may only have text values.

Example:

<span class="fn">Beer chicken and rice</span>

ingredient

The ingredient and its volume/quantity.

A recipe may contain one or more ingredients. Use the ingredient class to mark up each ingredient of the dish. The value of this property may be plain text or HTML code.

This property may contain the following nested properties:

  • name — name of the product (this property is not stipulated by the hRecipe standard).

  • type and value — unit of measurement and the number of units.

  • amount — the amount indicated in free format (this property is not stipulated by the hRecipe standard). It is used in place of type and value.

Examples:

<span class="ingredient">
  <span class="amount">1</span>
  <span class="name">chicken</span>
</span>
<span class="ingredient">
  <span class="value">0.5</span>
  <span class="type">L</span>
  <span class="name">of beer</span>
</span>

instructions

Instructions for preparing the dish.

A recipe may not contain more than one element of the instructions class. The value of this property may be plain text or HTML code.

We recommend that you include only the bare instructions into this property without any introductory heading (for example, "Cooking instructions").

You can mark up separate steps of the instructions with the instruction class. The hRecipe standard does not include the nested instruction property; Yandex added it as an extension.

Example:

<ul class="instructions">
    <li class="instruction">Cut up the chicken, place into a baking pan, add salt, pepper and other spices
    to taste.</li>
    <li class="instruction" >Pour the beer over the chicken and put the pan into the oven.</li>
    <li class="instruction" >Roast at 180 degrees Celsius (350 degrees Fahrenheit) for 40 to 45 minutes.</li>
  </ul>

You may nest one or more photo properties (as well as the result-photoproperty) within the instructions property.

Example:

<ul class="instructions">
  <li>Cut up the chicken, place into a baking pan, add salt, pepper and other spices to taste.
    <br>
 <img class="photo" src="images/step1.jpg" alt="Cut up the chicken"/>
  </li>
  <li>Pour the beer over the chicken and put the pan into the oven.
    <br>
 <img class="photo" src="images/step2.jpg" alt="Pour the beer over the chicken"/>
  </li>
  <li>Roast at 180 degrees Celsius (350 degrees Fahrenheit) for 40 to 45 minutes.
    <br>
 <img class="photo result-photo" src="images/step3.jpg" alt="Bon appetit!"/>
  </li>
</ul>

For a description of the photo and result-photo properties, see below.

Supported elements

In addition to the required elements, Yandex processes the following properties of the hRecipe format:

yield

The number of portions resulting from the indicated amount of ingredients. A recipe may not contain more than one element of the yield class. This property can only have text values.

Example:

<span>Yields <span class="yield">3 portions</span>.</span>

duration

The duration of the cooking process. This property can only contain plain text or a string in ISO 8601 format.

For example:

<span> The total preparation and cooking time is about <span class="duration">1 hour</span>. </span>
<span class="duration"><span class="value-title" title="PT1H30M"> </span>an hour and a half</span>

photo and result-photo

A photograph of the cooked dish or of a step in the cooking process.

A recipe may contain more than one element of the photo class. The photo property may be a direct child of the hrecipe root class, or of the instructions property. The value of this property is the value of the src attribute of the <img> HTML element.

If a recipe contains one or more elements of the photo class, one of them (the one that shows the cooked dish) may also be marked up with the result-photo class. The hRecipe standard does not include the result-photo property; Yandex added it as an extension.

For an example of using the photo and result-photo properties, see the description of the instructions property.

author

The author of the recipe.

A recipe may contain more than one element of the author class. The value of this property may be plain text or a card in hCard format.

Examples:

<span> Author: <span class="author">Smith</span> </span>
<span>Author:
  <span class="author vcard">
    <a class="fn url" href="http://smith.example.com/">Smith</a>
  </span>
</span>

nutrition

Nutritional value of the dish, i.e. the amount of calories, proteins, fat, carbohydrates, vitamins, etc.

A recipe may contain more than one element of the nutrition class. This property may contain the following nested properties which are not stipulated by the hRecipe standard but are supported by Yandex:

  • calories — calorie count;

  • fat — fat count;

  • saturatedFat — saturated fat count;

  • unsaturatedFat — unsaturated fat count;

  • carbohydrates — carbohydrate count;

  • sugar — amount of sugar;

  • fiber — amount of fiber;

  • protein — amount of protein;

  • cholesterol — cholesterol count;

  • servingSize — the portion for which the caloric or nutritional value is indicated.

For example:

<div>100 grams of the dish contains
  <span class="nutrition">Caloric content:
    <span class="calories">240 kcal</span>
  </span> 
  <span>Protein:
    <span class="protein">18 g</span>
  <span>Fat:
    <span class="fat">10 g</span>
  </span>
  <span>Carbohydrates:
    <span class="carbohydrates">70 g</span>
  </span>
</div>

Extensions

The following properties are not included in the hRecipe standard but nevertheless may be included into a recipe because Yandex can process them:

category

The type of dish.

A recipe may not contain more than one element of the category class. This property may only contain text values.

Example:

<span class="category">Hot main dish</span>

sub-category

The subcategory of the dish.

A recipe may not contain more than one element of the sub-category class. This property may only contain text values.

Example:

<div> <span class="category">Hot</span> <span class="sub-category">poultry dish</span> </div>

cuisine-type

The ethnic cuisine in which the dish originated.

A recipe may not contain more than one element of the cuisine-type class. This property may only contain text values.

Example:

<div class="cuisine-type">Luxembourgian cuisine</div>

weight

The weight of the cooked dish.

A recipe may not contain more than one element of the weight class. This property may only contain text values.

Example:

<div>The cooked dish weighs <span class="weight">1.5 kg</span></div>

result-photo

A photo of the cooked dish.

For a description of this property, see the section titled “photo and result-photo”.

Rate this article
Thank you for your feedback!