Tutorial · search-console · Published 2026-08-16 · 3 min read
The Rich Results Test for structured data validation
Rich Results Test guide: test a live URL or code snippet, read eligible versus warnings versus errors, and retest after markup fixes.
The Rich Results Test is the free Google tool that answers a narrow, precise question: will Google treat the structured data on this page as eligible for a rich result, and does the markup pass that type's rules? It renders a URL the way Googlebot does, parses the structured data from the rendered page, and reports valid items, warnings, and errors. It does not check whether the page is indexed or ranked; the Search Console rich results status report fills that role over time.
Use it before you trust a new template or schema type, and after every change to markup, because a rich result will never show up in Search if the code fails validation.
Test a URL or snippet
The tool accepts two inputs:
- URL: paste a live, publicly accessible URL. Google fetches it, runs the JavaScript, and parses the structured data from the rendered DOM. Pages behind a login, a firewall, or blocked by robots.txt return nothing useful.
- Code snippet: paste raw markup, which is useful for testing JSON-LD before it is deployed, because the URL mode needs a public page.
Both modes let you pick a desktop or smartphone user agent, which matters for responsive or JavaScript-rendered data.
Read the result
The tool returns one of a small set of outcomes:
| Result | Meaning |
|---|---|
| Valid item(s) | The markup is eligible for the tested rich result types |
| Valid with warnings | Eligible, but a non-blocking issue may limit the display (for example a missing image still allows the result, just without an image) |
| Errors | The markup fails a requirement, so the page is not eligible for that rich result |
| No items detected / cannot be crawled | No supported structured data found, or the URL could not be fetched |
Warnings are different from errors. An error disqualifies the page; a warning degrades the result but does not remove it. Google's own examples treat a missing image as a warning that still allows the rich result to appear without the image.
Fix and retest
When an error appears, work through the loop:
- Read the exact error text; the tool names the property and the problem (for example a required
namefield missing). - Fix the markup in the source that renders the page, not in a copy, so the next build carries the change.
- Rerun the test on the updated URL or pasted snippet.
- Once the test is clean, remember that rich results need Google to re-crawl for Search Console to reflect the fix, which the rich results status article explains.
The Rich Results Test replaced the older Structured Data Testing Tool, which Google deprecated. It is the current first-party way to validate markup against the supported rich result types, and it works alongside the structured data guides and the schema entity guide that explain which types exist and what each requires. There is no standalone public API for it, so for automated checks across many URLs use the Search Console URL inspection surface described in the URL inspection APIs article rather than trying to script this tool.