Add HowTo structured data to a roofing guide so Google can show its numbered steps, images, and time estimate as a how-to rich result in search.

Most roofing guides have no HowTo markup, or markup that fails validation. Get a free audit that checks your structured data against the Rich Results Test and lists the fixes.
HowTo schema is structured data markup that tells Google a page contains step-by-step instructions, so the search engine can read each step, its image, and a time estimate. On a roofing guide, the markup wraps the steps you already wrote and labels them as a procedure.
HowTo is a schema.org type added in JSON-LD. It describes content that already exists on the page; it does not write the guide for you.
Each instruction is a HowToStep node inside a step array. The order of the array is the order Google reads the procedure in.
This page covers the markup, not the concept of a roofing entity. For the concept side, see entity SEO for roofers.
HowTo markup matters because it can turn a plain guide listing into a step-rich result that takes more space and reads as an authoritative answer before the click. The markup signals that the page holds a complete procedure.
A roofing HowTo needs a name, a step array, and at least two HowToStep entries; image, totalTime, supply, and tool are recommended. Each property maps to something already on the page.
The name states the task, such as "How to spot a roof leak". The step array holds the ordered HowToStep nodes that make up the procedure.
image gives each step a photo from the actual roof. totalTime states the duration in ISO 8601 format, such as PT30M for thirty minutes.
supply lists what gets consumed, such as roofing cement. tool lists what does not get consumed, such as a caulk gun or a ladder.
Place a JSON-LD block in the page head or body, with the type set to HowTo and each instruction as a HowToStep. The example below marks up a roof-inspection guide.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Inspect a Roof for Storm Damage",
"description": "A homeowner walkthrough for checking a roof after a storm.",
"totalTime": "PT30M",
"image": "https://example-roofing.com/images/roof-inspection.jpg",
"supply": [
{ "@type": "HowToSupply", "name": "Notepad" }
],
"tool": [
{ "@type": "HowToTool", "name": "Ladder" },
{ "@type": "HowToTool", "name": "Binoculars" }
],
"step": [
{
"@type": "HowToStep",
"name": "Check from the ground",
"text": "Scan the roof with binoculars for missing, cracked, or lifted shingles.",
"image": "https://example-roofing.com/images/step-ground.jpg",
"url": "https://example-roofing.com/roof-storm-inspection/#step1"
},
{
"@type": "HowToStep",
"name": "Inspect the gutters",
"text": "Look for shingle granules collecting in the gutters, a sign of wear.",
"image": "https://example-roofing.com/images/step-gutters.jpg",
"url": "https://example-roofing.com/roof-storm-inspection/#step2"
},
{
"@type": "HowToStep",
"name": "Check the attic",
"text": "Look for water stains or daylight through the roof deck from inside.",
"image": "https://example-roofing.com/images/step-attic.jpg",
"url": "https://example-roofing.com/roof-storm-inspection/#step3"
}
]
}
</script>Swap the example domain, image URLs, and step text for the real roofing guide. Keep the step order in the markup identical to the order on the page.
A how-to result can draw the click while the guide still routes the homeowner to a service page and a phone number. We wire the markup and the calls to action together so the education leads to a booked job.
Call Now For PricingOr call +1 272-207-3231
Add the markup in a fixed order: write the steps on the page, build the JSON-LD to match, place the script, then validate. The markup must describe what a reader actually sees.
On WordPress, a schema plugin can generate the HowTo block from fields you fill in, or you can paste the JSON-LD into a custom HTML block. Either way, the markup must match the visible steps, since invented steps break the rule that markup describes on-page content.
Validate the markup with Google's Rich Results Test and the schema.org validator before and after publishing. A test confirms the parser reads every step and property.
An error blocks eligibility and must be fixed; a warning flags a missing recommended property, such as image, that improves the result but is not required. Resolve errors first, then add recommended fields where the page supports them.
Use HowTo on educational roofing content that builds trust, not on service or pricing pages. The markup fits a true sequence of steps a homeowner can follow safely.
Roof inspection guides, leak identification tutorials, maintenance checklists, and storm damage assessment steps that a homeowner can do from the ground.
Complex repair or installation steps that need professional skill, or content that could push a homeowner toward a dangerous DIY attempt on the roof.
Service pages, pricing pages, and emergency repair pages built for immediate lead capture rather than a step-by-step procedure.
Balance the guide so it educates the homeowner while it makes the case for professional work. The markup should strengthen lead generation, not eliminate the demand for service.
Keep the HowToStep nodes on the inspection and identification stages. Leave the actual repair to a service description, so the rich result promotes assessment, not a risky climb onto the roof.
A how-to result earns clicks at no cost per visit, against 50 to 150 dollars for paid roofing leads. Mark up the guides you already have and keep the click instead of buying it.
Call Now For PricingOr call +1 272-207-3231
Roofing sites lose eligibility through recurring HowTo markup mistakes, each one visible in the Rich Results Test.
HowTo gains authority when it sits inside a roofing site that also carries the core business and content markup. The types work together rather than in isolation.
A guide can carry a HowTo block and an FAQ schema block, and reference an ImageObject for each step photo.
The guide lives on a site that already runs LocalBusiness and Service markup, so the educational content connects to a credited business.
No stock photos and no first names without a company. Numbers from named clients, with the charts published.
A brand-new roofing company taken from zero to 9.61K Google impressions in its first 2 months.
Alpha Holistic Roofing
Launch-phase local SEO
Read the case studyA site that flatlined at zero impressions for two months, standing back up at 18.6K impressions in six.
RoofingPros Milwaukee
Recovery and rebuild
Read the case studyRun each roofing guide through this checklist to confirm the HowTo markup is valid and eligible for a rich result.
Clear answers about HowTo schema for roofing guides.
We'll review the structured data across your roofing guides and service pages, run them through the Rich Results Test, and show where the markup fails or is missing.
Claim your free roofing schema audit today. No commitment required.