Structured Data & Rich Results: A Practical Guide
Which schema types actually earn enhanced SERP features? How to add JSON-LD correctly, test it, and avoid the mistakes that silently kill your rich results.
What Is Structured Data (and Why Should You Care?)
Structured data is machine-readable code you add to your HTML that tells search engines exactly what your page is about — not just what it says, but what kind of thing it represents. It uses vocabulary from schema.org, typically written in JSON-LD format.
Why does this matter? Because when Google understands your content semantically, it can surface it as a rich result — those enhanced SERP features like FAQ accordions, how-to cards, recipe carousels, and event listings that grab more clicks than plain blue links.
Which Schema Types Actually Earn Rich Results?
Not every schema type triggers a visible enhancement. Here are the ones most likely to produce real results in 2026:
| Schema Type | Rich Result Feature | Best For |
|---|---|---|
FAQPage | FAQ accordion in SERP | Pages with clear Q&A pairs |
HowTo | Step-by-step card | Tutorials, guides, recipes |
BreadcrumbList | Breadcrumb trail in results | All pages (site-wide) |
Article | Enhanced snippet + author info | Blog posts, news |
Organization | Knowledge panel / sitelinks | Homepage |
WebApplication | App rich result | SaaS tool pages |
Product | Price, availability, reviews | E-commerce |
Event | Event card with date/location | Events, webinars |
How to Add JSON-LD to Your Page (Step by Step)
You do not need to be a developer. The process is mechanical:
- Pick the right schema type. Match your page's primary purpose to one schema type from the table above. Do not stuff five types onto one page — pick the dominant one.
- Write the JSON-LD block. Use Google's structured data documentation as a reference. Every block needs
@context,@type, and at least one required property for that type. - Insert it into your HTML. Place the
<script type="application/ld+json">block inside the<head>or at the end of<body>. Position does not affect parsing, but head placement keeps things tidy. - Test it. Run your URL through the Google Rich Results Test. Fix any warnings until you see zero errors.
- Monitor. Check Google Search Console under "Enhancements" to see which pages are eligible and which are actually showing rich results.
A Minimal FAQPage Example
This is the exact pattern we use across our own site. Notice the structure: each question-answer pair lives inside mainEntity:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is structured data?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Machine-readable code that tells search engines..."
}
}
]
}
</script>
Common Mistakes That Kill Your Rich Results
We have audited hundreds of pages with our free SEO audit tool, and these are the top structured data errors we see:
- Nested quotes not escaped. Using straight double quotes (
") inside a JSON string value breaks the parser. Use curved quotes (\u201C/\u201D) or backslash-escape (\"). - Numeric values wrapped in strings. Fields like
ratingValue,price, andbestRatingmust be numbers (4.5), not strings ("4.5"). Google will reject the whole block otherwise. - Schema type mismatched to content. Marking a product page as
Articleor a blog post asProduct. Google's algorithms detect this and suppress the rich result. - Duplicate blocks. Copying the same JSON-LD across every page without updating the values. Each page must have unique data that reflects its actual content.
- Missing required properties. Every schema type has mandatory fields. Omitting even one (like
authoronArticle) makes the entire block invalid.
Testing Checklist Before You Publish
Run through this list every time you add or edit structured data:
- Paste the URL into Google Rich Results Test → zero errors, zero warnings ideally.
- Validate JSON syntax with a linter (any online JSON validator works).
- Confirm every text value in the JSON-LD appears visibly on the page (Google cross-references).
- Check that numeric fields use actual numbers, not quoted strings.
- Verify only one primary schema type per page (supplementary types like
BreadcrumbListare fine). - After publishing, monitor Search Console Enhancements report for 3–7 days.
Structured Data and Our Free SEO Audit Tool
Our audit tool at MintShovels checks over 70 items on any website, including whether basic structured data elements are present. While it cannot replace hands-on validation of complex schema markup, it flags missing fundamentals like <title>, meta description, canonical tags, and heading hierarchy — all of which form the foundation that structured data builds on top of.
If you want a quick health check before diving into advanced schema work, run a free audit in under 10 seconds. No signup needed.