Invalid JSON-LD: present but ignored by Google and AI

In brief

An invalid JSON-LD alert means your structured data is present but malformed: Google and AI ignore it, so no benefit despite code that looks in place. Fix the syntax and escape dynamic values.

WarningP2 — CTR / SERP

What is it?

The page's JSON-LD is present but invalid (syntax error).

Why it hurts SEO and AI

Invalid JSON is simply ignored by Google and AI systems: all the benefits of structured data disappear while the code appears to be in place. The error often comes from an unescaped value injected dynamically.

When it is NOT a problem

  • The broken block comes from a third-party widget or plugin you expect no rich result from.
  • It is a markup type not eligible for rich results, so its invalidity has no SERP stake.
  • You just fixed the syntax and are waiting for the next crawl to confirm the error is gone.
Before
<script type="application/ld+json">
{
  "@type": "Product",
  "name": "Trail running shoe",
}
</script>
After
<script type="application/ld+json">
{
  "@type": "Product",
  "name": "Trail running shoe"
}
</script>

Here a trailing comma makes the whole block invalid; unescaped quotes in a dynamic value are the other common cause.

How to fix it

  1. Paste the JSON-LD into Google's Rich Results Test or the Schema.org validator to locate the error.
  2. Fix the faulty syntax: trailing comma, unclosed quote, or an unescaped character.
  3. Always escape dynamic injected values (titles, descriptions) that contain quotes.
  4. Re-crawl to confirm the markup is now valid and used.

This scan checks the signals AI reads: structured data, llms.txt, author

Is this issue on your site?

Is your JSON-LD present but silently rejected? Enter a URL: Seogard parses your structured data and spots the invalid ones. Free, no credit card.

  • No credit card
  • Result in ~30 s

What you get back

Your structured data is actually consumed again, not just present.

Seogard catches this regression automatically — through its GEO monitoring.

Frequently asked questions

Why does my JSON-LD produce no rich result even though it is there?

A single syntax error makes the whole block invalid: Google and AI ignore it entirely, even though the code appears in the page.

Where do JSON-LD errors most often come from?

From an unescaped dynamic value: a title or description containing a quote or apostrophe breaks the structure of the generated JSON.

Related rules

Updated July 10, 2026