Recipe Schema

No Comments
Recipe schema
TL;DR: Recipe schema is the markup that turns a recipe page into a rich result with a photo, star rating, cook time, and calories, and it is the ticket into Google's recipe carousels and Guided Recipes on smart speakers. Food search is a rich results arms race: a technically fine recipe page without markup is close to invisible. Add JSON-LD Recipe with real ingredient and instruction data, not just the two required fields.
Check code
RI-015
Category
Structured data
Applies to
Recipe pages, food blogs
Payoff
Carousels, rich cards
Format
JSON-LD preferred

What Recipe schema is

Recipe schema is the schema.org Recipe type, embedded as JSON-LD, that describes a dish in fields a machine can parse: name, photo, prep and cook times, ingredient list, step by step instructions, yield, nutrition, and ratings. Google consumes it to build recipe rich results, and the food vertical is unusual in how much surface area that markup buys you.

Per Google's Recipe structured data documentation, only two properties are strictly required for a recipe rich result: name and image. That minimum is a trap. The recipe carousel at the top of food SERPs, the badges showing cook time and calories, and Guided Recipes on Google Assistant devices all draw on the recommended fields: recipeIngredient, recipeInstructions, totalTime, nutrition, aggregateRating, video. Guided Recipes specifically needs ingredients and structured instructions to walk someone through cooking hands free. Ship the minimum and you technically pass validation while losing every placement that matters.

This check fires when a page that is clearly a recipe carries no Recipe markup, or carries a skeleton of it.

Why food SERPs punish unmarked pages

Search "chocolate chip cookies" and look at what ranks: a horizontal carousel of image cards, then results with photos, stars, and times. Organic plain links start somewhere below all of that. Recipe queries are among the most visually merchandised results Google produces, which means the gap between marked up and unmarked pages is wider here than in almost any other vertical. In ecommerce, missing schema costs you decoration. In recipes, it costs you the shelf itself, because carousel eligibility requires the markup.

There is also a discovery angle people forget: recipe markup powers filtering. Google can surface your page for "quick vegetarian dinner" style refinements because it can read your times, categories, and ingredients as data. And on Assistant devices, no markup means your recipe flat out cannot be cooked along with, that surface is markup only.

The honest caveat: markup will not save mediocre recipes, and it is not a ranking boost. The food space is brutally competitive and quality still decides who wins the carousel slots. Schema just decides whether you are allowed to compete.

Anatomy of a recipe rich result

Rich result card photo Best Fudgy Brownies ★★★★☆ 4.7 (890) 45 min · 310 cal per serving example.com Also unlocked with full markup: Top carousel slot Guided Recipes Query filters Image search badge Field that powers it image (required, 3 aspect ratios) name (required) + aggregateRating totalTime + nutrition.calories recipeIngredient [ ... ] recipeInstructions: HowToStep [ ... ] recipeCategory, recipeCuisine, keywords Green fields render on the card. Coral fields earn the extra surfaces: carousel, Assistant, filters.

Required versus worth doing

PropertyStatus per Google docsWhat it earns you
name, imageRequiredBaseline eligibility; provide 16x9, 4x3, and 1x1 images
recipeIngredientRecommendedGuided Recipes, ingredient based query matching
recipeInstructions as HowToStep listRecommendedStep by step Assistant experience, cleaner parsing than a text blob
prepTime, cookTime, totalTimeRecommendedTime badge on the card, quick meal filters; ISO 8601 format like PT45M
nutrition.caloriesRecommendedCalorie line in the rich result
aggregateRatingRecommendedStars; must match ratings users can actually see and leave
videoRecommendedVideo enhanced recipe results where available

Implementation, step by step

  1. Use a recipe plugin or card system, not hand rolled markup. On WordPress, WP Recipe Maker, Tasty Recipes, and Create all emit complete JSON-LD from the same structured recipe data they render on the page. That coupling is the whole point: markup and visible content cannot drift apart.
  2. Fill everything, not just required fields. Ingredients as one array item per ingredient, instructions as individual HowToStep objects, times in ISO 8601 duration format, yield, category, cuisine.
  3. Provide real high resolution photos of the finished dish in the three aspect ratios Google asks for. A stock photo of a different dish is a fast way to torch user trust and, if reported, your rich results.
  4. Validate with the Rich Results Test, then confirm eligibility in Search Console's Recipe enhancement report once Google recrawls.
  5. Audit at scale with Screaming Frog structured data extraction: crawl the blog, segment recipe URLs, and diff pages with Recipe markup against pages without. On older food blogs it is common to find years of posts published before the plugin era, sitting unmarked and invisible.

What good looks like: every recipe URL has exactly one Recipe block, ingredients and steps are structured arrays, times and calories render in the SERP, Search Console shows zero errors, and your cards hold their own in the carousel. One damn plugin misconfiguration can silently strip all of it, so recheck after every plugin or theme update.

DO
  • Emit Recipe JSON-LD from a recipe card plugin or CMS field
  • Structure instructions as HowToStep items, one per step
  • Use ISO 8601 durations: PT15M prep, PT30M cook
  • Ship 16x9, 4x3, and 1x1 photos of the actual dish
  • Recheck the Search Console Recipe report after updates
DON'T
  • Stop at name and image because the validator passed
  • Dump all instructions into one unstructured text string
  • Mark up roundup or category pages as a single Recipe
  • Invent ratings or calories that appear nowhere on the page
  • Run two plugins that both output Recipe blocks

FAQ

Only name and image are required, so why bother with the rest?
Because required gets you eligibility and recommended gets you placements. The carousel cards show time, calories, and ratings pulled from recommended fields, and Guided Recipes will not work without structured ingredients and instructions. Minimum viable markup in this vertical is a competitive handicap dressed up as compliance.
Can I use Recipe schema on a roundup of 20 recipes?
Use ItemList markup pointing to the individual recipe URLs, which makes the roundup eligible for host carousels. Marking the roundup itself up as one Recipe misrepresents the page. Each linked recipe page then carries its own full Recipe block.
My markup validates but I get no rich result. Why?
Validation is eligibility, not a guarantee. Google renders recipe enhancements selectively based on query, page quality, and its own judgment, and new markup needs a recrawl before anything changes. If weeks pass with nothing, compare your field completeness against the pages that do get cards for your target queries, thin markup is the usual culprit.
Do I need nutrition data on every recipe?
Only calories are used for the rich result, and the field is recommended, not required. Plugins like WP Recipe Maker can compute it from your ingredient list. If you show a number, make it a real estimate, not a guess typed into a box.
Does the story before the recipe affect the rich result?
The rich result reads the markup, so the essay above the recipe card does not change your card. It does affect user experience and engagement, which feed page quality. Keep the recipe card near the top or add a jump link, and let the storytelling be a choice, not a toll.
Is your whole recipe archive actually marked up?
Our advanced SEO audit crawls every URL, extracts the structured data Google really sees, and flags the recipes sitting outside the carousel with no markup or broken markup.

Get the Advanced SEO Audit

Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.

About SEO ProCheck

Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.

Work With Me

Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.

Subscribe to our newsletter!

More from our blog