Rich Results Test: A Step-by-Step Guide (2026)
The Rich Results Test is Google’s free tool at search.google.com/test/rich-results that checks whether the structured data on a page can produce Google rich results, such as review stars, product prices or event listings. You give it a URL or a code snippet; it fetches and renders the page as Google-InspectionTool, lists every rich result type it detects, and marks each item valid, valid with warnings, or invalid. It answers one question: is this markup eligible for a Google feature?
This guide is for site owners, marketers and developers who ship structured data and need to check it. It walks through a test step by step, explains the report, lists which types the tool still supports after Google’s 2023 to 2025 retirements, and is honest about what a pass does and doesn’t mean.
On this page
- What the Rich Results Test does
- How to run the Rich Results Test step by step
- URL or code: which test mode should you use?
- Reading the report: statuses, errors and warnings
- Which rich result types can it test in 2026?
- Common errors and how to fix them
- What does passing the Rich Results Test guarantee?
- Where the Rich Results Test fits in your structured data workflow
What the Rich Results Test does
The Rich Results Test checks your markup against Google’s rules for specific search features, not against schema.org in general. That’s the key difference from the Schema Markup Validator, which checks any schema.org type but knows nothing about Google’s required properties. Google’s structured data testing page recommends starting with the Rich Results Test and using the validator for generic schema validation.
According to Google’s Rich Results Test help page, the tool:
- tests a public URL or a pasted code snippet
- reads JSON-LD, RDFa and Microdata
- crawls as Google-InspectionTool, so a robots.txt block or a login stops it
- lets you choose a smartphone or desktop user agent (smartphone is the default)
- previews how some results might look, with desktop and mobile layouts
Google built it as the successor to the Structured Data Testing Tool. In December 2020, Google said the old tool would no longer check Google rich result types and pointed people to the Rich Results Test for that job.
How to run the Rich Results Test step by step
A test takes a minute or two. The diagram below shows what happens between clicking the button and reading a result.
Scroll the diagram sideways to see all of it.
- Open search.google.com/test/rich-results.
- Choose URL or Code. Paste the full URL of a public page, or switch to Code and paste your HTML.
- Pick a user agent if you need desktop. Otherwise leave smartphone, which Google made the default because most people browse on phones.
- Run the test. The page status appears first, then a list of detected rich result types.
- Open each type to see its items, then open an item to see its properties and any issues. Clicking an issue jumps to the line in the rendered code.
- Preview the result where the tool offers it, and switch between desktop and mobile layouts.
- Save or share the result. The help page says test history is kept for about 90 days and shared links stay valid for about 90 days, viewable by anyone with the link.
URL or code: which test mode should you use?
Use URL mode for anything that’s live, and code mode only for drafts. URL mode tests what Google actually receives: the rendered page, the robots.txt rules, and whether resources load. Code mode tests only the text you paste.
Google’s guide to generating structured data with JavaScript says it plainly: use the URL input instead of the code input, because code input has JavaScript limitations such as CORS restrictions. If your markup comes from Google Tag Manager, a React component or a plugin that runs in the browser, only URL mode will see it.
One more trap: the help page notes that the tool ignores comments inside JSON-LD blocks, but the JSON-LD standard doesn’t allow them. A block with comments can pass here and still break elsewhere. Strip comments before you publish. Our JSON-LD guide covers the syntax rules that trip people up.
To test a staging site, it has to be reachable from the public internet. The help page suggests exposing a tunnel if your page sits behind a firewall or on your own machine.
Reading the report: statuses, errors and warnings
The top-line status tells you whether the page is eligible for any rich result. The help page lists the possible statuses, including “N valid item(s) detected”, “N valid item(s) with warnings detected”, “N invalid item(s) detected”, “No items detected”, “URL cannot be crawled” and “Structured data with syntax errors detected”.
Below that, each item is marked with its issues:
- Errors are critical. A missing required property or an invalid value makes the item ineligible for that feature. Fix these first.
- Warnings are non-critical. They usually mean a missing recommended property. Google’s feature docs say fixing them can improve your structured data’s quality but isn’t necessary to be eligible.
Not every missing property produces a warning. Google’s Article documentation notes that the tool shows no warning for missing datePublished or dateModified, because they’re only recommended where they apply. A quiet report isn’t a complete one.
After deployment, the same issues appear at scale in Search Console. Google’s rich result report overview explains that those reports count items, not pages, split issues into critical and non-critical, and show a sample rather than every item. Our Google Search Console guide covers how to work through them.
Which rich result types can it test in 2026?
The Rich Results Test supports 31 types according to its help page, but Google has retired several popular ones since 2023. If your markup targets a retired type, the tool will either say nothing or no longer report it. The timeline below shows the changes.
Scroll the diagram sideways to see all of it.
The sources, in order: the HowTo and FAQ change limited FAQ rich results to “well-known, authoritative government and health websites” and later retired HowTo entirely. The January 2025 breadcrumb change removed breadcrumbs from mobile results but kept the markup testable. The June 2025 simplification post listed seven types to phase out, and its September 8, 2025 update removed six of them from Search Console and the Rich Results Test from September 9.
Google’s advice on leftover markup is calm. The 2023 post says unused structured data “does not cause problems for Search, but also has no visible effects”. You don’t need to rip it out. If you want to know whether FAQ markup is still worth keeping for other reasons, see FAQ schema for AI answers.
What remains testable includes Article, Breadcrumb, Event, Local business, Merchant listings, Product snippet, Organization, Profile page, Recipe, Review snippet, Video and the shopping policy types (return policy, shipping policies, loyalty program). For the types with the most traffic impact, see our guides to product schema, review schema and event schema.
Common errors and how to fix them
Most failures fall into four groups: the page can’t be reached, the markup can’t be parsed, a required property is missing, or a value has the wrong type. The table maps the common messages from Google’s help page to the usual cause.
| Message in the report | What usually causes it | Fix |
|---|---|---|
| URL cannot be crawled | robots.txt block, login wall, firewall, invalid SSL certificate | Allow Google-InspectionTool; test a public URL |
| Parsing error: Missing ’,’ or ’}’ | A dropped comma or brace, often from a template loop | Validate the JSON; watch the last item in arrays |
| Invalid JSON document | Comments, smart quotes or trailing commas in the block | Remove comments; use straight quotes |
| Incorrect value type | A string where a number or array is expected | Match the type in Google’s feature docs |
| Duplicate unique property | Two @context values or two copies of one property | Merge the blocks or remove the duplicate |
| Missing field (critical) | A required property for that feature is absent | Add it, or stop marking up that type |
| Page loading issues | Images, CSS or scripts couldn’t load in time | Re-run; fix slow or blocked resources |
When results change between runs and you haven’t changed anything, look for the page loading issues warning. The help page explains that the set of resources loaded can vary between runs, which changes what the tool sees. That’s common on pages whose markup depends on a slow script, a pattern we cover in JavaScript rendering and AI crawlers.
What does passing the Rich Results Test guarantee?
Passing guarantees eligibility, nothing more. Google’s general structured data guidelines state that Google does not guarantee your structured data will show up in search results, “even if your page is marked up correctly according to the Rich Results Test”. The diagram below shows the gap between a pass and a click.
Scroll the diagram sideways to see all of it.
Gate two is where sites get hurt. Google’s feature documentation notes that a problem caused by spammy content or spammy markup “may not be a syntax issue”, so the Rich Results Test can’t identify it. Marking up reviews that aren’t on the page, or events that are really promotions, can pass the test and still earn a manual action, after which Google ignores the page’s structured data.
Gate three is outside your control. The help page says Google picks the result it shows based on the searcher’s history, location and many other variables. Google’s own case studies report gains where rich results do appear, such as Rotten Tomatoes measuring a 25% higher click-through rate on pages with structured data. Those are results after gate three, not promises at gate one. For how rich results change click behavior generally, see CTR in SEO.
Where the Rich Results Test fits in your structured data workflow
The Rich Results Test is the Google-eligibility check in a three-step loop: validate the schema, test for Google features, then monitor in Search Console. Each step catches problems the others miss.
A workflow that holds up:
- Draft and check syntax with the Schema Markup Validator, especially for types Google doesn’t use, like
Service. - Run the Rich Results Test by URL on one page per template before and after each release. Fix every critical error.
- Read warnings against the page. Add a recommended property only when the page genuinely shows that information.
- Monitor the rich result reports in Search Console for jumps in invalid items after deploys.
- Recheck the gallery a couple of times a year. Google retired eight rich result types between 2023 and 2025, and the list is still moving.
Remember that AI search sits outside this tool entirely. Assistants don’t publish a test, and much of the entity markup that helps them describe you correctly produces no rich result. Structured data for AI search covers which types matter there.
If your reports show invalid items you can’t trace, or you’re maintaining markup across many templates, our schema markup service tests every template by URL, fixes the graph at the source and sets up monitoring so the next deploy doesn’t quietly break it.
Frequently asked questions
What is the Rich Results Test?
It is Google's free tool at search.google.com/test/rich-results that checks whether a page's structured data can generate Google rich results. It fetches a URL as Google-InspectionTool or tests pasted code, lists the rich result types it found, flags errors and warnings, and previews some results.
Does passing the Rich Results Test guarantee a rich result?
No. Passing means the markup is eligible. Google states that it does not guarantee your structured data will show up in search results, even when it is marked up correctly according to the Rich Results Test. Quality, relevance and the query all decide whether a rich result appears.
Should I test a URL or a code snippet?
Test the live URL whenever you can. It checks the rendered page, including JavaScript-generated markup, and whether Google can crawl it. Google's own JavaScript guide recommends URL input over code input because code input has JavaScript limitations such as CORS restrictions.
Why does the Rich Results Test say no items detected?
Usually because the page has no markup for a type the tool supports. Service, WebSite and sameAs markup produce no rich result of their own, and retired types such as HowTo are no longer reported. Check those with the Schema Markup Validator instead.
What is the difference between errors and warnings in the Rich Results Test?
An error is a critical issue, such as a missing required property or invalid value, that makes the item ineligible for that rich result. A warning is a non-critical issue, usually a missing recommended property. Google says fixing warnings can improve quality but is not necessary for eligibility.
Did the Rich Results Test replace the Structured Data Testing Tool?
For Google-specific checks, yes. In December 2020 Google moved the old tool's general schema.org checking to the Schema Markup Validator at validator.schema.org, and pointed people to the Rich Results Test for Google rich result types.
How long are Rich Results Test results saved?
Google's help page says test history and shared result links are kept for approximately 90 days. Anyone with the link can view a shared result, so do not share tests of pages you want to keep private.