What Is Recipe Schema?
Recipe Schema is structured data that describes how to prepare one specific dish, including its finished image, ingredients, instructions, timing and yield.
The main entity is Recipe. It can identify the dish, author, cuisine, category, preparation and cooking durations, serving yield, nutrition, ratings, reviews and a supporting video. Ingredients are separate text entries, while the method can use ordered HowToStep objects and optional HowToSection groups. Accurate markup can make a recipe eligible for richer appearances in Search and Images, including recipe details such as time, rating or imagery, but no display is guaranteed. The structured content must represent the recipe visitors can read and cook on that same page.
- Identify the exact page, asset, entity or relationship described in this section.
- Inspect the live implementation and retain the observed evidence.
- Compare the observation with the intended meaning and its primary specification.
- Correct any mismatch, then retest the live result.
- Record the accountable owner and review date.
| Layer | Property/type | Purpose |
|---|---|---|
| Dish identity | Recipe name | Names the prepared dish |
| Finished result | image | Shows completed food |
| Inputs | recipeIngredient | Lists measured ingredients |
| Method | recipeInstructions | Explains preparation |
| Duration | prepTime/cookTime/totalTime | States required time |
| Output | recipeYield | States servings or quantity |
- Describe one real dish.
- Expose complete ingredients and method.
- Match every structured fact to the page.
Primary specification: Schema.org definition for Recipe.
Recipe markup succeeds when it turns one visible, cookable recipe into a faithful structured record.
Which Content Qualifies as a Recipe?
Recipe markup applies to instructions for preparing a particular dish or drink, not to general food articles, product pages, home remedies or party ideas.
A page for sourdough bread, tomato soup or a non-alcoholic drink can qualify when it provides ingredients and a preparation method. A restaurant menu, grocery product page, “best kitchen tools” list or article about the history of pasta is not itself a recipe. Non-food instructions such as facial scrub, household cleaner or craft dough should not be labeled as a dish merely because they use ingredients. A roundup can link to several valid recipe pages and may use list markup, but each recipe entity still needs its own accurate content. The page’s primary purpose should make the cookable dish obvious.
- The exact page, asset, entity or relationship covered by this section
- The live implementation rather than an editor-only preview
- The primary specification or first-party record defining the expected behavior
- The validation result, accountable owner and review date
| Page | Recipe? | Reason |
|---|---|---|
| Chocolate cake method | Yes | Prepares one dish |
| Smoothie instructions | Yes | Prepares one drink |
| Restaurant menu | No | Lists offerings |
| Ingredient encyclopedia | No | Reference content |
| Facial scrub tutorial | No | Not a dish |
| Recipe collection page | List context | Links to recipe detail pages |
- Identify the page’s primary purpose.
- Confirm a named dish or drink.
- Check ingredients and method.
- Separate collections from detail pages.
Use Recipe only when a visitor can follow the page to prepare the named food or drink.
Which Recipe Properties Are Required?
A Recipe needs a clear dish name and at least one crawlable image of the completed dish, while complete ingredients, instructions and timing make the result more useful.
The name should describe the food rather than include a discount, exaggerated claim or unrelated keyword list. image must show the finished dish and remain crawlable and indexable. Multiple high-resolution crops in 1:1, 4:3 and 16:9 ratios improve visual flexibility, but they must all represent the same recipe. Recommended properties fill the practical cooking record: author, publication date, description, cuisine, category, keywords, ingredients, instructions, times, yield, nutrition, ratings and video. A minimal name-plus-image object may validate narrowly yet fail to communicate enough for a useful cooking experience.
- Identify the exact page, asset, entity or relationship described in this section.
- Inspect the live implementation and retain the observed evidence.
- Compare the observation with the intended meaning and its primary specification.
- Correct any mismatch, then retest the live result.
- Record the accountable owner and review date.
| Property | Role | Quality check |
|---|---|---|
| name | Dish title | Specific and visible |
| image | Completed dish | Crawlable and relevant |
| recipeIngredient | Inputs | Measured and complete |
| recipeInstructions | Method | Ordered and actionable |
| totalTime | Overall duration | Matches visible times |
| recipeYield | Output | Servings or item count |
- Use a dish-specific name.
- Show the finished food.
- Complete the cooking record.
Start with the required identity and image, then add only recipe facts the page genuinely provides.
How Should Recipe Ingredients Be Marked Up?
Mark each ingredient as a separate recipeIngredient string containing the quantity, unit and ingredient needed to prepare the dish.
An ingredient entry should be useful at the moment of cooking, such as “2 cups all-purpose flour” or “1 teaspoon kosher salt.” Do not combine the entire list into one string, insert section headings as ingredients or add definitions and promotional commentary. Optional preparation notes such as “finely chopped” can remain in the relevant ingredient text when they affect the method. Keep ingredient quantities synchronized with serving-size controls; if JavaScript scales the visible recipe but structured data remains at the default yield, make that default clear. Allergens and substitutions belong in visible guidance and should not silently replace the canonical ingredient list.
- The exact page, asset, entity or relationship covered by this section
- The live implementation rather than an editor-only preview
- The primary specification or first-party record defining the expected behavior
- The validation result, accountable owner and review date
| Entry | Good form | Problem |
|---|---|---|
| Measured ingredient | 2 cups flour | Flour |
| Preparation note | 1 onion, finely chopped | Onion information |
| Optional garnish | Cilantro, for serving | Sponsored brand slogan |
| Section label | Keep outside array | For the sauce: |
| Scaled amount | Default recipe quantity | Unlabeled dynamic value |
- Split one ingredient per entry.
- Include usable amounts and units.
- Remove headings and commentary.
- Verify default yield scaling.
Ingredient markup is ready when every array entry helps a cook assemble the default recipe without unrelated text.
How Should Recipe Instructions Be Structured?
Use ordered HowToStep objects for actions and HowToSection groups when the recipe has distinct phases such as dough, filling and assembly.
Each step needs instructional text that tells the cook what to do. Do not repeat interface labels such as “Step 1,” “Directions” or “Watch the video” inside the text. A short name can summarize the action, an anchor url can link directly to the visible step, and an image or video can illustrate that exact action. Sections should contain steps rather than flattening separate processes into one ambiguous list. Do not hide critical temperatures, resting times or safety cues exclusively in unstructured prose when the method depends on them. The order must match the page.
- Identify the exact page, asset, entity or relationship described in this section.
- Inspect the live implementation and retain the observed evidence.
- Compare the observation with the intended meaning and its primary specification.
- Correct any mismatch, then retest the live result.
- Record the accountable owner and review date.
| Instruction element | Use | Example |
|---|---|---|
| HowToStep text | Full action | Bake until center is set |
| HowToStep name | Short label | Bake the cake |
| Step URL | Visible anchor | /cake#bake |
| Step image | That action | Pan entering oven |
| HowToSection | Grouped phase | Prepare the frosting |
- Write actionable step text.
- Preserve visible order.
- Use sections for real phases.
- Link media to the correct action.
Instructions are high quality when the structured sequence can be followed in the same order as the visible method.
How Should Recipe Times and Yield Work?
Express recipe durations in ISO 8601 format and make totalTime consistent with prepTime, cookTime and any included waiting periods.
A visible 20-minute preparation time becomes PT20M; one hour and fifteen minutes becomes PT1H15M. Use totalTime or the combination of prep and cook time, and ensure the page explains whether chilling, rising or resting is included. A recipe that says “ready in 30 minutes” but requires an uncounted two-hour marinade creates a misleading promise. recipeYield can state a serving number or produced item count. If nutrition values are per serving, a serving yield is needed so readers can interpret the numbers. Avoid silently changing yield when a user adjusts the page calculator.
- The exact page, asset, entity or relationship covered by this section
- The live implementation rather than an editor-only preview
- The primary specification or first-party record defining the expected behavior
- The validation result, accountable owner and review date
| Visible fact | Structured value | Check |
|---|---|---|
| 20 minutes prep | PT20M | Duration syntax |
| 1 hour cook | PT1H | No decimal hours |
| 1 h 15 m total | PT1H15M | Includes stated phases |
| 6 servings | 6 or 6 servings | Matches nutrition basis |
| 24 cookies | 24 cookies | Produced quantity |
- Map visible time components.
- Convert to ISO durations.
- Confirm total-time arithmetic.
- Tie yield to nutrition.
Timing and yield are trustworthy when they match the default recipe and include every material waiting phase disclosed to cooks.
How Do Images, Video and Ratings Support Recipe Results?
Images, video and ratings can enrich a recipe record when each asset or score is authentic, visible and specifically tied to that dish.
Recipe images should show the completed dish, while step images should illustrate their assigned actions. Use Image SEO practices for crawlable, high-quality assets, but remember that structured image fields do not control the thumbnail of every ordinary text result. A recipe video uses VideoObject with accurate name, description, thumbnail and content or embed references, following Video SEO. Ratings must come from genuine users and follow Aggregate Rating Schema; do not invent a five-star score or mark an editor’s own enthusiasm as a user aggregate.
- Identify the exact page, asset, entity or relationship described in this section.
- Inspect the live implementation and retain the observed evidence.
- Compare the observation with the intended meaning and its primary specification.
- Correct any mismatch, then retest the live result.
- Record the accountable owner and review date.
| Enhancement | Entity | Evidence |
|---|---|---|
| Finished image | Recipe image | Actual completed dish |
| Step image | HowToStep image | Specific action |
| Video | VideoObject | Recipe preparation |
| Aggregate score | AggregateRating | Real user ratings |
| Individual review | Review | Named valid author |
- Use dish-specific assets.
- Match step media to actions.
- Publish only genuine ratings.
Add media and reputation data only when each item belongs to the exact recipe and is verifiable on the page.
What Recipe Schema Mistakes Are Common?
Common mistakes include marking non-recipes, using inaccessible images, collapsing ingredients, adding navigation text to steps and publishing times or ratings that contradict the page.
A plugin may label every post in a food category as Recipe, including restaurant news and ingredient guides. Image URLs may require cookies, expire through a CDN signature or show a raw ingredient instead of the completed dish. Editors sometimes paste the whole ingredient list into one field or include “Step 1” inside every instruction. Dynamic serving calculators can update visible quantities without updating yield, nutrition or structured data. Other templates retain deleted steps, stale ratings or video objects from a copied recipe. These issues require rendered and source-data checks, not only syntax validation.
- The exact page, asset, entity or relationship covered by this section
- The live implementation rather than an editor-only preview
- The primary specification or first-party record defining the expected behavior
- The validation result, accountable owner and review date
| Mistake | Impact | Correction |
|---|---|---|
| Non-dish content | Wrong entity type | Remove Recipe markup |
| Blocked image | Missing visual eligibility | Use crawlable stable URL |
| One ingredient blob | Poor structure | Split entries |
| UI labels in steps | Noisy instructions | Keep only actions |
| Hidden waiting time | False duration | Include or explain it |
| Copied rating | Misleading score | Use recipe-specific records |
- Validate page intent.
- Compare every ingredient and step.
- Test images and durations.
- Recalculate ratings and yield.
The highest-risk mistake is a structured promise that causes a cook to prepare the wrong quantities, timing or method.