RestrictedDiet
RestrictedDiet is an Enumeration used as the value of the suitableForDiet property on Recipe and MenuItem. It is the primary way Google, AI assistants, and menu aggregators match food content to a user's dietary needs.
It has 11 members:
DiabeticDiet: appropriate for diabetic glucose management.GlutenFreeDiet: contains no gluten.HalalDiet: conforms to Islamic halal rules.HinduDiet: conforms to Hindu dietary practice.KosherDiet: conforms to Jewish kashrut rules.LowCalorieDiet: low calorie count per serving.LowFatDiet: low fat content.LowLactoseDiet: low in lactose (not zero: compare to dairy-free).LowSaltDiet: low sodium.VeganDiet: no animal products at all.VegetarianDiet: no meat (eggs and dairy allowed).
Full example of schema.org/RestrictedDiet json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "Xoo Code Kitchen Sink Salad",
"suitableForDiet": [
"https://schema.org/VeganDiet",
"https://schema.org/GlutenFreeDiet",
"https://schema.org/LowSaltDiet"
],
"keywords": "nut-free, refined-sugar-free",
"recipeYield": "4 servings",
"nutrition": {
"@type": "NutritionInformation",
"servingSize": "1 bowl (280 g)",
"calories": "310 calories",
"proteinContent": "12 g",
"fiberContent": "9 g",
"sodiumContent": "180 mg"
}
}
</script>Using the values
Always use the full schema.org URL in production JSON-LD: "suitableForDiet": "https://schema.org/VeganDiet". The shorthand "VeganDiet" still validates, but the URL form is what Google's recipe rich result keys on.
suitableForDiet accepts an array, so a Kosher vegetarian salad is ["https://schema.org/KosherDiet", "https://schema.org/VegetarianDiet"].
What RestrictedDiet does not cover
There is no schema.org enum value for dairy-free, nut-free, paleo, keto, or FODMAP. For those, use free-text keywords or description alongside the standard enum values. A recipe that is vegan and nut-free would be suitableForDiet: https://schema.org/VeganDiet with keywords: "nut-free".
Minimal valid version
The smallest markup that still produces a valid RestrictedDiet entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "Kitchen Sink Salad",
"suitableForDiet": ["https://schema.org/VeganDiet", "https://schema.org/GlutenFreeDiet"]
}
</script>Google rich results this unlocks
RestrictedDiet is a structural type. It does not produce a rich result on its own.
Its value comes from combining it with a primary type whose markup earns a rich result (Article, Product, Event, and so on). RestrictedDiet becomes the trunk that the primary type branches off viamainEntityorbreadcrumb. Include it on every page as the backbone of your markup.
Common RestrictedDiet mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
suitableForDiet as free text
Wrong"suitableForDiet": "vegan"Right"suitableForDiet": "https://schema.org/VeganDiet"The property is enumeration-valued. Free text is accepted by some validators but not matched by Google's diet-filter logic.
- 02
Inventing diet values
Wrong"suitableForDiet": "PaleoDiet" / "KetoDiet" / "DairyFreeDiet"RightOnly the 11 schema.org values; express other diets via keywords or descriptionPaleo, keto, FODMAP, and dairy-free are not in the enum. Inventing URLs breaks enum matching entirely.
- 03
VegetarianDiet for a vegan recipe
WrongVegan dish marked only VegetarianDietRightVeganDiet is a stricter claim than VegetarianDiet; use the most specific accurate value (or both)VegetarianDiet allows eggs and dairy. A vegan-labelled dish is also vegetarian, but marking a vegan dish only as vegetarian under-represents it to vegan-searching users.
- 04
LowLactoseDiet used for dairy-free
WrongLowLactoseDiet on a dish with zero dairyRightLowLactoseDiet means 'reduced lactose', not zero; for dairy-free, use keywords and descriptionLactose-intolerant users can handle low-lactose; dairy-allergic users cannot. Conflating them is a safety issue.
Schema properties in this example
Also mentioned in 3 other examples
RestrictedDiet also appears in Diet, MenuItem, and NutritionInformation. See the full RestrictedDiet schema page for every reference.
About the example data
The "Xoo Code Kitchen Sink Salad" at the Riverfront Food Hall: vegan, gluten-free, and low-sodium.
Comments
Loading comments...