Structured data · 12 Nov 2026 · 6 min read
Rich results test: how to test structured data and fix what it finds
A passing test does not mean a rich result will appear. This guide explains what each check proves and the order in which to run them.
The short answer
To test structured data, paste a page address or code into Google's Rich Results Test to see which features the markup can support and any errors. Use the Schema Markup Validator for general schema.org checks, then watch Search Console reports once pages are crawled. Valid markup is not a promise of display, because Google decides for each search.
Valid, eligible and shown are three different states
A rich results test answers one narrow question, and the answer is easy to over-read. Markup can be valid, eligible and still not shown. Each state has its own check and its own owner.
| State | What it means | How you check it | Who decides |
|---|---|---|---|
| Valid | The code parses and uses schema.org vocabulary without syntax faults | Schema Markup Validator for general checks | You, by fixing faults |
| Eligible | The page meets Google's technical requirements and guidelines for a specific feature, including every required property | Rich Results Test and URL Inspection check the technical side. Google says quality guidelines are not easily tested by a tool | You and Google |
| Shown | Google chooses to display the feature for a particular search | Search Console reports, and looking at real results | Google alone |
Google's documentation says that using structured data enables a feature but does not promise it. It lists reasons a feature may not appear even when a test passes, covered below. It also says that errors disqualify a page from the feature, while warnings may limit how it appears but leave the page eligible, and that an item missing a required property is not eligible.
How to use the Rich Results Test
The Rich Results Test is Google's tool for checking which rich result features a page or a piece of code can support. It accepts either a public page address or pasted code. Use pasted code before launch and the live address after it.
- Choose the input. A page address tests what Google can fetch. Pasted code tests markup that is not live yet, such as a draft on a private test site.
- Run the test and read the list of detected items. Each item is a markup type the tool recognised and tested.
- Open each item and read its errors first, then its warnings.
- Compare the properties it lists as required and recommended with the markup on your page. Fill required ones with true values. Add recommended ones only when you have accurate information.
- Fix the code or the template, then run the test again. Repeat until no errors remain.
Use this table to read common results.
| What the tool shows | What it means | What to do |
|---|---|---|
| Errors | A required property is missing or a value is invalid, so the page is not eligible for the feature | Fix before anything else |
| Warnings | A recommended property is missing. The page stays eligible but the feature may look less complete | Add the information if you have it and it appears on the page |
| No items detected | The tool found no markup it supports | Check that the code is on the page, that its syntax is intact, and that the type is one Google supports for a feature |
| An item you did not expect | A theme, plugin or script adds markup | Decide whether it is right for the page, and remove duplicates |
Schema validator or Rich Results Test?
The two tools answer different questions. The Rich Results Test checks markup against Google's requirements for features it supports. The Schema Markup Validator checks markup against the general schema.org vocabulary, without Google-specific checks, so it also handles types that Google has no feature for.
Use the Rich Results Test when the aim is a Google feature. Use the Schema Markup Validator when you want to confirm that markup is well formed in general, or when the type is not in Google's gallery of supported features. A clean result in one does not stand in for a clean result in the other. Check the current documentation for the features Google supports, because some have been limited or retired.
A four-pass test plan for a small site
Testing once at launch is not enough, because themes, plugins and content change. Four short passes cover the life of a page. Test one sample page for each template, not every page.
| Pass | When | Question to ask | Done when |
|---|---|---|---|
| Draft | Before launch | Does the markup in the template pass with pasted code? | No errors, and every value comes from the page's own data |
| Live | Straight after launch | Does the public page pass, and does every value match the visible text? | The code and the page agree line by line |
| Indexed | Once the page has been crawled | Does Google see the same markup that you published? URL Inspection shows the version Google has indexed | The indexed version contains the markup, which matters most when a script adds it |
| Monitor | Monthly, and after theme or plugin updates | Do the rich result reports in Search Console show new errors? | Errors and warnings are stable or falling |
The live pass is the one a tool cannot do for you. Google's guidelines say that markup must describe content visitors can see and that it must represent the main content of the page. A tool can check syntax. Only a person can check whether the markup is true. The Search Console guide for beginners explains how to verify a site and find the reports used in the last two passes.
Why do my rich results not show?
Google's own documentation gives a short list of reasons a feature may be missing even though a test passes. Work down this list in order.
- The page has not been crawled or indexed yet, or the version Google holds is older than your change. Check with URL Inspection.
- The markup does not represent the main content of the page, or could mislead.
- The markup is wrong in a way the test could not catch, such as a price that no longer matches the page.
- The content the markup describes is hidden from visitors.
- The page breaks the general structured data guidelines, the guidelines for that feature, Google's Search Essentials or its content policies.
- Google has decided that a different feature, or a plain listing, suits this search. It tailors results to variables such as search history, location and device type.
- The feature is limited to certain kinds of site, or is not offered for your page type or region. Check the current gallery of supported features.
A structured data manual action is a further cause. Google says it removes a page's eligibility for rich results but does not affect how the page ranks in web search. Google also has a troubleshooting guide for missing rich results and falling totals, which is the next stop when this list does not explain the problem. Check the current documentation for its steps.
What testing cannot tell you
A test shows that markup is correct. It does not show that the work was worth doing, and it does not touch the other parts of search.
- Markup describes a page. It does not make other sites link to it, which is a separate job covered in the guide to backlinks.
- Structured data sits between development, content and search work. If it is unclear who owns it, the comparison of content marketing, SEO and digital marketing can help you place the job.
- People often ask whether markup helps voice assistants. The voice search basics guide separates what is documented from what is rumoured.
- A green result does not tell you what to mark up first. Choose types that match pages where a feature could matter to the business.
Keep a short record: each template, the types it carries, which tool or file generates them, and the date of the last test. When the business changes an address, product or opening time, that record tells you what else must change.
Who should run the tests
A small team can test its own markup with the free tools. It takes care rather than skill. Hand the work to someone else if the site is custom built and the markup comes from code that nobody on the team can read, or if a migration is planned. The guide to in-house SEO vs an agency sets out how to split the work, and the search engine optimisation service page describes the technical checks Liftup Technologies offers.
Related guides
- Schema markup for small business websites
- Google search console for beginners
- Backlinks explained what they are and why they matter
- Organization and local business schema explained
- Schema markup for small business websites
- Product data feeds for online stores explained
Questions and answers
How do I test structured data?
Paste a page address or the code into Google's Rich Results Test to see which features the markup can support and any errors. Use the Schema Markup Validator for general schema.org checks, then watch the rich result reports in Search Console once Google has crawled the pages.
What is the difference between a valid and an eligible page?
Valid means the markup is well formed and uses the vocabulary correctly. Eligible means the page also meets Google's requirements and guidelines for a particular feature, including all required properties. Eligible still does not mean shown, because Google decides that for each search.
Why do my rich results not show?
Common reasons are that the page has not been crawled since your change, the markup does not match the visible content, or Google chose a different result for that search. Google says a passing test does not promise a rich result. Its troubleshooting guide covers the steps.
Should I use the Rich Results Test or the Schema Markup Validator?
Use the Rich Results Test when you want a Google feature, because it checks Google's requirements. Use the Schema Markup Validator for general schema.org checks, including types Google has no feature for. They answer different questions, so a clean result in one does not replace the other.
Do warnings in the Rich Results Test matter?
Warnings do not make the page ineligible, but they may limit how the feature looks. Fix errors first. Add the missing recommended details only when you have true information that also appears on the page.
Can I test structured data before my site is live?
Yes. Paste the code into the Rich Results Test instead of using an address, so you can check markup on a draft or a private test site. Test again on the live page after launch, because the template may output something different.
Tell us what you are building.
A short call, a written plan and a fixed quote. No obligation.