How to Fix Broken Schema Markup: A Step-by-Step Troubleshooting Guide

2026-04-23 · Abby SEO

Schema markup errors can quietly tank your search visibility without triggering a single red flag in Google Search Console — until your rich results disappear and you're left wondering what went wrong. If you've run a structured data test and seen a wall of red errors, don't panic. Learning how to fix broken schema markup is more straightforward than it looks, and you don't need to be a developer to work through it. This guide walks you through the exact steps to diagnose, fix, and verify your schema so your listings can show up the way Google intended.

What Is Schema Markup and Why Does It Break?

Schema markup is structured data you add to your website's HTML that helps search engines understand your content — things like your business hours, product prices, reviews, FAQs, and events. When it works, Google can display rich results: star ratings, price ranges, FAQs directly in the search results.

It breaks for a few common reasons:

  • Syntax errors in your JSON-LD code (missing commas, unclosed brackets)
  • Missing required properties that Google mandates for a specific schema type
  • Outdated schema types that no longer match Google's current guidelines
  • Plugin conflicts on WordPress or other CMS platforms that generate duplicate or malformed markup
  • Template changes that accidentally strip or duplicate schema blocks

The good news? Most of these are fixable in under an hour once you know where to look.

Step 1: Identify the Errors with Google's Rich Results Test

Before you touch any code, you need a clear picture of what's broken.

  1. Go to Google's Rich Results Test
  2. Enter your page URL or paste your HTML directly
  3. Review the output — errors show in red, warnings in orange

Pay attention to the difference between errors (these will prevent rich results) and warnings (these are suggestions, not blockers).

You can also check Google Search Console under Enhancements in the left sidebar. This gives you a site-wide view of schema errors across all pages — much more useful when the problem is widespread.

Also Use Schema.org's Validator

Google's tool focuses on rich result eligibility, but validator.schema.org checks whether your markup is technically valid according to the schema.org specification. Run both. They catch different things.

Step 2: Read the Error Messages (They're More Helpful Than You Think)

Most schema error messages point directly to the problem. Here's a quick translation guide:

Error Message What It Means
"Missing field 'name'" Your schema block is missing a required property
"Invalid value for property 'priceValidUntil'" The date format is wrong (should be YYYY-MM-DD)
"Either 'author' or 'publisher' should be specified" You're missing a required field for Article schema
"Unexpected token" There's a syntax error — usually a missing comma or bracket

Once you identify the error type, you can go fix it directly.

Step 3: Fix Common Schema Errors

Fixing Syntax Errors in JSON-LD

JSON-LD is the most common schema format and the one Google recommends. It lives in a <script> tag in your page's <head>. A single missing comma or bracket breaks the entire block.

Here's an example of broken LocalBusiness schema:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Abby's Bakery"
  "telephone": "555-123-4567",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St"
  }
}
</script>

Spot the problem? There's a missing comma after "Abby's Bakery". Here's the fixed version:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Abby's Bakery",
  "telephone": "555-123-4567",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Chicago",
    "addressRegion": "IL",
    "postalCode": "60601",
    "addressCountry": "US"
  }
}
</script>

Pro tip: Paste your JSON-LD into jsonlint.com before running it through Google's tester. It catches syntax errors instantly and highlights exactly which line is broken.

Adding Missing Required Properties

Different schema types have different required fields. Google is strict about this. For Product schema, for example, you need at minimum: name, and either offers, review, or aggregateRating.

For LocalBusiness, recommended properties include:

  • name
  • address (with full PostalAddress)
  • telephone
  • url
  • openingHours

Check schema.org for the full property list for your schema type, then cross-reference with Google's developer docs for which ones are required vs. recommended for rich results specifically.

Fixing Date Format Errors

This trips up a lot of people. Google requires dates in ISO 8601 format: YYYY-MM-DD.

❌ Wrong: "priceValidUntil": "December 31, 2025"
✅ Right: "priceValidUntil": "2025-12-31"

Same rule applies to event dates, article publish dates, and job posting expiry dates.

Step 4: Fix Plugin-Generated Schema on WordPress

If you're using a plugin like Yoast SEO, RankMath, or Schema Pro, the markup is generated automatically — which means you may not have direct access to the code. Here's how to handle it:

  1. Check for duplicate schema — Use "View Page Source" (Ctrl+U) and search for application/ld+json. If you see multiple blocks with conflicting data, two plugins are fighting each other. Disable schema output in one of them.
  2. Use the plugin's built-in schema settings — Most SEO plugins have dedicated schema configuration sections. Fill them out completely; missing plugin fields = missing schema properties.
  3. Override with a custom block — If the plugin output is too limited, disable its schema feature and add your own JSON-LD via a custom HTML block or your theme's functions.php.

Step 5: Re-Test and Request Indexing

Once you've made your fixes:

  1. Re-run the page through Google's Rich Results Test to confirm errors are gone
  2. Go to Google Search Console → URL Inspection Tool → enter your page URL
  3. Click Request Indexing so Google re-crawls the page with the fixed markup

Rich results typically take a few days to a couple of weeks to appear after fixing. Check your Search Console Enhancements report weekly to track improvement.

Don't Guess — Know Exactly What's Broken

Knowing how to fix broken schema markup is one thing, but finding every broken page across your entire site is another. Small errors hiding on product pages, blog posts, or location pages can add up fast — and you won't catch them with manual spot checks.

That's exactly why we built Abby. She sniffs out every schema error, missing property, and structured data conflict across your site, then tells you exactly what to fix.

Run a free SEO scan at abbyseo.com and get your full remediation guide for just $8.99. No jargon, no guesswork — just a clear fix list you can hand to your developer or tackle yourself.

Ready to fix your SEO?

Scan your site for free and get a remediation guide for $8.99.

Scan Now