#image_title
Getting your recipe content noticed online takes more than just delicious photos and clear instructions. If you want to stand out in search results, you need to learn how to add Recipe schema to your website. This structured data helps search engines understand your content and display it as rich results—complete with star ratings, cook times, and even thumbnail images. It’s a simple yet powerful way to boost your recipe SEO and attract more clicks.
Recipe schema is a type of structured data defined by Schema.org. It helps search engines better understand the content of your page by tagging specific elements like ingredients, instructions, cook time, and ratings.
When implemented, Recipe schema enhances how your content appears in search results—unlocking features like recipe cards, ratings, prep/cook times, and nutritional information. These are often presented as rich snippets, which are designed to catch users’ attention and provide them with a more engaging experience on the SERPs.
This format is particularly useful for food bloggers, cooking websites, or any publisher sharing food content, as it gives recipes the chance to stand out on Google’s Recipe carousel and voice search.
While content quality will always matter, Recipe schema gives your website a structured advantage that improves both how your content is interpreted by search engines and how it appears to users.
Author’s Note: If you’re optimizing food content for search, adding Recipe schema is a must, but it’s not the only thing you can do to improve your website’s visibility on Google. This is part of a larger series of hands-on SEO guides—like adding LocalBusiness, VideoObject, HowTo, Product, and Review schemas—to help your content get seen online.
To fully take advantage of Recipe schema, you’ll want to include both required and recommended fields. Here’s a quick breakdown:
Property | Description | Required? |
@context | Always set to “https://schema.org” | Yes |
@type | Always set to “Recipe” | Yes |
name | Title of the recipe | Yes |
description | Short description of the recipe | Yes |
image | One or more images of the dish | Yes |
recipeIngredient | List of ingredients | Yes |
recipeInstructions | Step-by-step instructions (can be text or structured) | Yes |
author | Person or organization who created the recipe | No, but recommended |
prepTime | Preparation time (ISO 8601 format, e.g., PT15M) | No, but recommended |
cookTime | Cooking time (ISO 8601 format) | No, but recommended |
totalTime | Total time (prep + cook) in ISO 8601 format | No, but recommended |
recipeYield | Number of servings or quantity produced | No, but recommended |
nutrition | Nutritional info (calories, fat, carbs, etc.) | Optional |
aggregateRating | Average star rating from users | Optional |
review | Individual user reviews | Optional |
video | A video of the recipe being made (VideoObject) | Optional |
keywords | Relevant keywords for the recipe | Optional |
recipeCuisine | Type of cuisine (e.g., Italian, Filipino, Mexican) | Optional |
recipeCategory | Type of dish (e.g., Dessert, Main Course, Appetizer) | Optional |
Adding Recipe schema to your content may sound technical, but it’s straightforward once you have the right info on hand.
Gather the essential elements of your recipe. This should include:
Use JSON-LD (JavaScript Object Notation for Linked Data), which is the format Google recommends. Here’s a sample you can customize:
<script type=“application/ld+json”>
{
“@context”: “https://schema.org”,
“@type”: “Recipe”,
“name”: “Classic Chocolate Chip Cookies”,
“author”: {
“@type”: “Person”,
“name”: “Sean Si”
},
“description”: “A chewy, gooey classic chocolate chip cookie recipe with a crisp edge and soft center.”,
“image”:[[
“https://example.com/images/chocochip1.jpg”
],
“recipeYield”: “24 cookies”,
“prepTime”: “PT15M”,
“cookTime”: “PT10M”,
“totalTime”: “PT25M”,
“recipeIngredient”:[[
“2 1/4 cups all-purpose flour”,
“1 tsp baking soda”,
“1/2 tsp salt”,
“1 cup unsalted butter, softened”,
“3/4 cup sugar”,
“3/4 cup brown sugar”,
“2 eggs”,
“2 tsp vanilla extract”,
“2 cups semisweet chocolate chips”
],
“recipeInstructions”:[[
{
“@type”: “HowToStep”,
“text”: “Preheat oven to 375°F (190°C).”
},
{
“@type”: “HowToStep”,
“text”: “In a small bowl, combine flour, baking soda, and salt. Set aside.”
},
{
“@type”: “HowToStep”,
“text”: “In a large bowl, beat butter and sugars until creamy. Add eggs and vanilla, mix well.”
},
{
“@type”: “HowToStep”,
“text”: “Gradually blend in the flour mixture, then stir in chocolate chips.”
},
{
“@type”: “HowToStep”,
“text”: “Drop by rounded spoonfuls onto a baking sheet and bake for 10 minutes or until golden brown.”
}
],
“aggregateRating”: {
“@type”: “AggregateRating”,
“ratingValue”: “4.8”,
“reviewCount”: “256”
}
}
script>
Once you’ve generated your JSON-LD code, add it to the section or just before the closing tag of your recipe page. If you’re using WordPress, plugins like Yoast SEO offer built-in recipe schema support that makes implementation even easier.
Before you hit publish, verify that your markup is working correctly. Use the Rich Results Test tool by Google to check if:
To get the most out of your structured data, follow these key tips:
Using Recipe schema to your website isn’t just for developers or SEO pros—it’s a practical step any food creator can take to boost visibility. When you know how to add Recipe schema to your pages, you achieve better indexing, richer search results, and a stronger chance of being featured on Google’s recipe carousel. Structured data gives your culinary content the spotlight it deserves.
Do you ever look at an ad and wonder, “What on earth does that mean?”…
For the first time, everyday Nigerian investors surpassed institutional investors in Q1 2024, capturing 1.1% more…
Johannesburg is a magnet for Africa’s workforce. Migrants from Zimbabwe, Nigeria, the Democratic Republic of…
Like, comment, share. This used to be the holy trinity of social media engagement, but…
When generative AI first came out, I was skeptical. While it came up with some…
I love talking to creative people because they always notice details that I don’t. Like…