/ Learning Hub / JSON-LD Fixes

How to Fix Every JSON-LD Error

The JSON Checker validates the JSON-LD structured data in your page <head>. JSON-LD powers rich snippets, knowledge panels and AI-engine citation. A trailing comma can invalidate the entire block — silently. Google's Rich Results Test reports issues but doesn't fix them. This index covers every fix.

New here?
Start with the JSON-LD Schema Guide for the basics or the example report.

By finding type

Each finding has a specific fix. Pick yours:

⚠️ Fix JSON syntax errors LIVE
Trailing commas, single quotes instead of double, unescaped quotes inside strings, missing brackets. The fastest debug pattern: paste into a JSON validator before deploying. The CI hook that catches these pre-merge.
🏷️ Fix invalid schema.org types LIVE
@type: "BlogPost" (not a real type — should be BlogPosting), @type: "Article" when you mean NewsArticle. The full schema.org hierarchy and how to pick the most specific type.
📋 Fix missing required fields LIVE
Product requires name and offers. FAQPage requires mainEntity with at least two Question/Answer pairs. HowTo requires step. Google's required-vs-recommended matrix per schema type.
🆔 Fix duplicate or missing @id LIVE
@id must be unique and resolvable. Use it to link entities across your schema (Article author → Person entity). Common bug: every page reuses the same @id for its Organization.
⚔️ Fix multiple competing schemas LIVE
Page declares both Article and BlogPosting, Yoast adds another Article-equivalent. Use @graph to combine multiple types cleanly, or pick one source of schema and disable the others.
🔗 Fix dangling references LIVE
author references a Person @id that doesn't exist elsewhere on the page. publisher Organization without its own definition. The closed-graph pattern: every referenced entity must be defined.
📅 Fix date format errors LIVE
datePublished, dateModified need ISO 8601 format (2026-05-18T14:30:00+01:00). Common bugs: dates in DD/MM/YYYY, missing timezone, future-dating from CMS template errors.
🖼️ Fix image schema problems LIVE
image should be an absolute URL, ideally with width/height as ImageObject. Square + landscape + portrait crops for AMP/rich-result variants. The 'image too small' Google warning fix.

By platform

How schema is generated depends on your platform:

📰 Fix JSON-LD in WordPress PLANNED
Yoast / Rank Math schema, the override patterns, conflicts when multiple plugins generate Article schema, custom-post-type schema for non-standard content.
🛒 Fix JSON-LD in Shopify PLANNED
Theme-generated Product schema, the apps that add review schema, manual-injection patterns via theme.liquid, and what Shopify won't let you change.
⚛️ Fix JSON-LD in Next.js PLANNED
Per-page schema in Metadata API, dynamic generation from CMS content, the next-seo library patterns, and validation in CI before deploy.

What our JSON Checker checks

The checker parses every JSON-LD block in your page, validates syntax, checks each schema type against schema.org, verifies required fields, detects type conflicts, and runs the result against Google's Rich Results criteria. For the full reference, see the JSON-LD Schema Guide.

🏛️ Validate your structured data first

Run the checker. Most sites have 1-2 broken schema blocks invalidating all the rich-result eligibility — fix once, win across the site.

Run JSON Checker →
Related Guides: JSON-LD Schema Guide  ·  Schema Builder Guide  ·  Schema Debugger Guide  ·  Rich Snippets Guide
💬 Got a problem?