← Back to curriculum

Schema strategy — your citation trust layer · 11 min read

The schema types that win citations

Schema went from a rich-snippet nicety to the single biggest on-page citation lever — about +73% in controlled tests. Which @type values actually move the needle, and how to stack them so the lift compounds.

In Module 1 you learned that schema moved from rich-snippet bonus to trust-signal core. This module is the how. We start with the question that decides everything else: which schema types are actually worth your time, and why.

Why schema is the highest-leverage hour you'll spend

Recall the number from Module 1: properly marked-up pages earn roughly 73% higher AI citation rates than identical content without schema. Same words. Same author. The only difference is whether a machine can parse the page into entities without guessing.

That's the whole mechanism. AI engines don't cite prose — they cite entities they can identify with confidence: who wrote this, when, what it is, what question it answers. Schema hands them those entities pre-parsed, in a format they trust because it's standardized and verifiable.

For an indie site this is the cheat code, for three reasons:

  • It's domain-authority-independent. Schema is a signal the engine reads directly from your HTML — it doesn't require years of backlinks to earn trust.
  • It's free and fast. Every type in this lesson ships in an afternoon, as static JSON-LD in your page head.
  • It compounds. Once your entity graph is consistent across the site, every new page inherits the trust the others established.

The hierarchy of citation-relevant types

Not all schema is equal. Ranked by citation leverage for a content + course site:

@type What it marks Why it lifts citations Priority
Article / BlogPosting Every content page The baseline entity — without it you're not a structured source at all Must-have
FAQPage Q&A blocks Highest extractability; engines lift FAQ answers near-verbatim into responses High
HowTo Step sequences Steps get pulled directly into "how do I…" answers High (tactical pages)
Person The author The E-E-A-T anchor; authority transfer runs on a real, credentialed human High
Course / CourseInstance Curriculum + buy pages Signals product type; eligible for course-specific treatment Medium
BreadcrumbList A page's position in the site Disambiguates entities and signals topic clusters Medium
Organization / WebSite Site identity (set once) The publisher entity every Article attributes back to Foundational

If you do nothing else: Article + Person on every page, FAQPage wherever you have real questions. That trio captures the majority of the citation lift.

Stacking: why connected schema beats isolated schema

The mistake most people make is treating each type as a standalone badge. The lift actually comes from the graph — types referencing each other so the engine reads one coherent, attributable source:

A schema trust graph: a central Organization is the publisher; multiple Article nodes attribute to it; each Article links to a Person (author) who worksFor the same Organization; a FAQPage and HowTo hang off one Article. Disconnected blocks on the side are labeled "isolated = a checkbox."

  • Each Article names its author (a Person)…
  • …who is linked to the Organization they write for…
  • …and that same Organization is the publisher of every Article on the site.

Add a FAQPage to a lesson that already has an Article, and that single page now carries two high-value entities: a dated, authored, attributable article and a clean set of extractable answers. That is the profile of a source engines cite.

Isolated schema is a checkbox. Connected schema is a trust graph. Build the graph.

What "good" looks like

Here's the skeleton of an Article stacked with its author — the fields doing the real work are the dated ones and the linked Person:

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Choosing your priority surfaces",
  "datePublished": "2026-05-28",
  "dateModified": "2026-05-28",
  "author": {
    "@type": "Person",
    "name": "Your Name",
    "url": "https://your-site.com/authors/your-name"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Your Site",
    "url": "https://your-site.com"
  }
}

datePublished and dateModified are recency signals engines weight heavily; the authorPerson link with a real bio URL is the experience anchor. A headline with no author and no dates is barely better than no schema at all.

You'll ship copy-paste JSON-LD for every type in the table — Article, FAQPage, HowTo, Person, Course — as drop-in React components in the next lesson.

The two failure modes to avoid

  1. Schema that lies. Marked-up data must match the visible page exactly. An aggregateRating with no visible reviews, a datePublished that disagrees with the on-page date, or FAQ markup for questions not actually on the page — these earn a structured-data manual action, not a citation. Schema is a trust signal; breaking that trust is worse than having none.
  2. Schema you never validate. A single malformed JSON-LD block can void the entire graph for that page. Every page gets validated — that's the focus of a later lesson in this module.

Your action checklist

  • List your page types (article, lesson, author bio, curriculum, buy) and map each to its @type(s)
  • Commit to the floor: Article + Person on every content page
  • Tag pages with real Q&A as FAQPage; step-by-step pages as HowTo
  • Define your Organization entity once, in the root layout, and reference it as publisher everywhere
  • Confirm every author links to a real Person with a bio-page URL
  • Never mark up anything that isn't visible on the page

Sidebar — the @type isn't the point; the graph is. A page with five disconnected schema blocks underperforms a page with three that reference each other. Before adding a new type, ask: does this connect to my author, my organization, and my page's real content? If not, it's noise.

Next we turn this hierarchy into code: the exact JSON-LD templates for each type, as drop-in components you can ship today.

→ Next: JSON-LD templates you can ship

This is one of the paid lessons. Unlock every module and every paywalled article for $199 one-time.