What is How-To Schema?
How-To schema is a structured data type (JSON-LD) that marks up step-by-step instructional content so Google can display it as a rich result — showing numbered steps directly in the SERP, sometimes with images and time estimates. It's one of the most visible rich result types, significantly expanding your SERP real estate for tutorial and instructional queries. It's also a strong signal to AI systems that your content contains actionable, structured procedural knowledge.
- How-To schema works best for genuine step-by-step processes — don't force it onto content that isn't truly instructional.
- Include estimated time (totalTime), cost, and supply/tool lists when relevant — Google displays these in the rich result.
- Each step should have a clear name and description — these become the visible step titles in the SERP.
- How-To rich results appear most on mobile in a carousel-style format — optimise step images for mobile display.
- AI assistants like Google Assistant use How-To schema to guide users through tasks verbally — a direct AEO win.
How How-To Schema Works
How-To schema uses the HowTo type from Schema.org. The minimum viable implementation: the HowTo container with a name (the task title), totalTime (how long it takes), and an array of HowToStep objects — each with a name and text.
Optional but valuable: image (a screenshot or photo for each step), supply (list of materials needed), tool (list of tools required), and estimatedCost.
Google displays these as an expandable step list in search results, usually with the step names visible and the descriptions expandable. On mobile, it often appears as a carousel of steps with navigation.
Implementing How-To Schema in Next.js
Add a <script type='application/ld+json'> tag in your page head with the HowTo JSON structure. For a tutorial page with 5 steps:
{ "@context": "https://schema.org", "@type": "HowTo", "name": "How to Set Up a robots.txt File", "totalTime": "PT10M", "step": [ { "@type": "HowToStep", "name": "Create the file", "text": "Create a plain text file named robots.txt at your site root" }, ... ] }
Generate this dynamically if your CMS stores steps as structured data. Validate with Google's Rich Results Test before deploying.
Most guides are already outdated.
One email a week. The search stuff that actually matters — what shifted, what died, and what to do about it.
Subscribe free →| Dimension | How-To Schema | FAQ Schema |
|---|---|---|
| Best content type | Step-by-step tutorials, guides, instructional posts | Question-and-answer pages, support content |
| SERP display | Numbered step carousel (especially mobile) | Expandable Q&A accordion below the result |
| Minimum required fields | name, step (name + text per step) | mainEntity (name + acceptedAnswer per question) |
| Image support | Yes — per-step images eligible for display | No image rendering in rich result |
| AI/AEO signal | Strong procedural knowledge signal for LLMs | Strong factual/definitional knowledge signal |
| Can coexist on same page | Yes, if content warrants both types | Yes, if content warrants both types |
How does your site score on AEO?
Paste your URL. Get a score and a fix list across all three disciplines. No form, no email.
Run Free Audit →Frequently Asked Questions
Pages with genuine step-by-step instructional content: setup guides, tutorials, recipes, DIY instructions, configuration walkthroughs. Don't apply it to informational articles that aren't structured as steps — Google can detect the mismatch and may not show the rich result, or may penalise for misleading markup.
Yes — multiple schema types can coexist on one page. A tutorial page might legitimately have How-To schema for the steps and FAQPage schema for frequently asked questions about the process. Use separate JSON-LD blocks for each type rather than nesting them.
- 1.Google — How-To structured data documentation
- 2.Schema.org — HowTo type
- 3.Google Rich Results Test
Read next
Featured Snippets
A featured snippet is a selected search result that appears at the top of Google's results in a special box —…
Rich Results
Rich results are enhanced search listings that display additional visual information beyond the standard blue…
FAQPage Schema
FAQPage schema is a type of structured data (JSON-LD) that marks up a page's question-and-answer content so Go…
Schema Markup
Schema markup (structured data) is code you add to your web pages — typically in JSON-LD format — that explici…