Recipe
Applicable sites
Cooking websites.
What it adds to search results
Contains recipe details, such as the list of ingredients, number of servings, and cooking time. Structured information helps users quickly understand the specifics of the recipe they’ve found and choose the right link in the search results.
How to set it up
To form such an answer, Yandex needs information about which page fragments correspond to certain semantic units (list of ingredients, description of the cooking process, etc.).
You can provide this information to Yandex by adding one of the markup types listed below to the HTML code of your site’s pages.
Recipe markup in Schema.org standard
-
Required fields
-
name — (Text) The recipe or dish name.
-
recipeIngredient — (Text) Ingredients in the recipe and their volumes or amounts (there may be several ingredients).
Recommended fields
-
recipeInstructions — (Text) cooking instructions.
-
recipeYield — (Text) Number of servings.
-
totalTime — (Duration) Cooking time (if missing, cookTime is used). Specified in the ISO 8601 format. For example, PT30M (30 minutes).
-
prepTime — (Duration) The time required to prepare the ingredients used in the recipe.
-
image — (URL) URL of the cooking images (there may be several URLs). We recommend you to fill in this field for creating a better snippet.
-
nutrition — (NutritionInformation) Energy and nutrition value of the dish, meaning the number of calories and the amount of fat, protein, carbohydrates, vitamins, and so on.
Fields not included in the schema.org standard but recommended by Yandex
- resultPhoto — (URL) URL of the ready dish image. We recommend you to fill in this field for creating a better snippet.
Example of markup
<div itemscope itemtype="http://schema.org/Recipe"> <h1 itemprop="name">Chicken in beer with rice</h1> This recipe was found in a Tibetan monastery in 1871 during the expedition of Count Nikanor Uysky. It was written in the 6th century BC on a clay tablet. <img itemprop="resultPhoto" src="profit.jpg" /> <ul> <li>After cooking, you will receive <span itemprop="recipeYield">4 servings</span></li> <li>Cooking time: <meta itemprop="totalTime" content="PT45M"/>45 minutes</li> </ul> <h2>Ingridients</h2> <ul> <li itemprop="recipeIngredient"> 1 chicken </li> <li itemprop="recipeIngredient" > 5 l beer </li> <li itemprop="recipeIngredient" > соль </li> <li itemprop="recipeIngredient" > перец </li> <li itemprop="recipeIngredient" > spices to taste </li> </ul> <h2>Cooking method</h2> <ul itemprop="recipeInstructions"> <li><img itemprop="image" src="creks.jpg" alt="нарезанная кусочками курица"/> Cut the chicken into pieces, put it in a baking dish, add salt, pepper, and spices to taste. </li> <li><img itemprop="image" src="feks.jpg" alt="beer-soaked chicken"/> Pour beer over the chicken and put it in the oven. </li> <li><img itemprop="image" src="peks.jpg" alt="chicken in the oven"/> Roast at 180 degrees for 40–45 minutes. </li> </ul> <div itemprop="nutrition" itemscope itemtype="http://schema.org/NutritionInformation"> </div> Enjoy your meal! </div> -
Markup in hRecipe microformat
-
hRecipe is an (X)HTML markup standard for culinary recipes developed by an international initiative. This markup allows you to automatically process the recipes on the site pages. Semantic elements (the dish ingredients, the preparation method, the cooking time) are retrieved from the text. The markup isn't visible to the site visitors and does not affect the display of information on the page.
For the fields processed by Yandex, see the Description of the hRecipe elements.
Example of markup
<div class="hrecipe"> <h1 class="fn">Chicken in beer with rice</h1> <h2>Ingredients</h2> <ul> <li class="ingredient"> <span class="amount">1</span> <span class="name">chicken</span> </li> <li class="ingredients"> <span class="value">0.5</span> <span class="type">l</span> <span class="name">beer</span> </li> <li class="ingredient"> <span class="name">salt</span> </li> <li class="ingredient"> <span class="name">pepper</span> </li> <li class="ingredient"> <span class="name">spicies</span> <span class="amount">to taste</span> </li> </ul> <h2>Cooking method</h2> <ul class="instructions"> <li class="instruction" >Cut the chicken into pieces, put it in a baking dish, add salt, pepper, and spices to taste.</li> <li class="instruction" >Pour beer over the chicken and put it in the oven.</li> <li class="instruction" >Roast at 180 degrees for 40–45 minutes. </li> </ul> </div>
To check if the page is marked up correctly, use the microdata validator.
Marked-up data is processed as your site is indexed by the Yandex search bot. This data will also be available to other search engines and applications collecting data online.
The information will start appearing in the answer after it is checked by the Yandex quality control service.
Terms
Site requirements:
- It must be a cooking website (fully or partially dedicated to cooking recipes).
- One page of the site must contain a description of one recipe.
- When you click on the link, the marked-up data should match the page content (for example, there should be no irrelevant images or ingredients not used in this recipe).
The site must ensure that the data is correct and the offers match the subject. It is also responsible for dissemination of illegal information. In the event the terms are violated, Yandex has the right not to use the site data for changing the display in the search results.
Page updated: January 27, 2023.
Change history
- Updated the "How to set it up" section, adding that the data starts appearing in answers only after being checked by the Yandex quality control service.