What serving information is needed when a recipe declares calories?

The Citead team, updated

In short. A recipe that declares nutrition.calories must provide recipeYield with the number of servings.

Definition: When Recipe markup defines nutrition.calories, Google requires recipeYield to state the number of servings. The calorie value describes calories in each serving, so the yield supplies the serving context for that value.

Key facts

  • Google's Recipe structured data documentation defines nutrition.calories as the calories in each serving produced by the recipe.
  • Google requires recipeYield with the number of servings when nutrition.calories is defined.
  • Google lists recipeYield as Text or Integer and says to specify the number of servings with just a number.
  • An additional yield can state another unit, such as 24 cookies, alongside the serving count.
  • Schema.org describes recipeYield as the quantity produced, including the number of people served or the number of servings.

What does Google require?

Google's documentation treats nutrition.calories as a per-serving value. Its requirement is conditional: once the property is defined, recipeYield must also be defined with the number of servings. A yield that only describes a count of items leaves the per-serving context unspecified.

The serving count should be the numeric yield. Google gives this example, where 6 supplies the serving count and 24 cookies supplies an additional yield:

"recipeYield": [
  "6",
  "24 cookies"
]

The same documentation describes recipeYield as the quantity produced and allows an additional yield when a different unit is useful. The rule applies to nutritional information per serving, with nutrition.calories as the named example.

What does the Schema.org vocabulary mean?

Schema.org defines Recipe as a recipe and describes its recipeYield property as the quantity produced by that recipe, with the examples of people served and servings. On the opened Recipe page, the expected types for recipeYield are QuantitativeValue or Text.

NutritionInformation is the Schema.org type for nutritional information about a recipe. Its calories property is defined as “The number of calories.” The vocabulary therefore gives the properties their meanings, while Google's Recipe documentation supplies the serving-count condition for this Search markup.

How should the values be checked?

Keep the numeric serving count and the per-serving calorie value in the same Recipe object. A compact JSON-LD structure matching Google's documented values is:

{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "recipeYield": ["6", "24 cookies"],
  "nutrition": {
    "@type": "NutritionInformation",
    "calories": "120 calories"
  }
}

Google's documentation says to validate the code with the Rich Results Test and to use URL Inspection after deployment. It also says the page must be accessible to Google and must not be blocked by robots.txt, noindex, or login requirements.

FAQ

Does nutrition.calories describe the whole recipe?

Google defines it as the number of calories in each serving produced with the recipe. The associated recipeYield therefore needs to provide the number of servings.

Can recipeYield include an item count?

Yes. Google shows an additional yield of 24 cookies, while requiring the serving count when the recipe includes per-serving nutrition.

Is recipeYield limited to a plain number in Schema.org?

Schema.org lists QuantitativeValue or Text as expected types for recipeYield. Google's Recipe guidance asks for the number of servings with just a number and permits additional yields for another unit.

Sources

  1. Google Search Central, "Recipe structured data", 8 September 2026
  2. Schema.org, "Recipe", 16 September 2026
  3. Schema.org, "NutritionInformation", 16 September 2026

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark