Tutorial and instructional content is one of the most searched content categories on the web. "How to" queries account for hundreds of millions of daily searches across every topic imaginable — from setting up software and fixing appliances to creating art and filing taxes. Google recognizes this demand with a dedicated rich result type for how-to content: the HowTo schema.
When you implement HowTo schema on your instructional pages, Google can display your content as a numbered list of steps directly in search results. Each step shows its title and description, and the rich result can include images, estimated completion time, and required tools or supplies. This structured format catches the eye immediately — users can see at a glance that your content provides clear, actionable steps for their task, driving significantly higher click-through rates compared to standard text listings.
In this guide, we'll cover everything you need to know about HowTo schema markup in 2026. From the basic specification and required properties to advanced features like per-step images, tool and supply lists, video integration, and the nuances of how Google renders and validates HowTo structured data. We'll provide complete, copy-paste JSON-LD examples for common content types and show you how to use our Schema Pro Architect to generate HowTo schema automatically.
Generate HowTo Schema in Seconds
Enter your steps into our wizard and get validated JSON-LD with live Google snippet preview — no coding needed.
Open Schema Pro Architect →What HowTo Rich Results Look Like
Before diving into implementation, it helps to understand exactly what HowTo rich results look like in Google search and how they differ from standard listings. A HowTo rich result typically appears as a compact, numbered list beneath your standard search listing. On mobile, Google may show the first few steps immediately visible, with a "Show more" link to expand the rest. On desktop, Google typically shows a condensed version with an option to expand.
The visual components of a HowTo rich result include the step numbers (displayed as a numbered list), step names (the title of each step, shown in bold), step text (a brief description of each step), step images (optional; displayed as thumbnails), estimated total time (shown as a badge if you provide the totalTime property), and a "Show more" expansion link when there are more than three or four steps.
This rich result format is particularly effective because it matches user intent perfectly. When someone searches "how to set up a WordPress site," they want steps — not a wall of text. The HowTo rich result delivers a scannable preview of your step-by-step process, letting users evaluate whether your guide is comprehensive enough before they click through.
The HowTo Schema Specification
The HowTo schema type is defined in Schema.org's vocabulary as representing instructions for accomplishing a task. Here are all the properties Google supports for HowTo rich results, categorized by their requirement level:
| Property | Required? | Description | Example Value |
|---|---|---|---|
name |
Yes | Title of the how-to (matches H1) | "How to Install WordPress" |
step |
Yes | Array of HowToStep objects | 3–10 step objects |
step.name |
Yes | Title of the individual step | "Choose a hosting provider" |
step.text |
Yes | Detailed instructions for the step | "Compare pricing and features..." |
description |
Recommended | Brief summary of the entire how-to | "A beginner's guide to..." |
totalTime |
Recommended | Estimated total completion time (ISO 8601) | "PT30M" (30 minutes) |
estimatedCost |
Optional | Estimated cost to complete | {"@type":"MonetaryAmount", "value":"50"} |
tool |
Optional | Tools needed to complete the task | "Screwdriver", "Level" |
supply |
Optional | Consumable supplies needed | "Screws", "Paint" |
step.image |
Recommended | Image for the step (1200px wide min) | URL to step-specific image |
step.url |
Optional | Link to the step's section on the page | "https://example.com/guide#step-1" |
Complete JSON-LD Example: Software Tutorial
Here's a complete, production-ready HowTo schema example for a software tutorial. This example includes all recommended properties and demonstrates the proper structure for steps, tools, and time estimates:
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Set Up a WordPress Website",
"description": "Step-by-step guide to installing and configuring WordPress on any hosting provider.",
"totalTime": "PT30M",
"estimatedCost": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": "0"
},
"tool": [
{ "@type": "HowToTool", "name": "Web browser" },
{ "@type": "HowToTool", "name": "Hosting account" }
],
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Choose a hosting provider",
"text": "Select a WordPress hosting provider that offers one-click installation, SSL certificates, and adequate storage for your needs. Popular options include SiteGround, Bluehost, and WP Engine.",
"url": "https://example.com/wordpress-guide/#step-1"
},
{
"@type": "HowToStep",
"position": 2,
"name": "Install WordPress via one-click installer",
"text": "Log into your hosting control panel and find the WordPress installer in the Apps or Software section. Click Install, choose your domain, and set your admin credentials.",
"url": "https://example.com/wordpress-guide/#step-2"
},
{
"@type": "HowToStep",
"position": 3,
"name": "Configure basic settings",
"text": "Navigate to Settings > General. Set your site title, tagline, WordPress URL, and timezone. Under Settings > Permalinks, select Post name for clean SEO-friendly URLs.",
"url": "https://example.com/wordpress-guide/#step-3"
},
{
"@type": "HowToStep",
"position": 4,
"name": "Install and activate your theme",
"text": "Go to Appearance > Themes > Add New. Browse or search for your desired theme, preview it, and click Activate. Customize colors, fonts, and layout in the Customizer.",
"url": "https://example.com/wordpress-guide/#step-4"
},
{
"@type": "HowToStep",
"position": 5,
"name": "Install essential plugins",
"text": "Navigate to Plugins > Add New and install essential plugins: an SEO plugin (Yoast or Rank Math), security (Wordfence), caching (WP Super Cache), and backups (UpdraftPlus).",
"url": "https://example.com/wordpress-guide/#step-5"
},
{
"@type": "HowToStep",
"position": 6,
"name": "Create your first pages and posts",
"text": "Create your essential pages: Homepage, About, Contact, and any service/product pages. Publish your first blog post. Set your homepage as a static page under Settings > Reading.",
"url": "https://example.com/wordpress-guide/#step-6"
}
]
}HowTo Schema for DIY and Physical Tasks
For DIY projects, home improvement, and physical tasks, HowTo schema supports additional properties that are particularly useful: the tool and supply properties. These allow you to list the equipment and materials needed to complete the task, which Google may display alongside the steps in the rich result.
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Install a Floating Shelf",
"description": "Mount a floating shelf securely using wall anchors in under 20 minutes.",
"totalTime": "PT20M",
"tool": [
{ "@type": "HowToTool", "name": "Drill" },
{ "@type": "HowToTool", "name": "Level" },
{ "@type": "HowToTool", "name": "Pencil" },
{ "@type": "HowToTool", "name": "Measuring tape" },
{ "@type": "HowToTool", "name": "Stud finder" }
],
"supply": [
{ "@type": "HowToSupply", "name": "Floating shelf kit" },
{ "@type": "HowToSupply", "name": "Wall anchors (4)" },
{ "@type": "HowToSupply", "name": "Screws (4)" }
],
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Find the wall studs",
"text": "Use a stud finder to locate wall studs where you want to mount the shelf. Mark stud locations with a pencil."
},
{
"@type": "HowToStep",
"position": 2,
"name": "Mark the mounting bracket position",
"text": "Hold the bracket against the wall at your desired height. Use a level to ensure it is perfectly horizontal, then mark the screw holes with a pencil."
},
{
"@type": "HowToStep",
"position": 3,
"name": "Drill pilot holes and install anchors",
"text": "Drill pilot holes at each marked point. If not drilling into a stud, insert wall anchors first. Secure the mounting bracket with screws."
},
{
"@type": "HowToStep",
"position": 4,
"name": "Attach the shelf",
"text": "Slide the shelf onto the mounted bracket. Tighten any set screws on the bottom of the shelf to secure it to the bracket."
}
]
}HowTo vs. Recipe Schema: When to Use Each
A common question is whether to use HowTo or Recipe schema for cooking-related content. The answer is straightforward: always use Recipe schema for cooking content. While HowTo technically works for any step-by-step process, Recipe schema includes food-specific properties that generate a much richer search result.
| Feature | HowTo Schema | Recipe Schema |
|---|---|---|
| Step-by-step instructions | Yes | Yes |
| Time estimates | totalTime only | prepTime, cookTime, totalTime |
| Tools/equipment | Yes (HowToTool) | Not officially supported |
| Nutrition info | No | Yes (calories, fat, protein...) |
| Serving size | No | Yes (recipeYield) |
| Recipe category/cuisine | No | Yes (recipeCuisine, recipeCategory) |
| Large image thumbnail | Small step images | Large featured image |
| Best for | Tech tutorials, DIY, setup guides | Cooking, baking, beverages |
Common Implementation Mistakes
HowTo schema has a higher error rate than simpler types like FAQPage because of its nested structure and multiple required properties. Here are the most common mistakes that prevent HowTo rich results from appearing:
Missing step.text property. Each HowToStep must include both a name (the step title) and a text (the detailed instruction). Providing only the name without the text will make the entire schema invalid in Google's Rich Results Test.
Using HowTo for non-instructional content. Google explicitly states that HowTo schema should only be used for content describing "how to achieve a result by performing a sequence of steps." Using it for content that's not genuinely instructional — like listicles or opinion pieces — may result in a manual action.
Incorrect time format. The totalTime property uses ISO 8601 duration format, which is unintuitive for many developers. "30 minutes" must be expressed as "PT30M". "1 hour 15 minutes" becomes "PT1H15M". "2 days" is "P2D". Using plain text or incorrect ISO formats will be ignored.
Steps not matching visible content. Just like FAQ schema, your HowTo steps must correspond to visible content on the page. Google cross-references your schema against the rendered page and will disqualify rich results if the steps in your JSON-LD don't match what users see when they visit the page.
Too many steps without meaningful detail. While there's no strict maximum, having 20+ steps with minimal text in each creates a poor user experience in the rich result. Consider grouping related steps or using HowToSection objects to organize complex, multi-phase processes into logical sections.
Generate HowTo Schema with Visual Preview
Type your steps, add optional images and times, and see exactly how your rich result will appear in Google.
Open Schema Pro Architect →Frequently Asked Questions
What is HowTo schema markup?
What content works with HowTo schema?
Is HowTo schema different from Recipe schema?
cookTime, nutrition, recipeYield, and recipeCuisine that HowTo lacks. Always use Recipe schema for cooking content and HowTo schema for non-cooking instructional content.
Can I add images to HowTo schema steps?
HowToStep supports an image property. Images should be at least 1200px wide for optimal display. Google may show step images as thumbnails alongside the numbered steps in the rich result.
How many steps should HowTo schema have?
HowToSection to group related steps.
Related Resources
- JSON-LD Schema Markup Guide — Complete structured data reference
- FAQ Schema for SEO — Win expandable Q&A rich snippets
- Local Business Schema Guide — Dominate the Google Map Pack
- Schema Markup for Rich Snippets — Which types generate visible results
- Schema Pro Architect — Generate HowTo schema instantly