Want to skip straight to checking your schema?
SEO-Snap's free schema checker validates all JSON-LD on your page instantly — no account needed. Check schema markup free →
Why schema markup needs checking
Schema markup is structured data — usually a JSON-LD script block — that tells search engines and AI platforms exactly what your content means. Valid schema unlocks rich results: star ratings, product prices, breadcrumbs, and event dates directly in search results. In 2026, it also helps AI search platforms like ChatGPT, Perplexity, and Google AI Overviews correctly identify and surface your content in AI-generated answers.
The problem: schema errors are silent. A missing brace, a deprecated property, a required field left empty — none of these produce a visible error on your page. Google just ignores the entire schema block, and AI platforms may miss your content entirely. A schema checker catches these issues before they cost you visibility.
5 free ways to check schema markup
Each tool has a different purpose — use the right one for your situation.
Google Rich Results Test
Best for: Rich result eligibilitysearch.google.com/test/rich-results
Pros
- ✓Official Google tool
- ✓Shows exactly which rich results you qualify for
- ✓Renders the page like Googlebot
Limitations
- ✗Only validates schema types Google supports
- ✗No bulk checking
- ✗No API access
Schema.org Validator
Best for: Full schema.org compliancevalidator.schema.org
Pros
- ✓Validates all schema.org types
- ✓Catches deprecated properties
- ✓Accepts URL or raw code input
Limitations
- ✗Does not reflect Google's specific requirements
- ✗No rich result preview
SEO-Snap Schema Checker
Best for: Whole-site auditsseo-snap.com/tools/schema-markup-validator
Pros
- ✓Checks all pages at once
- ✓Flags missing required fields per type
- ✓No account needed for basic check
Limitations
- ✗Full audit requires account
Chrome DevTools (manual)
Best for: Quick spot-check on any pagePros
- ✓No external tool needed
- ✓Works on staging and localhost
- ✓Instant — no page fetch delay
Limitations
- ✗Manual — must know what to look for
- ✗Syntax check only, no schema validation
Merkle Schema Markup Generator
Best for: Building schema from scratchtechnicalseo.com/tools/schema-markup-generator
Pros
- ✓Generates correct JSON-LD for any type
- ✓Validates as you build
- ✓Copy-paste ready output
Limitations
- ✗Generator, not checker — for new markup only
Which tool should you use?
- →Checking rich result eligibility? Use Google Rich Results Test first.
- →Checking full schema.org compliance? Use validator.schema.org.
- →Auditing your whole site? Use SEO-Snap — it checks every page at once.
- →Testing on localhost or staging? Use Chrome DevTools — no URL required.
How to use Google Rich Results Test
Google Rich Results Test is the most important check because it directly reflects what Google will show in search results. Go to search.google.com/test/rich-results, enter your page URL, and run the test.
The test renders your page with Googlebot and shows: which schema types were detected, which rich results you're eligible for, and any errors blocking those rich results. A green "Eligible" result means your schema is correctly implemented for that type.
How to use the Schema.org validator
The official Schema.org validator at validator.schema.org checks your markup against the complete schema.org specification — not just the subset Google supports for rich results. It accepts a URL, a page snippet, or raw JSON-LD pasted directly.
Use the schema.org validator when you're implementing schema types that Google doesn't explicitly support (like MedicalCondition, EducationalOccupationalProgram, or schema types for non-Google search engines). It's stricter than Google's tool and will catch deprecated properties that Google silently ignores.
Step-by-step: how to check schema markup
- 1
Open a schema checker
Use Google Rich Results Test for rich result eligibility, or SEO-Snap's free checker at seo-snap.com/tools/schema-markup-validator for a full page audit. No account needed for either.
- 2
Enter your page URL
Paste the exact URL of the page you want to check — including https://. The checker fetches the live page so it sees the same schema Google does, including dynamically generated JSON-LD from JavaScript.
- 3
Review detected schema blocks
The checker shows every schema block found on the page, the @type detected, and whether it's valid. Invalid blocks are highlighted. Pay attention to the difference between errors (block failures) and warnings (missing recommended fields).
- 4
Fix errors in priority order
Address errors that block rich results first: missing required fields, syntax errors, schema that doesn't match page content. Then fix warnings: deprecated properties, recommended fields missing, value format issues.
- 5
Re-check after making changes
Re-run the check after deploying fixes. You can also use Google Search Console → Enhancements to request re-indexing of specific pages. Google typically picks up schema changes within 1–2 weeks of recrawling.
What a schema checker actually validates
A good schema checker does more than confirm your JSON is valid syntax. It validates against the actual schema.org specification:
JSON-LD syntax
Valid JSON structure — balanced braces, escaped quotes, no trailing commas. Syntax errors break everything silently.
@context and @type
Confirms schema.org is used as context and @type matches an actual schema.org type (case-sensitive).
Required properties
Each schema type has required fields (e.g. Product needs name and offers). Missing required fields block rich results entirely.
Recommended properties
Recommended fields like image, description, and aggregateRating are not required but improve rich result appearance and eligibility.
Value format
Dates must be ISO 8601, prices must be numeric strings, URLs must be absolute. Wrong formats fail silently.
Content match
Schema data must match visible page content. Google rejects schema for content users cannot see on the page.
Rich result eligibility
Whether your schema qualifies for specific rich results (FAQ accordion, product rich result, breadcrumbs, etc.).
Schema types and the rich results they unlock
| Schema type | Rich result |
|---|---|
| FAQPage | AI platforms (ChatGPT, Perplexity) — Google ended FAQ rich snippets in 2026 |
| Product | Star ratings, price, availability |
| Article | Article rich result, date in snippet |
| BreadcrumbList | Breadcrumb path below page title |
| LocalBusiness | Address, hours, phone in Knowledge Panel |
| HowTo | Step-by-step guide in search results |
| Review | Star rating snippet |
| Event | Event date, location in search results |
The 6 most common schema markup errors
Missing required property
CriticalExample: Product schema without offers.price
Add all required fields for the schema type. Use Google's Rich Results documentation to see which properties are required vs. recommended.
Schema doesn't match page content
CriticalExample: Rating of 4.9 stars in schema but no visible reviews on page
Schema must reflect content visible to users. Google will not show rich results if schema data differs from what's on the page.
Malformed JSON-LD syntax
CriticalExample: Missing closing brace, unescaped quote inside string
Run your JSON-LD through a JSON validator first (jsonlint.com), then check schema validity. A syntax error silently breaks all schema on the page.
Incorrect @type value
HighExample: "@type": "Products" instead of "Product"
Type values are case-sensitive and must match schema.org exactly. Use the schema.org type directory to verify spelling.
Deprecated property used
MediumExample: Using "price" directly instead of "offers.price" for Product
Check schema.org changelog. Some properties moved to nested objects in recent updates. Use a schema checker to catch these automatically.
Multiple conflicting schemas
MediumExample: Two different Product schemas with different prices on the same page
Each entity should have one schema block. Use @graph array if you need multiple schemas on a single page.
JSON-LD example: FAQPage (copy-paste ready)
FAQPage schema is one of the easiest rich results to get — and one of the most impactful. Add this to your page <head>:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is your return policy?",
"acceptedAnswer": {
"@type": "Answer",
"text": "We offer 30-day returns on all orders..."
}
},
{
"@type": "Question",
"name": "How long does shipping take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Standard shipping takes 3-5 business days..."
}
}
]
}
</script>Frequently asked questions
What is the best free schema markup checker?▾
What schema markup errors are most common?▾
How do I check schema markup without a tool?▾
Does schema markup directly affect Google rankings?▾
What's the difference between Google Rich Results Test and Schema.org validator?▾
Check your schema markup free
Validates JSON-LD · checks rich result eligibility · flags missing required fields
Check schema markup free →