XooCode(){

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.

schema.org/RestrictedDiet
<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.

schema.org/RestrictedDiet (minimal)
<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.

  1. 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.

  2. 02

    Inventing diet values

    Wrong
    "suitableForDiet": "PaleoDiet" / "KetoDiet" / "DairyFreeDiet"
    Right
    Only the 11 schema.org values; express other diets via keywords or description

    Paleo, keto, FODMAP, and dairy-free are not in the enum. Inventing URLs breaks enum matching entirely.

  3. 03

    VegetarianDiet for a vegan recipe

    Wrong
    Vegan dish marked only VegetarianDiet
    Right
    VeganDiet 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.

  4. 04

    LowLactoseDiet used for dairy-free

    Wrong
    LowLactoseDiet on a dish with zero dairy
    Right
    LowLactoseDiet means 'reduced lactose', not zero; for dairy-free, use keywords and description

    Lactose-intolerant users can handle low-lactose; dairy-allergic users cannot. Conflating them is a safety issue.

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...

Leave a comment