Rich Results Test
If you only have time for one structured data check, this is the one I'd run — just don't mistake a passing test for guaranteed rich results.
The short verdict
- Run the Rich Results Test on every page before deploying structured data to catch syntax errors early.
- Fix all errors and warnings the tool surfaces, then re-test until you get a clean report.
- Remember that a passing test does not guarantee a rich result will appear in search; it only confirms eligibility.
- Use the preview feature to see how your rich result might look on a Google search results page.
- Combine the Rich Results Test with Search Console's rich results report to monitor real-world performance.
What it's good at
I use the Rich Results Test as my first diagnostic for any structured data I'm deploying. Last month I was testing a recipe page that used JSON-LD for the Recipe schema. The tool caught a missing cookTime property in about two seconds — something that would have taken me fifteen minutes to debug manually in a code editor. That speed is the main reason I keep the page bookmarked on my browser toolbar.
It validates against all Google-supported rich result types: recipes, products, jobs, events, FAQ, how-to, and so on. When you paste a snippet or enter a live URL, the tool parses the markup and highlights exactly which properties are required, recommended, or optional. I particularly like that it distinguishes between errors (which block the rich result entirely) and warnings (which may still allow it but risk a manual action). Fixing those warnings has saved me from getting slapped with a structured data penalty on two separate occasions.
Another strength is the preview panel. After validation, the tool shows a rough approximation of how the rich result could appear in Google Search — star ratings, price, availability, breadcrumb paths, and so on. I used this when building a product schema for an ecommerce client; the preview helped the client visualise the potential search listing and gave them confidence to approve the implementation. That preview is not a guarantee, but it's a strong signal that Google can parse the data correctly.
What surprised me is how well it handles JavaScript-rendered markup. I had a site where the FAQ schema was injected client-side. The Rich Results Test still detected it after rendering the page. That capability beats the older tool hands down.
What it's awkward for
The Rich Results Test is brilliant for single-page checks, but it becomes awkward when you need to validate across a whole site. You cannot feed it a sitemap or a list of URLs; you have to paste each one manually or click through every page. For a site with three hundred product pages, that is not practical. I learned that the hard way after spending a full afternoon testing just forty pages — and missing a pattern error that affected the rest.
Another limitation: the tool only checks for Google-supported rich result types. If you use schema.org markup for something like a social profile or a dataset that Google does not produce a rich result for, the tool will still parse the markup but will not give you the same level of feedback. It may report no errors even if the markup has logical contradictions — for example, marking a product as both in stock and discontinued. The tool does not evaluate semantic consistency, only syntactic validity against Google's strict requirements.
I also find it awkward for debugging after deployment. Once structured data is live, the Rich Results Test still works, but it does not show historical data or performance metrics. That is where Search Console's rich results report becomes essential. I once had a case where the tool passed a local business schema, but Search Console showed zero impressions for the local business rich result. Turned out Google was ignoring the schema because of a mismatch between the business name in the markup and the name in Google Business Profile. The tool never flagged that.
Finally, the rendering engine, while decent, is not perfect. I have seen cases where JavaScript-heavy single-page applications produce different output in the tool than in a real browser. If your data depends on user interactions or asynchronous API calls, the test may not represent the final render state.
Alternatives I'd consider
When I need to check structured data across an entire site, I turn to [Ahrefs](/ahrefs/) or [Semrush](/semrush/). Both have site audit modules that crawl every page and report on schema markup — missing properties, incorrect types, and pages with no schema at all. I ran an Ahrefs audit for a publisher who had implemented Article schema across 1,200 posts; within ten minutes I had a list of 83 pages missing the author property, something the Rich Results Test would have taken hours to uncover.
For validating arbitrary schema.org markup that Google does not use for rich results, the Schema.org validator remains useful. It is slower and does not show a preview, but it validates against the full schema.org vocabulary. I use it when I am testing markup for a knowledge graph project or for non-Google platforms.
For competitive analysis, I occasionally pull up [MozBar](/mozbar/) or [Spyfu](/spyfu/) to see what schemas competitors are using on their pages. These are not validation tools, but they give me a quick snapshot of the structured data landscape without running a full audit.
For monitoring after launch, I pair the Rich Results Test with Google's own Search Console tool. Nothing replaces the real-world data from Search Console's rich status report. If I see a sudden drop in rich result impressions, I run the URL through the Rich Results Test again to check if something broke. It is a complementary loop, not a standalone solution.
For rank-based tracking of pages that do have rich results, I rely on a proper [Rank Tracker](/rank-tracker/) to see whether the enriched result actually moves the needle on organic traffic. A passing test is only the start.
Next step
Quick answers
Can I use the Rich Results Test on a local development page?
Yes, but only if the page is publicly accessible. The tool fetches the URL from Google's servers, so localhost or private environments won't work. You can paste the code snippet directly instead, which is what I do when testing a staging site behind a VPN.
Does a passing test mean I'll get a rich result in Google Search?
No. The Rich Results Test validates syntax and eligibility for Google-supported rich result types, but it does not guarantee that Google will actually display one. Google uses additional signals such as content quality, relevance, and user experience before showing a rich result in search.
What is the difference between the Rich Results Test and the old Structured Data Testing Tool?
The Rich Results Test focuses specifically on Google-supported rich result types and includes a preview. The old tool validated any schema.org markup regardless of Google support. Google deprecated it in December 2020, so I only use the new tool now.
Can I test structured data that is added via JavaScript?
Yes, the tool can render JavaScript to detect dynamically injected structured data. However, the rendering may not capture every state of your JavaScript, especially if it relies on user interactions. For thorough testing, I also check using Google's URL Inspection Tool.
Sources
Primary documentation is linked directly. Anything commercial is marked nofollow.
- Google Rich Results Test — the primary tool page confirming it tests live URLs and code snippets
- Google Search Central: Structured data — recommends starting with the Rich Results Test for validation
- Google Rich Results Test — used to verify that it can preview rich result appearance
Notes from Callum Bennett.