Recipe schema markup: example, required fields and WordPress setup

Recipe schema describes one recipe on a page: its name, images, ingredients, steps, times, yield and nutrition. Google requires just name and image, yet nearly everything shown in a recipe result, from cook time to calories to star rating, comes from recommended properties. Fill those in.

Images deserve extra care. Google recommends several high-resolution images of the finished dish in 16x9, 4x3 and 1x1 aspect ratios, each at least 50,000 pixels (width multiplied by height), so it can crop for different layouts. One recipe per page is the rule; a roundup of ten recipes should link to ten recipe pages.

JSON-LD example

Copy this into a <script type="application/ld+json"> tag and replace the values with your own.

json
{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "name": "Sheet-Pan Harissa Chickpeas with Feta",
  "image": [
    "https://example.com/images/harissa-chickpeas-16x9.jpg",
    "https://example.com/images/harissa-chickpeas-4x3.jpg",
    "https://example.com/images/harissa-chickpeas-1x1.jpg"
  ],
  "author": {
    "@type": "Person",
    "name": "Priya Raman"
  },
  "datePublished": "2026-02-10",
  "description": "Crispy roasted chickpeas and peppers tossed in harissa, finished with feta and lemon.",
  "recipeCuisine": "North African",
  "recipeCategory": "Dinner",
  "keywords": "sheet pan, vegetarian, weeknight",
  "prepTime": "PT10M",
  "cookTime": "PT30M",
  "totalTime": "PT40M",
  "recipeYield": "4 servings",
  "nutrition": {
    "@type": "NutritionInformation",
    "calories": "410 calories"
  },
  "recipeIngredient": [
    "2 cans (15 oz each) chickpeas, drained and dried",
    "2 red bell peppers, sliced",
    "3 tablespoons harissa paste",
    "2 tablespoons olive oil",
    "4 oz feta, crumbled",
    "1 lemon"
  ],
  "recipeInstructions": [
    {
      "@type": "HowToStep",
      "text": "Heat the oven to 425°F (220°C)."
    },
    {
      "@type": "HowToStep",
      "text": "Toss the chickpeas and peppers with harissa and olive oil on a sheet pan."
    },
    {
      "@type": "HowToStep",
      "text": "Roast for 30 minutes, stirring once halfway, until the chickpeas are crisp."
    },
    {
      "@type": "HowToStep",
      "text": "Top with feta and a squeeze of lemon, then serve."
    }
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": 4.8,
    "ratingCount": 57
  }
}

Properties

PropertyStatusWhat it is
nameRequiredThe name of the dish.
imageRequiredImages of the finished dish. Provide 16x9, 4x3 and 1x1 versions, each at least 50,000 pixels in area.
recipeIngredientRecommendedOne string per ingredient, with the quantity, as written on the page.
recipeInstructionsRecommendedAn array of HowToStep items (or HowToSection groups), one step per action.
prepTime / cookTime / totalTimeRecommendedISO 8601 durations such as PT20M. Use totalTime alone or together with prep and cook times.
recipeYieldRecommendedServings or quantity, such as "4 servings".
nutrition.caloriesRecommendedCalories per serving, as a NutritionInformation object.
aggregateRatingRecommendedAverage rating from reviews shown on the page.
author / datePublished / descriptionRecommendedWho wrote it, when, and a short summary.
recipeCategory / recipeCuisine / keywordsRecommendedCourse type, cuisine and other descriptors.
videoRecommendedA VideoObject if the page includes a video of the recipe.

When to use it

Use Recipe on a page whose main content is a single recipe with ingredients and steps. Food blogs, cooking sites and brand recipe pages all qualify.

Don't use it on:

  • Roundups such as "25 easy soups". Each recipe should have its own page with its own markup. Google supports a carousel for summary pages that list recipe pages with ItemList markup.
  • Non-food instructions like a DIY cleaning spray. That is not a recipe for Google's purposes; HowTo is the closer type, though it no longer earns rich results.
  • Pages where the recipe is not visible. The ingredients and steps in the markup must be on the page.

Add it in WordPress

By hand. Print the JSON-LD from wp_head on each recipe post. This gets tedious fast; most food bloggers use a recipe card plugin that outputs Recipe markup from the card's fields.

With Hydrogen SEO. Recipe is one of the documented schema types: choose it in the post's SEO Settings sheet and fill in the name, ingredients, instructions, times and image. If a recipe card plugin already prints Recipe markup, view the page source and make sure only one Recipe block remains, since duplicate blocks with different values cause validation problems.

There is no Recipe form in our in-app generator yet, so copy the example above as a starting point for hand-written markup.

Common mistakes

  • One small image. Supply the three aspect ratios at high resolution.
  • Instructions as one block of text. Split them into HowToStep items, one action each.
  • Times in plain text. Use PT1H15M, not "1 hr 15 min".
  • Ingredients without quantities. Write "2 cups flour", matching the recipe card.
  • Ratings you cannot show. aggregateRating should reflect ratings visible on the page.
  • Life story in the description. Keep description to a short summary of the dish.

See invalid structured data for more.

Test it

For Recipe, catch typos and missing fields in the JSON-LD validator first, then confirm eligibility on the live URL with the Rich Results Test. The Rich Results Test shows a preview of the recipe result and lists missing recommended fields as warnings. Search Console's Recipes report shows errors across every recipe post, useful after changing a recipe card plugin or theme.

Common questions

What image sizes does Recipe schema need?

Google recommends multiple high-resolution images in 16x9, 4x3 and 1x1 aspect ratios, each at least 50,000 pixels when you multiply width by height.

Can one page have several Recipe blocks?

Google's guidance is to mark up one recipe per page. A roundup should link to individual recipe pages instead.

Do I need nutrition information?

No, it is recommended. If you include calories, they should match what the page states.

Should I use Recipe or HowTo for a cocktail?

Recipe. Drinks are recipes, and Recipe still has rich results in Google.