HowTo and Recipe Schema: Structure, Features, and AI Limits
HowTo, HowToSection, HowToStep, and Recipe can describe procedural content for consumers that support those Schema.org terms. The HowTo rich result is deprecated in Google Search, while qualifying Recipe markup can still be eligible for Google's documented recipe features. Neither vocabulary validity nor provider eligibility proves that an AI engine crawled, extracted, preferred, or cited the procedure.
The deprecation, stated plainly
Google's 2023 HowTo feature update states that the HowTo rich result is deprecated and no longer appears in Google Search. Google also removed HowTo support from the Rich Results Test. Schema.org continues to define the underlying vocabulary, but that is a semantic fact rather than a current Google search-feature promise.
Implement HowTo markup only when it accurately represents the visible procedure and there is a real consumer or internal data-model reason to maintain it. Do not sell the continued existence of the vocabulary as proof of AI extraction value.
Vocabulary validity, a provider's supported feature, and observed external use are three different states. Preserve each as separate evidence.— ClickRadius Institute analysis
Separate procedural semantics from AI use
Schema.org terms can label an ordered procedure, its sections, individual steps, tools, supplies, durations, ingredients, and yield. Well-structured visible HTML remains independently important because markup must match the page and some consumers may ignore the JSON-LD.
Google says no special schema is required for AI Overviews or AI Mode. Each external engine decides whether to crawl, index, retrieve, use, rank, or cite the page, and those decisions are not exposed by a successful Schema.org validation. Do not call HowTo markup a citation signal, candidate-set advantage, or extraction guarantee without an exact provider contract or controlled outcome record.
If a known consumer supports the vocabulary, record that provider and feature explicitly. Otherwise the honest claim is limited to the structure published on the page.
HowTo schema: steps, supplies, tools
The HowTo type describes a general procedure. Its core properties include step, supply, and tool; optional totalTime uses ISO 8601 duration format. Here is an illustrative single-level example that must still be adapted to the exact visible procedure and consumer requirements:
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Descale a Home Espresso Machine",
"totalTime": "PT30M",
"estimatedCost": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": "8"
},
"supply": [
{ "@type": "HowToSupply", "name": "Citric-acid descaling solution" },
{ "@type": "HowToSupply", "name": "Fresh water" }
],
"tool": [
{ "@type": "HowToTool", "name": "Empty carafe or jug" }
],
"step": [
{
"@type": "HowToStep",
"name": "Prepare the solution",
"text": "Fill the water tank with fresh water and add the descaling solution per the product ratio.",
"url": "https://example.com/descale#step1"
},
{
"@type": "HowToStep",
"name": "Run the descale cycle",
"text": "Place the carafe under the group head and run water through until the tank is nearly empty.",
"url": "https://example.com/descale#step2"
},
{
"@type": "HowToStep",
"name": "Rinse thoroughly",
"text": "Refill with plain water and run two full tanks through to clear all solution.",
"url": "https://example.com/descale#step3"
}
]
}
Each HowToStep can carry a short name, full text, and an applicable url with a fragment anchor to the visible step. Use supply for consumables and tool for instruments when those relationships accurately apply. The example has three marked-up steps because its hypothetical visible procedure has three; production markup must maintain the same factual parity.
HowToSection for longer procedures
For a multi-part procedure, in the parent HowTo use the step property to reference each HowToSection. A HowToSection has ItemList/ListItem semantics and uses itemListElement for child HowToStep or ListItem entries, with explicit positions when order matters. The section does not own the parent's step property.
Recipe schema: the food-specific procedure
Recipe is the food-specific procedural type. Recipe markup can be eligible for Google's documented rich results, but Google does not guarantee that an eligible result will appear. Google's Recipe structured data documentation defines required and recommended properties for its Search features; that contract does not establish use by an AI answer engine. Recipe's dedicated properties include:
recipeIngredient— one string per ingredient, with quantity: "200 g dark chocolate."recipeInstructions— an ordered list, ideally asHowToStepnodes rather than one blob of text, so the steps stay individually addressable.prepTime,cookTime,totalTime— ISO 8601 durations (PT20M,PT1H).recipeYield— servings or quantity.nutrition— aNutritionInformationnode withcaloriesand macros.
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "Weeknight Braised Short Ribs",
"author": { "@type": "Organization", "name": "Example Kitchen" },
"datePublished": "2026-04-28",
"prepTime": "PT20M",
"cookTime": "PT2H30M",
"totalTime": "PT2H50M",
"recipeYield": "4 servings",
"recipeIngredient": [
"1.5 kg bone-in beef short ribs",
"2 tbsp neutral oil",
"1 large onion, diced",
"500 ml beef stock"
],
"recipeInstructions": [
{ "@type": "HowToStep", "text": "Sear the ribs on all sides in the oil over high heat." },
{ "@type": "HowToStep", "text": "Soften the onion, then add stock and the seared ribs." },
{ "@type": "HowToStep", "text": "Cover and braise at 160C for about 2.5 hours until tender." }
],
"nutrition": {
"@type": "NutritionInformation",
"calories": "540 calories",
"proteinContent": "38 g"
}
}
For Google's documented Recipe feature, model recipeInstructions according to its current allowed forms, including individual HowToStep objects where appropriate, and keep the instructions identical in substance to the visible recipe. cookTime states a duration; its presence does not prove that another system answered from it.
How the vocabulary represents a procedure
The following relationships describe parts of the publisher's procedure; they are not a model of an external engine's retrieval or answer-generation pipeline:
- An ordered sequence → the
step/recipeInstructionsarray, in document order. - A gather-first list →
supply+tool, orrecipeIngredient. - A time expectation →
totalTime/cookTime, machine-readable as a duration. - A yield or outcome →
recipeYield, or the HowTo'snamestated as a goal.
These properties can make the page's own structure explicit to a supporting consumer. They do not show that a provider reconstructed the procedure, answered a follow-up from it, preferred it to another source, or attributed a result to the markup.
Publish the procedure accurately, validate the applicable vocabulary and provider feature, and observe external behavior separately. Do not infer a private engine decision from the declaration.— ClickRadius Institute analysis
The honesty rules for procedures
Procedural markup has its own version of the trust rule that governs all structured data: it must faithfully describe the visible page. According to Google's structured data general guidelines, marked-up content must be present on the page and represent it accurately. For procedures that means:
- Every step in the JSON exists in the article. No phantom steps added to look thorough. If the page shows three steps, the markup has three steps.
- Times and yields are real. A padded
cookTimeor inflatedrecipeYieldmisrepresents the visible procedure. - Ingredients and tools match. The
recipeIngredientlist and the on-page ingredient list are the same list, in the same quantities.
Factual parity is required even when the JSON parses. Validate syntax, vocabulary use, visible-page agreement, and provider eligibility as separate checks; none proves later external-engine use.
Implementation checklist
- Use
Recipefor a qualifying food-preparation page and follow Google's current Recipe feature rules when targeting that feature. The generic Google HowTo rich result is deprecated. - Model steps as individual
HowToStepnodes — never one paragraph — each withname,text, and ideally a fragmenturl. - Include the gather-first list:
supply/toolorrecipeIngredient, matching the page exactly. - Provide honest durations in ISO 8601 (
PT30M,PT2H30M) and, for recipes,recipeYieldandnutritionif stated. - Keep well-structured visible HTML so the procedure is usable by people and the markup has inspectable factual parity.
- Validate with the Schema.org validator, and use Google's Rich Results Test for Recipe eligibility specifically.
Frequently asked questions
If Google deprecated HowTo rich results, is HowTo schema still worth adding?
The HowTo rich result is deprecated. HowTo remains Schema.org vocabulary that a supporting consumer may parse, but Google says no special schema is required for AI Overviews or AI Mode. Each external engine decides whether to crawl, use, or cite the page, so implement HowTo only for accurate semantics or a separately verified consumer requirement.
What is the difference between HowTo and Recipe schema?
Recipe is the food-specific procedural type and has properties such as recipeIngredient, recipeInstructions, cookTime, prepTime, recipeYield, and nutrition. HowTo is a general procedure type with step, supply, and tool relationships. Recipe markup can be eligible for Google's documented rich results, but Google does not guarantee that an eligible result will appear; the HowTo rich result is deprecated.
Can procedural markup include steps or times the page does not contain?
No. Google's structured-data guidelines require markup to represent visible page content accurately. Every step, ingredient, tool, duration, and yield must describe the same subject and facts a human can inspect. Syntax validity does not cure a factual mismatch or prove external-engine use.
ClickRadius measures observable procedural and schema evidence within five weighted AI Readiness families and can prepare eligible corrections. Applying an approved exact revision requires current authorization and a publishing connection proven capable of the required effect; provider receipt and independent public-origin reread remain separate. The score does not prove machine extraction or citation. Get your free AI Readiness Score, or see plans on the pricing page.