Author: Bill Ross | Reading Time: 13 minutes | Published: April 15, 2026 | Updated: April 15, 2026 Below you will find the most common errors we see when implementing schema markup and how to fix each one. If you know what you are doing, you can skip the bottom where we have a Quick Reference Table for the Errors. Common tool messages: The Rich Results Test categorizes issues as either errors or warnings. Missing a required property is always an error and will block the schema item from qualifying for rich results. Google’s required properties vary by schema type, and it is a short list relative to what schema.org documents as available. For a Why does this happen? How to fix it: Common tool messages: JSON-LD must be valid JSON. A trailing comma after the last property in an object, a missing closing bracket, an unescaped quotation mark inside a string value, or a property name that is missing its quotes will break the entire block. When the parser cannot read the structure, Google reports a syntax error, and the entire schema block is treated as unparseable, not just the line with the problem. Why does this happen? How to fix it: Common tool messages: Google requires dates in ISO 8601 format. For schema types like Why does this happen? How to fix it: Common tool messages: Google’s spam policies explicitly prohibit structured data that does not reflect the actual content a user sees on the page. If your Why does this happen? How to fix it: Common tool messages: The Rich Results Test accesses your page as Google-InspectionTool, which respects your Why does this happen? How to fix it: Common tool messages: The Rich Results Test typically surfaces only one block of each type, masking the conflict. In Google Search Console you may see When two or more schema blocks on the same page declare the same type with different values, Google has to decide which one to trust, and in many cases, it ignores both. This happens most often when a site has multiple active schema sources: a theme that outputs schema, a dedicated schema plugin, and a page builder that adds its own markup. All three may output a Why does this happen? How to fix it: Common tool messages: Google supports a defined subset of schema.org types for rich results. If you implement a type that Google does not include in its supported list, the Rich Results Test will not flag it as an error in the traditional sense but will return “no items detected.” This is not the same as a validation failure. The schema may be perfectly valid JSON-LD and perfectly valid according to schema.org, but Google simply does not use it to generate rich results. The Why does this happen? How to fix it: Common tool messages: Certain schema properties expect fully qualified URLs, meaning they must include the protocol and domain. The Why does this happen? How to fix it: Common tool messages: None — the Rich Results Test renders JavaScript fully and will show the schema as valid. The signal surfaces elsewhere: Google Search Console’s Enhancements report shows zero valid items, or the URL Inspection tool’s “View Crawled Page” output contains no schema blocks despite the test passing. This is the most consequential mismatch between the Rich Results Test and real-world behavior. The Rich Results Test renders the page fully, including JavaScript, before checking for structured data. Googlebot’s crawling and indexing pipeline is more complex. If your schema is injected by a JavaScript file that loads asynchronously after the initial HTML response, there is a genuine risk that Googlebot indexes the page before the schema injection completes. The test shows the schema. The indexed version does not contain it. Why does this happen? How to fix it: This distinction between test validation and crawl indexing is directly related to how you approach enterprise SEO at scale. The gap between what tools report and what Google actually processes is one of the most common sources of unexplained ranking issues we investigate in technical audits. Common tool messages: A valid result in the Rich Results Test means Google’s tool found structurally sound schema on the page. It does not mean Google will display a rich result. Google’s decision to show a rich result depends on additional factors: whether the page meets content quality standards, whether the structured data has been indexed on the live crawled version (not just the test), whether the page has enough authority for certain schema types, and whether the query context is one where Google deems a rich result relevant to users. The test confirms eligibility, not appearance. Why does this happen? How to fix it: Schema errors rarely exist in isolation. The Rich Results Test is the right starting point, but cross-referencing its output with Search Console’s Enhancements report and the URL Inspection tool is what separates a genuine fix from a surface-level patch. The Emulent team works through exactly this kind of layered technical SEO diagnosis as part of our broader enterprise SEO engagements. If your schema markup is generating errors you cannot trace, or if your structured data is passing the test but not producing rich results in search, we can help identify where the breakdown is happening. See how we have helped brands resolve technical SEO issues, or reach out to the Emulent team directly to discuss your structured data strategy. Fix The Common Schema Errors in Google’s Rich Results Test

Error 1: Missing Required Properties
Missing field "name" (required) / The property "author" is required / Either "offers", "review", or "aggregateRating" should be specifiedProduct, Google requires name and at least one of: review, aggregateRating, or offers. For an Article, Google requires headline, image, datePublished, and author.
Error 2: JSON-LD Syntax Errors
Syntax error: Unknown: Unexpected token / Syntax errors in items of unknown type / Unparsable structured data
wpautop filter converts straight quotes to curly quotes, and certain content sanitization hooks convert characters to HTML entities inside <script> blocks. A double quote inside a JSON string value becomes", which is valid HTML but breaks the JSON parser entirely.
" or apostrophes to ' inside a JSON-LD block, the JSON will break. This is common in WordPress when schema is stored in post meta and rendered through the_content filters.JSON_UNESCAPED_SLASHES flag in PHP if you are generating the schema programmatically.Error 3: Incorrect Date and Time Formats
Invalid datetime value for "datePublished" / Datetime property "datePublished" is missing a timezone / Invalid value in property "startDate"Event, BlogPosting, and VideoObject, the startDate, datePublished, and uploadDate properties must follow this standard. A date formatted as “January 15, 2025” or “01/15/2025” will trigger a validation error. The accepted format is 2025-01-15 for date-only values, or 2025-01-15T09:00:00-05:00 when including time and timezone offset.
get_the_date() return human-readable strings by default. When a schema plugin reads from those same sources without explicitly converting the value to ISO 8601, the date passes into the schema block in whatever format WordPress is configured to display, which is almost never the format Google requires.
endDate for Event schema. If the event duration is unknown, use a logical estimate rather than omitting the property entirely, which triggers a warning that can reduce display quality.Error 4: Schema Content Does Not Match Visible Page Content
The value of "ratingValue" must be between 1 and 5 / The value in field "price" does not match what is shown to users — Note: the Rich Results Test does not catch content mismatch automatically. This category of violation is flagged in Google Search Console’s Manual Actions report or through manual review, not via structural validation.AggregateRating schema declares a 4.8-star average but no reviews are visible on the page, or if your Product schema lists a price that does not appear in the page copy, Google can apply a manual action that removes all rich result eligibility for that URL. The Rich Results Test does not catch this automatically. It validates structure, not accuracy.
AggregateRating schema, but the individual reviews load on the page via JavaScript. Google’s manual reviewers see a rating in the markup and no visible reviews on the page, which qualifies as a mismatch even if the technical implementation is otherwise correct.
Error 5: Page Is Blocked from Crawling
Couldn't fetch the page / Blocked by robots.txt / Server connection error: server was unreachable / Page fetch failedrobots.txt file. If the URL you are testing is blocked in robots.txt, or if the page requires a login to access, the tool will report a crawl error rather than a schema error. In these cases, the schema is not the problem. The problem is access. This error also appears when a staging environment is tested, while it blocks all crawlers.
Disallow: / rule in robots.txt or use HTTP authentication at the server level. Both block the tool the same way they block Googlebot, so no schema validation is possible via the URL input.robots.txt. When a blocked resource is required for schema injection, the tool loads an incomplete version of the page where the schema block never runs.
robots.txt. If the schema is injected by a blocked JavaScript file, the tool will not see it even if the HTML loads correctly.Error 6: Duplicate Schema Blocks Causing Conflicting Declarations
Duplicate items detected or notice the same schema type appearing multiple times with inconsistent property values across the Enhancements report.LocalBusiness or WebPage block, each with slightly different property values. The Rich Results Test may only surface one of them, giving the false impression that the conflict does not exist.
WebPage or Organization block by default. A plugin like Rank Math, Yoast SEO, or Schema Pro adds its own block for the same type. Neither checks whether the other is already active, so both run simultaneously with potentially different property values.functions.php: Over time, the schema output added directly to the theme’s functions file during a previous development sprint does not disappear when a new plugin is installed. It runs alongside whatever else is active, and no plugin UI surface makes it visible unless someone checks the raw page source.
application/ld+json: Count how many schema blocks exist. More than one block of the same type on a single page is a signal to investigate whether they are consolidating correctly or conflicting.Organization blocks with different name values are worse than running none.Error 7: Unsupported or Deprecated Schema Type
No items detected / This page is not eligible for rich results / This rich result type is no longer supportedHowTo schema type is one example that Google has deprioritized for most sites after limiting eligibility to certain categories.
FAQPage type was broadly supported through mid-2023, then restricted to government and health-focused sites. HowTo was progressively deprioritized and is no longer reliably awarded rich results on most sites. Sites that implemented either type before those policy changes have no automatic signal that the type stopped working.
Error 8: Relative URLs Where Absolute URLs Are Required
The value of the "url" field must be a valid URL / Invalid URL in property "image" / The value in field "logo" must be a valid URL starting with "http://" or "https://"image, url, logo, and sameAs properties are the most common places where this error appears. Providing /images/product-photo.jpg instead of https://www.example.com/images/product-photo.jpg will trigger a validation error because a relative URL is not a valid URL type in the schema. The page might display correctly in a browser because browsers resolve relative paths automatically. The schema validator does not.
get_the_post_thumbnail_url() or get_permalink() usually return absolute URLs, but in multisite environments, development environments with different base URLs, or when a page caching layer serves a version built under a different domain, they can return paths beginning with / instead of https://./ is simply not a valid URL, and the property fails validation regardless of whether the referenced file actually exists and loads.
home_url() function to prepend the domain to any image or URL value when building schema programmatically. If you use a plugin, confirm it is outputting absolute URLs by checking the rendered source code.image properties on Article and Product schema: Google requires the image URL to resolve to an actual, accessible image file. A broken image URL or a URL that returns a redirect chain will cause the property to fail even if the URL format is correct.Error 9: JavaScript-Rendered Schema That Passes the Test but Fails During Actual Crawls
DOMContentLoaded, window.onload, or custom builder-specific triggers fire after the initial HTML response is delivered. The schema block does not exist in the raw HTML — it only appears after JavaScript runs.
Error 10: Passing the Rich Results Test but Not Appearing in Search
Page is eligible for rich results — the test passes, but no enhanced listing appears in search. In Search Console, the Enhancements report may show valid items with zero impressions in the Performance report, or the URL Inspection tool confirms indexing, but the Search Appearance filter shows no rich result activity.
Quick Reference: Schema Error Lookup Table
Error
Tool Message
What It Means
How to Fix It
Missing required properties
Missing field "name" (required) / The property "author" is requiredA property Google needs to generate a rich result is absent, or outputs an empty string
Cross-reference Google’s required properties list (not schema.org) and confirm your CMS is outputting a non-empty value for each
JSON-LD syntax errors
Syntax error: Unknown: Unexpected token / Unparsable structured dataThe JSON block cannot be parsed; the entire block is ignored, not just the line with the error
Validate the raw JSON block at JSONLint.com; check for trailing commas, HTML entities inside strings, and escaped slashes
Incorrect date/time format
Invalid datetime value for "datePublished" / Datetime property "datePublished" is missing a timezoneThe date value is not in ISO 8601 format, or the timezone offset is absent
Use
YYYY-MM-DD for dates or YYYY-MM-DDTHH:MM:SS±HH:MM for datetime; confirm your schema plugin converts dates before output
Content-to-markup mismatch
No tool error — flagged via Search Console Manual Actions report or a Google manual review
Schema declares values (prices, ratings, dates) that are not visible to users on the page; it qualifies as a spam policy violation
Audit every claim-making property and confirm a matching visible value exists on the page; check dynamically priced pages for caching lag
Page blocked from crawling
Couldn't fetch the page / Blocked by robots.txt / Server connection errorThe tool cannot access the page as an anonymous crawler; the schema is not the problem — access is
Check robots.txt and login requirements; test staging URLs using the Code tab instead of the URL tab
Duplicate schema blocks
The tool shows only one block, masking the conflict; Search Console may show
Duplicate items detectedMultiple schema sources (theme, plugin, page builder) are outputting the same type with different values; Google may ignore all of them
Search the page source for
application/ld+json; disable schema output from all but one source; validate with validator.schema.org to see all blocks
Unsupported or deprecated schema type
No items detected / This page is not eligible for rich resultsThe schema type is valid JSON-LD, but is not on Google’s current supported rich result types list
Check Google’s supported rich result types page; do not delete valid schema — keep it for other search engines and AI parsers
Relative URLs where absolute URLs are required
The value of the "url" field must be a valid URL / Invalid URL in property "image"A URL property contains a root-relative path (
/image.jpg) rather than a fully qualified URL; JSON-LD parsers do not resolve relative pathsPrepend the full domain to all URL values; in WordPress, use
home_url(); confirm image URLs resolve to accessible files and are not redirect chains
JavaScript-rendered schema
No tool error — test passes; signal appears in Search Console Enhancements (zero valid items) or URL Inspection “View Crawled Page” output
Schema is injected by JavaScript after page load; the test renders JS fully, but Googlebot may index the page before the JS render completes
Move schema output to the server-rendered HTML; use URL Inspection to view the crawled page version and confirm schema is present
Passes the test, but no rich results in search
Page is eligible for rich results — tool passes; Search Console Enhancements shows valid items, but the Performance report shows zero rich result impressionsTechnical eligibility is confirmed, but Google is not displaying the rich result; content quality, authority, or algorithmic suppression is the likely cause
Filter Search Console Performance report by Search Appearance; check Manual Actions report; review content quality and E-E-A-T signals for the affected pages
Conclusion
- Our Story
- What We Do
Website Optimization
What's Your Situation
- What We’ve Done
- Resource Center
- Let’s Talk!