How to rank in the recipe carousel?

Ranking in the recipe carousel isn't really that hard. All you need is recipe schema markup on your site. Each recipe should have its own recipe schema markup that describes the recipe. The more information you have, the better.

Wouter van der Meij
Wouter van der Meij
Follow Wouter:

Swipe the summary

If you are a food blogger or have recipes on your site, you must optimize for recipe carousels.

The CTR of recipe carousels is often quite high and almost all recipe and food-related keywords show a recipe carousel on top of the search results.

Ranking in the recipe carousel isn't really that hard. All you need is recipe schema markup on your site. Each recipe should have its own recipe schema markup that describes the recipe.

Make sure the schema markup contains at least the following: the name of the dish and an image (very important)

The more extra recommended attributes you add to the markup, the more likely you'll be shown in the Google recipe carousel

You probably want to track whether you're ranking in the carousel and how high you rank. I've added the ability to track rankings in recipe carousels in Umbrellum.

How to optimize the category pages of your food blog?

If you have recipe category pages on your site, implement schema markup of the recipe host carousel.

What could go wrong? The most important thing that could go wrong is one of the required attributes in schema markup not working while the schema markup itself is valid.

The recipe carousel attracts about twice the amount of visits compared to a normal organic listing on Google. CTR of the recipe carousel is often quite high and almost all recipe and food-related keywords show a recipe carousel on top of the search results.

If you are a food blogger or have recipes on your site, you must optimize for these carousels.

How to rank in the recipe carousel?

Ranking in the recipe carousel isn't really that hard. All you need is recipe schema markup on your site. Each recipe should have its own recipe schema markup that describes the recipe. The more information you have, the better.

Make sure the schema markup contains at least the following

  • The name of the dish
  • An image (very important)

The following attributes are recommended:

  • AggregateRating, this is the average review rating of your visitors.
  • Author: You, or the person who wrote the recipe.
  • cookTime: the time it takes to cook the dish. This often shows in the recipe carousel as well.
  • datePublished: the date the recipe was published. I've done a test in the past with published dates of blogs. If you update them you seem to be placed higher in Google compared to when you don't update the published date. This works every time.
  • Description: a short summary of the dish.
  • Keywords: words that describe the dish. But make sure to not use the recipeCategory or recipeCuisine (examples: dessert, Italian). Because there are separate attributes for that.
  • nutricion.calories: if you know the calories in the dish. Add them to the schema markup.
  • prepTime: the time it takes to prepare the dish.
  • recipeCategory: the type of meal or course your recipe is about, for example dessert, main course, appetizer
  • recipeCuisine: French, Italian, Spanish and so on.
  • recipeIngredient: This is actually required for guided recipes. But is recommended to list the ingredients in an array in the schema markup.
  • recipeInstructions: This attribute is also required for guided recipes. And it basically tells the reader what the step-by-step instructions of the recipe are.
  • recipeYield: the amount of the dish you're making. Let's say the recipe is for 12 cookies. The recipeYield would be '12' or '12 cookies'.
  • totalTime: the total time it takes to cook the dish
  • Video: a videoObject schema markup in case you have a video of the recipe.

That's quite a lot, and you don't need all of them, but the more properties you have, the better.

How to keep track of your rankings in the recipe carousel?

To rank in the recipe carousel you mostly need the recipe schema markup in place. But, you might also want to track whether you're ranking in the carousel or not. I've never found any ranking trackers that track your rankings in the recipe carousel, so I've basically built my own. Partly because I had a client in the food/recipe space and because I thought it might be a good addition to existing SEO tools.

I've added the ability to track rankings in recipe carousels in Umbrellum. Once you track a list of keywords it will also automatically show you if you rank in the recipe carousel or not. If you don't rank it will show you what sites are ranking.

How to optimize the category pages of your food blog?

The recipe schema markup, and ranking in the recipe carousel, are only for the recipe detail pages. And that's fine, but often you also have category pages you want to rank. You can try to rank them in the normal organic search results, but you can also try to get a so-called recipe host carousel. This is a recipe carousel that shows below your normal listing in the Google SERP, and it will show only URLs on your lister. So if you have category pages on your site, and you implement the recipe host carousel schema markup, you might be able to show a selection of your recipes below your organic listing as well. This will take up quite some extra Google Search Real Estate.

Recipe schema markup example

To show you an example, have a look at the code below. It is an example directly from the Google docs:

{
"@context": "https://schema.org/",
"@type": "Recipe",
"name": "Party Coffee Cake",
"image": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"author": {
"@type": "Person",
"name": "Mary Stone"
},
"datePublished": "2018-03-10",
"description": "This coffee cake is awesome and perfect for parties.",
"prepTime": "PT20M",
"cookTime": "PT30M",
"totalTime": "PT50M",
"keywords": "cake for a party, coffee",
"recipeYield": "10",
"recipeCategory": "Dessert",
"recipeCuisine": "American",
"nutrition": {
"@type": "NutritionInformation",
"calories": "270 calories"
},
"recipeIngredient": [
"2 cups of flour",
"3/4 cup white sugar",
"2 teaspoons baking powder",
"1/2 teaspoon salt",
"1/2 cup butter",
"2 eggs",
"3/4 cup milk"
],
"recipeInstructions": [
{
"@type": "HowToStep",
"name": "Preheat",
"text": "Preheat the oven to 350 degrees F. Grease and flour a 9x9 inch pan.",
"url": "https://example.com/party-coffee-cake#step1",
"image": "https://example.com/photos/party-coffee-cake/step1.jpg"
},
{
"@type": "HowToStep",
"name": "Mix dry ingredients",
"text": "In a large bowl, combine flour, sugar, baking powder, and salt.",
"url": "https://example.com/party-coffee-cake#step2",
"image": "https://example.com/photos/party-coffee-cake/step2.jpg"
},
{
"@type": "HowToStep",
"name": "Add wet ingredients",
"text": "Mix in the butter, eggs, and milk.",
"url": "https://example.com/party-coffee-cake#step3",
"image": "https://example.com/photos/party-coffee-cake/step3.jpg"
},
{
"@type": "HowToStep",
"name": "Spread into pan",
"text": "Spread into the prepared pan.",
"url": "https://example.com/party-coffee-cake#step4",
"image": "https://example.com/photos/party-coffee-cake/step4.jpg"
},
{
"@type": "HowToStep",
"name": "Bake",
"text": "Bake for 30 to 35 minutes, or until firm.",
"url": "https://example.com/party-coffee-cake#step5",
"image": "https://example.com/photos/party-coffee-cake/step5.jpg"
},
{
"@type": "HowToStep",
"name": "Enjoy",
"text": "Allow to cool and enjoy.",
"url": "https://example.com/party-coffee-cake#step6",
"image": "https://example.com/photos/party-coffee-cake/step6.jpg"
}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "5",
"ratingCount": "18"
},
"video": {
"@type": "VideoObject",
"name": "How to make a Party Coffee Cake",
"description": "This is how you make a Party Coffee Cake.",
"thumbnailUrl": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"contentUrl": "http://www.example.com/video123.mp4",
"embedUrl": "http://www.example.com/videoplayer?video=123",
"uploadDate": "2018-02-05T08:00:00+08:00",
"duration": "PT1M33S",
"interactionStatistic": {
"@type": "InteractionCounter",
"interactionType": { "@type": "WatchAction" },
"userInteractionCount": 2347
},
"expires": "2019-02-05T08:00:00+08:00"
}
}

What could go wrong in ranking in the recipe carousel?

Well, the most important thing that could go wrong is one of the required attributes in schema markup not working. For example, I've seen with one of my clients that the schema markup was correct, but the URL to the image of the recipe returned a 404. Therefore they were losing all their recipe carousel rankings quite quickly. Still, the Google schema markup validator will show you everything is well with your markup.

Another thing I've seen going wrong was a site that had its schema markup right at the end of the body tag. Normally this wouldn't be a big problem, but this site had a lot of legacy HTML in the body and sometimes Google would stop indexing the page halfway through, and never saw the markup code.

This is quite an exotic example of what could go wrong, and it probably won't happen in 99% of the cases. But it's something I've seen happen in the past at an old big site.

To conclude

Ranking in the recipe carousel isn't really that hard. But, you do need to have the correct recipe schema markup in place. If you don't, you won't be shown. The more attributes you add to your markup, the higher the chances are of being shown in the Google search results.