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:
- Each Article names its author (a
Person)… - …who is linked to the Organization they write for…
- …and that same
Organizationis 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 author → Person 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
- Schema that lies. Marked-up data must match the visible page exactly. An
aggregateRatingwith no visible reviews, adatePublishedthat 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. - 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
publishereverywhere - Confirm every
authorlinks 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.