Most Common Schema Markup Mistakes (And How to Fix Them)

Adding schema markup feels like a solved problem — paste a JSON-LD block into the head of the page and move on. Then Search Console shows zero rich results, or worse, a spike of "Invalid" items in the Enhancements report, and nobody can tell why the page that used to get star ratings suddenly doesn't.

Nearly every case traces back to a handful of repeat offenders: mistakes that are easy to make, hard to notice, and just as easy to fix once you know where to look. This guide walks through the ones that show up most often, why each one breaks things, and exactly how to catch them before they cost you a rich result.

Quick Answer

The most common schema markup mistakes are marking up content that isn't visible on the page, choosing a schema type that misrepresents the content, leaving stale or copy-pasted fields from another site, publishing malformed JSON-LD that fails to parse, and running duplicate or conflicting schema blocks on the same page. Each one is easy to catch with Google's Rich Results Test before it costs you a rich result.

What counts as a schema markup mistake?

A schema mistake isn't just a typo — it's any gap between what your JSON-LD claims and what Google can actually verify or trust about the page. Mistakes generally fall into a few buckets:

Google's validators catch some of these automatically. Others, like a type that technically parses but doesn't reflect the content, require a human judgment call — which is exactly why they slip through so often.

Why these mistakes matter

A broken schema block rarely crashes the page for a visitor, which is precisely why these mistakes are so easy to leave unfixed:

📊 Quick stat A single malformed character is enough to invalidate an entire JSON-LD block. Without a periodic check, a broken schema block can sit unnoticed for months, quietly producing zero rich results the whole time.

Step-by-step: auditing your schema for mistakes

  1. Pull every URL that should have schema markup. Start from your sitemap or CMS templates so you have a complete list of pages that are supposed to carry structured data, not just the ones you remember adding it to.
  2. Run each template through the Rich Results Test. Check one representative page per template rather than every single URL — most mistakes live in the template, not the individual page.
  3. Cross-check with the Schema Markup Validator. The Rich Results Test only reports what affects eligibility; the Validator gives a stricter read of the raw JSON-LD, surfacing issues that wouldn't otherwise show up.
  4. Compare every claimed field against the visible page. For each property in the schema — rating, price, author, date — confirm a visitor can actually see that exact value somewhere on the page.
  5. Check for duplicate or conflicting blocks. Search the page source for more than one script tag of type application/ld+json and confirm they don't describe the same entity with different values.
  6. Fix at the template level. Correct the source template or CMS field so the fix applies everywhere the mistake was repeated, instead of patching one URL at a time.
  7. Set a recurring check. Re-run validation after any CMS, plugin, or theme update, and periodically otherwise, since schema breaks silently and doesn't announce itself.
Try the Rebrixe Schema Generator — free Generate valid, error-free JSON-LD for Articles, Products, FAQs, and more.
Generate Schema Markup →

The most common schema markup mistakes

1. Marking up content that isn't visible on the page

The single most flagged violation in Google's structured data guidelines: a rating, price, or review count sitting in the JSON-LD that a real visitor can't find anywhere on the page. If it's not visible, it shouldn't be in the schema.

2. Choosing a schema type that misrepresents the content

Labeling a blog post as Product, or an opinion piece as NewsArticle without meeting the criteria, mismatches the declared type against the real content. Validators often miss this one entirely, since the JSON-LD can be perfectly well-formed and still be the wrong type.

3. Copy-pasting a competitor's or template's schema without updating every field

Reusing someone else's JSON-LD block and forgetting to swap out the name, URL, image, or author fields leaves your page technically pointing at someone else's data — invisible to visitors, but immediately obvious to Google.

4. Publishing malformed JSON-LD

A missing comma, an unescaped quotation mark, or a mismatched bracket is enough to break parsing for the entire block, not just the one field. The rest of an otherwise-perfect schema gets discarded along with the typo.

5. Running duplicate or conflicting schema on one page

Two script blocks describing the same Organization or Product with different values create ambiguity that search engines resolve unpredictably — sometimes by picking one arbitrarily, sometimes by discarding both.

6. Leaving required properties out

Each schema type has properties Google treats as required for a rich result to appear, and others that are merely recommended. Omitting a required property, like image for Recipe, quietly disqualifies the page even though the JSON-LD still validates as syntactically correct.

💡 Pro tip After any fix, don't just eyeball the code — rerun the Rich Results Test on the live URL. A schema block can look correct and still fail on a detail that's only obvious once Google actually parses it.

Real-world examples

How these mistakes typically show up in practice, and what tends to happen once they're left unaddressed:

E-commerce listing
Invisible rating data
Rich result disabled
Product schema shows a 4.8 rating that never appears on the page itself, triggering a guideline violation.
Blog post
Wrong schema type
No eligibility
A roundup article marked as Product instead of Article never qualifies for the result type it was aiming for.
CMS-wide template
Broken JSON-LD syntax
Site-wide invalid
One unescaped quote in a shared template invalidates the schema block across every page using it.
Homepage
Duplicate Organization schema
Ambiguous entity
Two plugins each inject their own Organization block with different names, and search engines pick one.

The common thread: none of these mistakes crash the page for a visitor, which is exactly why they survive so long without anyone noticing.

Mistake severity compared

Not every schema mistake carries the same risk. A side-by-side look at how severe each common issue tends to be, and how quickly it's usually caught.

Mistake Typical impact How it's caught Severity
Invisible content in schema Rich result disabled; possible guideline violation Rich Results Test, manual review High
Malformed JSON-LD Entire block fails to parse Rich Results Test, Validator High
Wrong schema type Page never becomes eligible for the intended result Manual review; validators often miss it Medium
Duplicate or conflicting blocks Ambiguous entity data, unpredictable resolution Manual page-source review Medium
Missing recommended (non-required) fields Less prominent rich result, not disabled Rich Results Test warnings Low

Generate mistake-free schema markup — free

The Rebrixe Schema Generator builds clean, validated JSON-LD for the most common schema types — Article, Product, FAQPage, Recipe, and more — so the syntax and required-field mistakes above never happen in the first place.

Free Schema Markup Generator Pick a type, fill in the fields, copy the JSON-LD.
Open Schema Generator →

Frequently asked questions

Marking up content that isn't actually visible on the page — like a rating, price, or review count that exists in the schema but nowhere in the HTML a visitor sees. It's the mistake Google's guidelines call out most explicitly, and the one most likely to get rich results disabled.
Usually the consequence is narrower: Google disables rich results for the affected pages rather than penalizing the whole domain. Repeated or deliberate violations, like systematically faking review data, can escalate to manual action, but an isolated typo or missing field typically just means no rich result, not a penalty.
Valid syntax only proves the JSON-LD is readable — it doesn't guarantee Google will use it. Google may skip a rich result if the content doesn't fully meet policy (for example, missing required fields for that result type), if the page is thin or low-quality, or simply because eligibility doesn't mean guaranteed display.
Yes. Having two schema blocks describe the same entity with different values — two different Organization names, for instance — creates ambiguity. Search engines may pick one arbitrarily or discard both, so a page should have one authoritative schema block per entity.
Very often. A single malformed character can invalidate an entire JSON-LD block, and unless someone actively checks Search Console's Enhancements reports or runs the Rich Results Test, that error can sit silently for months with no rich results ever appearing.
Only as a structural reference, never as a direct copy-paste. Reused JSON-LD frequently carries over the original site's name, URL, image, or author fields, which quietly points your schema at someone else's data instead of your own.
Whenever the template, CMS, or theme changes, and otherwise on a periodic basis such as monthly. CMS updates and plugin changes are a common, easy-to-miss source of newly broken structured data.
Paste the live URL into Google's Rich Results Test for a quick eligibility and error check, then cross-reference with the Schema Markup Validator for a stricter look at the raw JSON-LD, and check Search Console's Enhancements reports for site-wide trends over time.

Stop schema mistakes before they ship

The Rebrixe Schema Generator builds clean, valid JSON-LD for the most common schema types — no account, no watermark, just a ready-to-paste code block.

Launch the Schema Generator →
← Back to blogs