Recipe markup is a Yandex partner programme: data is displayed only after Yandex’s quality control service has checked it. Valid markup is necessary and not sufficient.
Required
name(Text) — the recipe or dish name.recipeIngredient(Text) — ingredients with quantities, one element per ingredient.
Recommended
recipeInstructions— the method.recipeYield— number of servings.totalTime(Duration, ISO 8601 —PT30Mfor thirty minutes). If absent,cookTimeis used.prepTime— time to prepare the ingredients.image(URL) — several are allowed; Yandex recommends filling this for a better snippet.nutrition(NutritionInformation) — calories, fat, protein, carbohydrates, vitamins.
The non-standard field
resultPhoto — a URL for the photograph of the finished dish. It is not part of Schema.org; Yandex defines it itself and recommends it for a better snippet. This is a rare case of an engine extending the vocabulary, and it will not validate against generic Schema.org tooling — which is precisely why it gets omitted by developers following a general guide.
Practical structure
The markup follows the natural shape of a recipe page: the dish name as the heading, each ingredient as its own list item, the method as a list, with step images marked as image and the finished dish as resultPhoto. Nothing needs to be restructured for the visitor’s sake, which is why recipe markup is one of the cleaner implementations.
The usual reservations
Yandex does not guarantee the data will appear, and may use it in whole or in part, in any of its services. Combined with the quality-control step, the realistic expectation is several weeks between deployment and any visible change.
Duration formatting, which is where implementations break
Times must be ISO 8601 durations, not human text. “45 minutes” in the visible page and PT45M in a meta element is the correct pattern, and mixing them up is the most common validation error on these pages.
Cómo lo aplicamos
The field worth pointing out to any recipe site is resultPhoto: it is Yandex-specific, it is not in Schema.org, and it is the one that most improves the snippet. Developers working from a generic structured-data guide will never add it. We also check the duration format explicitly, because a value that reads perfectly on the page and fails ISO 8601 is invisible until the snippet does not appear.
Servicios relacionados