Why test schema markup on a live URL
Schema you wrote in your CMS is one thing. Schema that actually renders on the live page is another. Plugins fight each other, theme updates strip script tags, server-side rendering can fail to inject JSON-LD on certain page types, and CDN caching can serve stale markup for hours. A live URL test confirms what Google and AI crawlers actually see.
This schema markup tester fetches the URL the same way Googlebot does, parses every script tag with type="application/ld+json", extracts any Microdata or RDFa annotations, validates each one against schema.org and Google's documented requirements, and reports errors and warnings per schema block.
What the test actually checks
Three layers of validation. First, JSON syntax: does each schema block parse as valid JSON. A trailing comma or stray quote breaks the entire block, and Google silently ignores invalid schemas without telling you in Search Console. Second, schema.org compliance: are the @type values real types from the vocabulary, are required fields present, are types nested correctly. Third, Google rich-result eligibility: are the Google-specific recommended fields present, are values formatted the way Google expects (ISO 8601 dates, ISO 4217 currencies, valid URLs).
The third layer is where most tools stop short. schema.org might say Article only requires headline and image. Google additionally requires author, datePublished, and a publisher with a logo to qualify for Top Stories or AI Overviews. This tester flags the Google requirements explicitly so you know whether the rich result will actually show up.
Which schema types are worth testing first
Not every page needs schema, and not every schema type earns a visible result, so spend your testing time where it pays. Article, Product, Recipe, FAQPage, HowTo, Review, Event, and LocalBusiness are the types that drive the rich results most people actually want, so those are the templates to test first and to re-test after every change. A generic WebPage block on a thin page is rarely the thing moving your numbers.
Match the type to the page honestly. A blog post is an Article, a store listing is a Product, a contact page for a single location is a LocalBusiness. Forcing the wrong type onto a page, or stacking five speculative types in the hope one sticks, makes the tester noisier and gives Google mixed signals. One correct, complete schema beats three half-finished ones, and the tester makes that contrast obvious when you compare the warning counts side by side.
The most common errors we see in production
Missing @context is by far the most frequent. Without "@context": "https://schema.org" at the top of the JSON, the entire block is meaningless. Google ignores it. This usually happens when someone copies a partial example from a tutorial.
Wrong date formats follow closely. "January 15, 2026" or "01/15/2026" is not valid. Schema dates must be ISO 8601: "2026-01-15" for dates, "2026-01-15T14:30:00Z" for datetimes. Google's parsers reject anything else. Same for currency: "USD" works, "$" or "dollars" does not.
Image fields without an actual image URL are another classic. Article schema requires an image, but many sites pass an empty string or a relative path. Image must be an absolute https URL pointing to a real file with valid dimensions (Google prefers at least 1200px wide).
Why live results differ from what you pasted in your CMS
The whole point of testing a live URL rather than a pasted snippet is that the gap between the two is where bugs hide. Your CMS shows you the schema you authored, but a dozen things sit between that field and what Googlebot downloads. A caching layer might serve a version from before your last edit. A second plugin might inject its own competing Organization block. A consent banner script might wrap the page and delay the schema until after the crawler has already left.
JavaScript rendering is the subtlest trap. If your schema is added to the page by client-side JavaScript after load, this tester and Google may or may not see it depending on whether the script runs before the markup is read. Server-rendered or statically injected JSON-LD is always safer. When the live test shows fewer blocks than your CMS promised, a render-timing problem is the first thing to suspect.
This is also why a passing result on a staging URL does not guarantee a passing result in production. Different cache, different plugins, different environment variables. Always test the canonical public URL a real searcher would land on, not a preview link or an admin view that bypasses the front-end stack.
JSON-LD versus Microdata versus RDFa in your test results
This tester reports all three formats but treats JSON-LD as primary because that is what Google recommends. If you have both Microdata and JSON-LD on the same page (common with WordPress sites running overlapping plugins), Google may pick whichever it parses first, and the two can disagree. Pick one format, remove the other, and standardize.
Microdata embedded in your visible HTML can break if your front-end framework re-renders elements (React, Vue, Svelte). The itemprop attributes might survive, or they might not, depending on hydration order. JSON-LD avoids the issue entirely because it lives in a static script tag.
Schema and AI Overviews
Schema is one of the strongest signals for AI Overviews eligibility. Pages with valid Article, FAQPage, HowTo, and ProductSchema markup appear in AI-generated answer summaries far more often than pages without. The reasoning is simple: structured data tells the AI exactly what kind of content this is, what the key claims are, and how to attribute them.
ChatGPT, Perplexity, and Claude's web tools all parse JSON-LD explicitly. Brand mentions inside schema (Organization with same-as links to your social profiles) help these systems associate the content with your brand entity, which feeds citation accuracy.
Reading errors versus warnings on each block
Each schema block on the page gets its own report card so you can tell which one is healthy and which one is dragging the page down. An error on a block means that block is invalid and will not produce its rich result, full stop. A warning means the block works but is missing a field Google recommends, which usually translates into a plainer, less clickable search appearance rather than no appearance at all.
Prioritize by business impact, not by error count. One error on your Product block, the thing that puts a price and star rating in the search result, matters far more than three warnings on a BreadcrumbList that only changes how the URL path is drawn. Fix the block that affects revenue or click-through first, then work down the list.
Watch for the case where a block validates perfectly but describes the wrong page. A common copy-paste mistake leaves the homepage Organization schema on every product page, or a template hard-codes one article's headline across a whole category. The tester confirms the syntax is valid; only you can confirm the values actually match the page they sit on.
Building schema testing into your release routine
Schema breaks silently and at the worst times, usually during an unrelated theme or plugin update that nobody connected to structured data. Because Google does not alert you when a block becomes invalid, the only reliable defense is to re-test your highest-value templates on a schedule and after every deploy that touches the front end.
Pick one representative URL per template, an article, a product, a category, a local landing page, and test each after releases. If a rich result quietly disappears, you will catch it in days instead of discovering it months later when you finally notice the traffic dip in Search Console. Treat the schema tester like a smoke test, not a one-time setup task.
Connected entities make the whole page stronger
Schema is most powerful when the blocks on a page reference each other instead of standing alone. An Article whose publisher points at your Organization, whose author points at a Person, and whose breadcrumb places it in your site hierarchy gives Google and AI engines a small connected graph rather than four disconnected facts. The tester shows you each block, and your job is to make sure they agree about the same entities rather than describing slightly different versions of them.
Consistency across blocks is where many sites quietly leak trust. The Organization name in your schema should match the name on your contact page, your social profiles, and your other pages, character for character. When the tester surfaces an Organization block, check it against the rest of your site. A brand that describes itself the same way everywhere is far easier for both search and AI systems to recognize as a single, real entity worth citing.
What to do after running the test
For each error, fix the underlying field in your CMS or template, not just on the rendered page. A patched render that does not survive a cache flush or template update is not a fix. Then run this tester again to confirm. Then run Google's official Rich Results Test for the specific result type you are targeting (Article, Product, Recipe, etc.) since Google's tester sometimes catches policy issues this one does not.
For warnings, prioritize by how visible the rich result is. Missing recommended fields on a Product schema (review aggregateRating, brand) directly reduce search-result attractiveness. Missing recommended fields on a HowTo schema may quietly disqualify the carousel display. Required fields are non-negotiable; recommended fields are where you win the click-through-rate game.