Structured Data Validation: Fixing Rich Result Errors
By Kavi, SEO Consultant · Last updated: 3 September 2026
Structured data is code that describes your page’s content to search engines in a machine-readable format. JSON-LD is Google’s recommended format. Valid structured data makes a page eligible for rich results, but eligibility is not a guarantee, and structured data is not a ranking factor. Markup that describes content not visible on the page violates Google’s guidelines.
What is structured data validation?
Structured data validation is checking that your markup parses correctly, satisfies the required properties for the rich result type you want, and accurately describes what is actually on the page. There are three distinct standards to satisfy, and passing one does not mean passing the others:
- Syntactic validity. Does it parse as valid JSON-LD?
- Schema.org validity. Are the types and properties real and used correctly?
- Google’s eligibility requirements. Are the required properties for that specific rich result present?
Most “my schema is valid but I get no rich results” cases come from passing the first two and failing the third, or from being eligible without being selected. That distinction matters more than any other point in this technical SEO topic.
Quick facts
| Item | Detail |
|---|---|
| Recommended format | JSON-LD in a script tag |
| Alternatives | Microdata, RDFa (supported, not recommended) |
| Is it a ranking factor? | No. It affects appearance and eligibility. |
| Guarantees rich results? | No. Eligibility only. |
| Must match visible content? | Yes. Marking up hidden content violates guidelines. |
| Validation tools | Rich Results Test, Schema Markup Validator, Search Console |
| Errors vs warnings | Errors block eligibility; warnings do not |
Why does structured data matter?
Two reasons, one traditional and one newer:
- Rich results. Review stars, recipe cards, event listings, product prices, breadcrumbs. These make a listing larger and more informative, which tends to improve click-through even at the same position.
- Machine comprehension. Explicit markup states what would otherwise have to be inferred: this is an article, this is its author, this is when it was updated. That supports entity understanding and, plausibly, extraction by AI answer engines. (Reasonable Inference for the AI part; Google has not documented structured data as a factor in AI Overview citation selection.)
What structured data will not do: it will not raise your rankings. Google has been consistent that it is not a ranking factor. It changes how an already-ranking page appears. Treat it as presentation and comprehension, not as leverage, and you will spend your effort in the right places.
Rich result types and their status
| Type | Status | Notes |
|---|---|---|
| Breadcrumb | Active | Replaces the raw URL in results; easy win |
| Product | Active | Price, availability, review stars |
| Review snippet | Active | Self-serving reviews of your own business are not eligible |
| Recipe | Active | Strong visual treatment |
| Event | Active | Dates and venue in results |
| Video | Active | Thumbnails and key moments |
| Article | Active | No distinct rich result; aids comprehension |
| Organization / LocalBusiness | Active | Supports knowledge panel and local results |
| FAQPage | Restricted since 2023 | Visible rich results limited to government and health sites |
| HowTo | Deprecated | Rich results retired; do not invest here |
The FAQ change catches people out. FAQPage markup is still valid and still worth adding for machine readability, but for most sites it no longer produces a visible SERP feature. Any guide promising FAQ rich results for a general business site is out of date.
How to validate structured data
Step 1: Rich Results Test
This is the authoritative check for Google eligibility, because it reports against Google’s own requirements rather than the broader Schema.org specification. Test the live URL rather than pasted code where possible, so you catch problems caused by rendering.
Step 2: Schema Markup Validator
Use this for general Schema.org correctness, including types Google does not support. Useful when your markup serves purposes beyond Google.
Step 3: Search Console enhancement reports
These show errors Google encountered across your whole site, at scale, on the live version. A single-URL test tells you about one page; the enhancement reports tell you which template is broken. Start here when a problem appears sitewide. See Search Console setup.
Step 4: Check the rendered output
If schema is injected by JavaScript, verify it appears in the rendered HTML using URL Inspection. Server-rendered JSON-LD is more reliable; see JavaScript SEO and rendering.
Common errors and what they mean
| Error | Cause | Fix |
|---|---|---|
| Missing field “name” | Required property absent | Add it; required fields are non-negotiable |
| Missing field “image” | No image, or an unreachable URL | Provide an absolute, crawlable image URL |
| Invalid value in field “datePublished” | Wrong date format | Use ISO 8601 |
| Invalid object type for field “author” | Plain string instead of a Person or Organization object | Use a nested object with a type |
| The property X is not recognised | Typo or wrong type for the property | Check the correct spelling on schema.org |
| Either “offers”, “review”, or “aggregateRating” required | Product markup with none of the three | Add at least one |
| Rating is missing required best/worst | Incomplete rating object | Add bestRating and worstRating |
| Content mismatch | Markup describes content not on the page | Remove it; this is a guidelines violation |
| Duplicate markup | Theme and plugin both output schema | Disable one source |
| Parsing error | Malformed JSON, often a trailing comma | Validate the JSON syntax |
Errors versus warnings
Errors block rich result eligibility and must be fixed. Warnings flag recommended properties that would improve the result if present. Chasing every warning to zero is rarely a good use of time; fix errors, then add the warnings that materially improve the listing.
Structured data on WordPress
Rank Math and Yoast both generate schema automatically, typically Article, BreadcrumbList, WebPage, Organization, and WebSite. This is usually sufficient, and the most common WordPress schema problem is not absence but duplication: the theme outputs schema, the SEO plugin outputs schema, and a third plugin adds more. Multiple conflicting Article objects on one page confuse parsers.
Check your page source for how many application/ld+json blocks it contains. If a theme is emitting its own, disable that feature and let one source own it.
Best practices
- Use JSON-LD. It is Google’s recommendation and it keeps markup separate from your HTML.
- Only mark up visible content. Describing content users cannot see violates Google’s guidelines and risks a structured data manual action.
- Be accurate. Fake review counts and inflated ratings are a spam issue, not an optimisation.
- Include all required properties for the type you want.
- Use absolute URLs for images and links inside markup.
- Nest objects properly rather than flattening everything into strings.
- Keep one source of truth for schema generation.
- Do not mark up self-serving reviews of your own business on your own site; these are not eligible.
- Re-validate after template changes, because schema breaks silently.
Decision guide
- Blog or content site: Article plus BreadcrumbList plus Organization. Your SEO plugin already does this.
- Ecommerce: Product with offers is the priority; it produces the most visible result.
- Local business: LocalBusiness with address, hours, and geo coordinates.
- Recipes, events, or video: add the specific type; the visual payoff is significant.
- Considering FAQ markup: add it for machine readability, but expect no visible rich result unless you are a government or health site.
- Considering HowTo markup: do not. It is deprecated.
Validation checklist
- JSON-LD format used
- Rich Results Test passes with zero errors
- All required properties present for each type
- Markup describes only visible page content
- Absolute URLs for all images and links in markup
- Dates in ISO 8601 format
- Author as a nested Person or Organization object
- Exactly one source generating schema per type
- Schema present in the rendered HTML, not JavaScript-only
- Search Console enhancement reports free of errors
- Re-validated after any theme or template change
- No HowTo markup; FAQ expectations calibrated
Frequently asked questions
Is structured data a ranking factor?
No. Google has stated consistently that it is not. It affects eligibility for rich results and helps machines understand your content, which can improve click-through rate at the same ranking position.
Why do I have valid schema but no rich results?
Eligibility is not selection. Google decides per query whether to show a rich result, and factors in site quality and query type. Also confirm the type still produces a visible result, since FAQ and HowTo no longer do for most sites.
Can I mark up content that is hidden on the page?
No. Structured data must describe content visible to users. Marking up hidden content violates Google’s guidelines and can result in a manual action against your structured data.
Should I use JSON-LD, Microdata, or RDFa?
JSON-LD. All three are supported, but JSON-LD is Google’s stated preference and is far easier to maintain because it does not interleave with your HTML.
Is FAQ schema still worth adding?
For machine readability and possible AI extraction, yes. For visible rich results, no, unless you are a government or health site. Add it, but do not expect a SERP change.
What happens if my structured data has errors?
The affected pages lose rich result eligibility. Errors do not cause a ranking penalty unless Google issues a manual action for deliberately misleading markup.
Do I need schema on every page?
Article or WebPage plus BreadcrumbList across the site is sensible. Specific types belong only on the pages they describe. Adding Product markup to a blog post is inaccurate and will be flagged.
Key takeaways
- Structured data affects appearance and eligibility, not rankings.
- Three standards to satisfy: JSON validity, Schema.org correctness, Google requirements.
- Errors block eligibility; warnings do not.
- Markup must describe content that is actually visible on the page.
- FAQ rich results are restricted; HowTo is deprecated.
- Duplicate schema from theme and plugin is the top WordPress problem.
- Re-validate after every template change, because schema breaks silently.
Conclusion
Get the required properties right, keep one source generating your markup, and make sure the schema describes what a visitor actually sees. Then check the Search Console enhancement reports rather than testing pages one at a time, because structured data problems are almost always template problems wearing a page-level disguise.
Related articles
- Technical SEO guide
- Schema markup guide
- How to do a technical SEO audit
- JavaScript SEO and rendering
- Entity SEO and the knowledge graph