Testing and validating schema with Google's Rich Results Test and Schema.org validator
Module 6: Technical SEO, Structured Data & Rich Snippets for Wix | Lesson 76 of 683 | 50 min read
By Michael Andrews, Wix SEO Expert UK
Before your schema can earn rich results, it must pass validation. This lesson shows you how to use Google's Rich Results Test and the Schema.org validator to find and fix errors in your Wix schema implementation.
What you will learn in this Wix SEO lesson
- Using Google's Rich Results Test to validate any URL
- Understanding errors vs warnings in schema validation
- Using the Schema.org validator for in-depth checking
- Common schema errors on Wix and how to fix them
- Monitoring schema performance in Google Search Console
Adding schema markup without testing it is like writing code without running it. Errors in your JSON-LD are invisible to the naked eye but prevent Google from using your structured data for rich results entirely. A single missing comma, an unclosed bracket, or a misspelled property name will silently break your schema. This lesson covers every validation tool available, how to use each one effectively, interpreting error messages, debugging common issues, building a systematic testing workflow, and creating an ongoing audit process that ensures your schema stays valid as your site evolves.

The Testing Workflow: Three Layers of Validation
Effective schema testing requires three distinct layers of validation, each catching different types of issues.
- Layer 1: JSON syntax validation. Does your code parse as valid JSON? Tools: JSONLint, any JSON validator.
- Layer 2: Schema.org compliance. Does your schema use valid types and properties according to the Schema.org specification? Tool: Schema Markup Validator (validator.schema.org).
- Layer 3: Google rich result eligibility. Does Google recognise your schema and consider the page eligible for rich results? Tool: Google Rich Results Test.
Layer 1: JSON Syntax Validation
Before checking schema compliance, ensure your code is valid JSON. JSON syntax errors are the most common cause of schema failures.
Validating JSON syntax
- Copy your JSON-LD code (everything between the <script> tags, not including the tags themselves).
- Go to jsonlint.com or use any JSON validator.
- Paste the code and click "Validate JSON".
- If valid, you will see "Valid JSON".
- If invalid, the tool will highlight the exact line and character where the error occurs.
- Common fixes: add missing commas between properties, close all brackets and braces, ensure all strings are in double quotes, remove trailing commas after the last item in arrays or objects.
Common JSON Syntax Errors
- Missing comma between properties: { "name": "Test" "url": "..." } (missing comma after "Test").
- Trailing comma: { "name": "Test", } (comma after last property is invalid JSON).
- Single quotes instead of double quotes: { 'name': 'Test' } (JSON requires double quotes).
- Unescaped special characters in strings: apostrophes, backslashes, and newlines need escaping.
- Mismatched brackets: opening { without closing }, or extra closing brackets.
- Numbers in quotes when they should not be (or vice versa).
Layer 2: Schema.org Validation
The Schema Markup Validator at validator.schema.org checks whether your JSON-LD uses valid Schema.org types and properties.
Using the Schema Markup Validator
- Go to validator.schema.org.
- Choose "Fetch URL" to test a live page or "Code Snippet" to test raw JSON-LD.
- If testing code, paste your complete JSON-LD including the <script> tags.
- Click "Run Test".
- Review the results: each detected schema type is listed with its properties.
- Green properties are valid and populated.
- Yellow warnings indicate missing recommended properties.
- Red errors indicate invalid properties or values.
- Note that this validator checks against the full Schema.org specification, not just what Google supports.
Layer 3: Google Rich Results Test
The Rich Results Test at search.google.com/test/rich-results is the most important tool because it shows exactly what Google sees and whether your page qualifies for rich results.
Complete Rich Results Test workflow
- Go to search.google.com/test/rich-results.
- Choose "URL" to test a live published page, or "Code" to test a snippet before publishing.
- For URL testing: enter the full URL and click "Test URL". Google fetches the live page.
- For code testing: paste your complete HTML or just the JSON-LD wrapped in <script> tags.
- Wait for the test to complete (usually 10-30 seconds).
- Check "Detected items": this shows every schema type found on the page.
- Click each detected item to see its properties, errors, and warnings.
- Errors (red): these MUST be fixed. They prevent the schema from generating rich results.
- Warnings (yellow): these are recommended properties. Fixing them improves your chance of rich results.
- Check the "Preview" section to see an approximation of how your rich result might appear in search.
- If testing a URL, check the "View tested page" section to see how Google rendered your page.
Pre-Publishing Testing: Code Snippet Method
The most efficient workflow is to test your schema code before adding it to Wix. This prevents the publish-test-fix-republish cycle.
Testing before publishing to Wix
- Write your JSON-LD in a text editor.
- Validate JSON syntax at jsonlint.com.
- Paste the JSON-LD (wrapped in script tags) into the Rich Results Test "Code" option.
- If testing page-specific schema, also include basic HTML structure: <!DOCTYPE html><html><head>[your schema]</head><body></body></html>.
- Fix any errors before proceeding.
- Once all errors are resolved, add the code to Wix via Custom Code.
- After publishing, test the live URL to confirm the schema works in context with the rest of the page.
Common Schema Errors and How to Fix Them
Error: Missing Field
This means a required property is absent. Each schema type has specific required fields.
- Product: requires name, image, offers (with price and availability).
- LocalBusiness: requires name and address.
- FAQPage: requires mainEntity with at least one Question.
- Event: requires name, startDate, location.
- Article: requires headline, author, datePublished.
- VideoObject: requires name, description, thumbnailUrl, uploadDate.
- HowTo: requires name and step with at least one HowToStep.
Error: Invalid Value
The property value is in the wrong format.
- Dates must be ISO 8601: "2026-01-15T09:00:00+00:00" or "2026-01-15".
- URLs must be full absolute URLs: "https://yoursite.com/page" not "/page".
- Availability must use Schema.org URLs: "https://schema.org/InStock" not just "InStock".
- Price must be a string number: "89.99" not 89.99 (though both often work).
- Duration must be ISO 8601: "PT15M" not "15 minutes".
Error: Unparsable Structured Data
Your JSON-LD has a syntax error that prevents parsing entirely. Use jsonlint.com to find the exact error location.
Using Google Search Console for Ongoing Monitoring
After deployment, Google Search Console becomes your primary monitoring tool. It shows the real-world status of your structured data across your entire site.
Setting up GSC monitoring
- Go to Google Search Console > Enhancements.
- Check each structured data type listed (FAQ, Product, Breadcrumbs, etc.).
- Click each type to see: valid items, items with warnings, and items with errors.
- Click on error categories to see which specific pages have issues.
- Click "Validate Fix" after resolving errors to prompt Google to recheck.
- Check the Enhancements section weekly for the first month after implementation.
- After stabilisation, check monthly.
Creating a Schema Audit Spreadsheet
For sites with schema on multiple pages, maintain a spreadsheet that tracks every implementation.
- Column A: Page URL.
- Column B: Schema type(s) on the page.
- Column C: Last tested date.
- Column D: Rich Results Test result (pass/fail).
- Column E: GSC detection status (valid/error/not detected).
- Column F: Notes (any warnings or special considerations).
- Column G: Last updated date (when schema was last modified).
- Update this spreadsheet after every schema change and during monthly audits.
Automated Testing with Screaming Frog
For larger sites, Screaming Frog can crawl your entire site and extract all structured data, giving you a complete picture of your schema implementation.
- In Screaming Frog, go to Configuration > Spider > Extraction.
- Add a custom extraction for JSON-LD: select "CSSPath" and enter "script[type=application/ld+json]".
- Crawl your site.
- The extraction column will show the raw JSON-LD found on each page.
- Export to a spreadsheet to review all schema across your site in one view.
- Identify pages missing expected schema or pages with errors.
Testing Schema on Mobile vs Desktop
Since Google uses mobile-first indexing, ensure your schema is present in the mobile version of your pages.
- In the Rich Results Test, check the "Mobile" view of the tested page to confirm schema is visible.
- Wix Custom Code added via head section should be present on both mobile and desktop.
- If you use conditional code that only loads on desktop, your schema may be invisible to Google's mobile crawler.
- Test both mobile and desktop versions of key pages to ensure consistency.
Essential Tools for This Lesson
- SEO Fix in a Box: My Wix app. Free to install, it scans your site and shows what needs fixing, and the paid plan writes the fixes from your own Google searches
More lessons in Module 6: Technical SEO, Structured Data & Rich Snippets for Wix
- Wix site speed optimisation: a step-by-step Core Web Vitals guide
- Mobile SEO on Wix: common pitfalls and exactly how to fix them
- What is structured data? JSON-LD vs Microdata vs RDFa, which to use on Wix
- How to add JSON-LD schema markup to any Wix page using Custom Code
- Organisation and LocalBusiness schema: tell Google exactly who you are
- BreadcrumbList schema: how to implement breadcrumbs on Wix and get them in results
- FAQ schema on Wix: boost AI citations and semantic search clarity
- HowTo schema on Wix after Google retired how-to rich results
- Review and AggregateRating schema: star ratings in Google search results
- Article and BlogPosting schema: author, datePublished and E-E-A-T signals
- Product schema for Wix eCommerce: price, availability and rich product listings
- Event schema: show dates and event details directly in Google
- Wix JavaScript rendering: how Googlebot processes your Wix site differently
- Service, ProfessionalService and SameAs schema for Wix businesses
- 301 redirects, crawl errors, hreflang and robots.txt on Wix
- Using ChatGPT, Claude and AI tools to generate schema, redirects and structured data for Wix
- SpeakableSpecification schema for voice assistants on Wix
- noai and noimageai robots meta tags: controlling AI content usage on Wix
- NLWeb protocol: making your Wix site queryable by AI agents
- Model Context Protocol: your Wix site as an MCP server
- Wix AI-generated structured data for blog posts: automatic schema markup
- Wix robots meta tags deep dive: controlling exactly how Google indexes every page
- Wix INP optimisation in 2026: reducing Interaction to Next Paint below 200ms
- Core Web Vitals field data on Wix: understanding CrUX and real-user metrics
- Image structured data for Wix Forums, Groups, Bookings and Online Programs
- Scalable structured data: updating all pages of the same type in one action
Was this lesson useful?
It takes 1 minute to tell me. The course is free and I want to keep it that way, and your feedback shows me what is working and helps other people find it.
This lesson on Testing and validating schema with Google's Rich Results Test and Schema.org validator is part of Module 6: Technical SEO, Structured Data & Rich Snippets for Wix in The Most Comprehensive Complete Wix SEO Course in the World (2026 Edition). Created by Michael Andrews, a Wix Marketplace Legend Partner with 14 years of hands-on experience, 805 completed Wix SEO projects and 459 verified five-star reviews.