Fill Your SEO Gaps
Module 4: Lesson 47 min read

JSON-LD Schema: Diagnose and Fix

Jules de Bruin

By Jules de Bruin

GEO Instructor at Rankscale

Last updated 2026-04-27

Summarize with AI

TL;DR. AI engines use JSON-LD structured data to classify and disambiguate pages. Without it, you are one of a million untyped documents. With it, you are "a FAQ page about X by Y, published on Z." The minimum set: Article, FAQPage, HowTo, Organization, Product. Plus LocalBusiness subtypes for local services. Validate every page in Google Rich Results Test before shipping.

Why JSON-LD matters more in AI than in SEO

Traditional SEO treats schema as a rich-snippet bonus. AI engines treat it as ground-truth metadata. When a RAG system decides which paragraph to quote, a page tagged as FAQPage with a matching Question / Answer pair wins over an untyped blog post every time. Schema is the difference between being one of thousands of candidates and being a pre-classified answer.

The 5-type minimum set

Schema typeUse onWhy
ArticleBlog posts, guides, long-form contentAssigns author, date, topic
FAQPageFAQ sections and Q&A pagesPre-chunked into Question/Answer pairs RAG loves
HowToProcess content, tutorialsPre-chunked into steps
OrganizationHomepage, About pageDisambiguates your entity (with sameAs to Wikidata, LinkedIn, Crunchbase)
ProductProduct pagesPrice, brand, review aggregate

Use LocalBusiness (or specific subtypes: Restaurant, Dentist, AutoRepair) instead of Organization for local services. This unlocks geographic filtering in AI answers.

Copy-paste templates

Article

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Your H1 text here",
  "datePublished": "2026-01-15",
  "dateModified": "2026-04-01",
  "author": {
    "@type": "Person",
    "name": "Jules de Bruin",
    "url": "https://yourdomain.com/authors/jules"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Rankscale",
    "logo": {"@type": "ImageObject", "url": "https://yourdomain.com/logo.png"}
  }
}

FAQPage

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is a prompt group?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A prompt group is the AI Search equivalent of a keyword cluster..."
      }
    }
  ]
}

Organization with sameAs (entity disambiguation)

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Rankscale",
  "url": "https://rankscale.ai",
  "logo": "https://rankscale.ai/media-kit",
  "sameAs": [
    "https://groundingpage.com/facts/rankscale/de/",
    "https://www.linkedin.com/company/106164954/",
    "https://www.crunchbase.com/organization/rankscale"
  ]
}

The sameAs array is the single highest-leverage JSON-LD addition for branded visibility. It tells AI engines "this Wikidata record, this LinkedIn, this Crunchbase, and this brand are the same entity." Entity disambiguation covered in Module 6.2.

Validate every page

Before shipping, paste the page URL into Google Rich Results Test. It flags:

  • Missing required fields
  • Invalid property types
  • Schema nested incorrectly
  • Duplicate conflicting types

Also paste into Schema.org Validator for strict validation Google does not cover.

Common mistakes

  • Schema stuffed on pages that do not fit. Do not put Product schema on a blog post. Match schema to content type.
  • Schema in <body> comments. Must be in a <script type="application/ld+json"> tag.
  • HTML and schema disagreeing. If schema says datePublished: 2024-01-15 and your HTML shows Updated April 2026, engines trust neither. Keep them in sync.
  • Multiple Organization schemas on one page. One per page. Use nested Person or Brand for sub-entities.

Start improving your AI visibility today with Rankscale.

Get started