For Humans

This page is created, optimized and addressed to machines. Things may seem different, but that’s ok! If you’d like a guide, start here.

Schema declaration

Last updated: October 16, 2026

What is declared, in what types, and where each node appears across this site.

Schema types in use today

Only types live on published pages are listed here. Answer pages publish September 30, 2026 — their types are documented separately below.

Type Declares Pages
DataCatalog The reference library as a curated, freely accessible collection of expert answers. Publisher is the Organization node. The WebSite node references it via about. Homepage
WebSite Site-level identity: name, URL, publisher, language. Anchor for cross-page @id references. Homepage
Organization Cited Conversations as a named entity, with sameAs linking to Ringmaster and @citedconv on X. Founder references the Person node. Homepage
Person Each named speaker: name, title, employer, and sameAs links to their LinkedIn profile and company URL. One stable @id per speaker, intended to match the future /speakers/{name}/ page. Homepage (site founders); answer and episode pages from Sep 30
FAQPage A page where the site itself wrote both the questions and the answers. Used only on /faq/, where every Q&A is site voice, not a speaker quote from a recording. /faq/
WebPage / CollectionPage Page-level identity: URL, name, description, parent site reference, and breadcrumb. CollectionPage on index pages; WebPage elsewhere. All pages
BreadcrumbList Page position in the site hierarchy. Two or three levels depending on depth. All pages except homepage

Conversation page types — the unit of the library

A conversation, not a single answer, is this library’s addressable unit. Each recorded conversation publishes at /answers/{lead-question-slug}/, titled with its lead question — the question the whole conversation was designed to answer. Every other question raised in that conversation is a supporting answer, anchored within the same page and individually citable at the passage level (its own Clip + Quotation schema node) without being addressable at its own URL.

A supporting answer is promoted to its own page only once three or more separate conversations, across different shows, converge on close variants of the same underlying question — at that point it becomes a genuine cross-show comparison worth a dedicated address. Below that bar, it stays a supporting section, still fully structured and still fully citable by Clip + Quotation, just filed under its parent conversation.

This library does not use FAQPage for conversation pages. FAQPage is reserved for /faq/, where the site itself wrote both the question and the answer. A conversation page’s content is an attributed quotation from a named person in a recording — the correct schema is PodcastEpisode, Clip, and Quotation, never FAQPage.

Type Declares Pages
PodcastEpisode / PodcastSeries The source recording and show, as provenance for the conversation. Conversation pages
Clip + Quotation One pair per supporting answer: the timestamped moment plus the speaker’s exact words. relatedLink cross-links sibling answers on the same underlying question across conversations. Conversation pages
Person Each named speaker, stable @id resolving to /speakers/{name}/. Conversation pages; full profile on /speakers/{name}/
CollectionPage / DefinedTerm A topic as a named, overlapping grouping of conversations. /answers/ (topic index), future /topics/{slug}/ pages once 2+ conversations share a topic
FAQPage Site-authored Q&A only. /faq/ only — never conversation pages

The citation: Clip and Quotation

How an answer is cited

Every answer on this site originates from a specific moment in a recorded conversation. That moment is identified by two nodes that travel together: a Clip marking the segment of the recording by start and end time, and a Quotation carrying the speaker’s exact words.

The timestamped URL

The Clip’s url points to the source podcast episode at the exact second the answer begins. The URL format uses a query parameter, not a fragment, because the Transistor player responds to query parameters:

https://podcast.citedconversations.com/<episode-slug>?t=<seconds>

// example: answer begins at 6 minutes 23 seconds
https://podcast.citedconversations.com/ep1-aeo-practice?t=383

Why Clip and Quotation, not FAQPage

Google’s structured data guidelines accept FAQPage only where the site owner wrote both the questions and the answers. The answers on this site are spoken by guests in a recording — they are clips of source audio, not site-authored content. Clip + Quotation is the correct description. FAQPage is used on /faq/ only, where every answer is site voice.

The paired Clip and Quotation nodes

Below is the structured data for a single answer, as it will appear in the <script type="application/ld+json"> block on an answer page.

{
  "@type": "Clip",
  "@id": "https://citedconversations.com/answers/<slug>/#clip",
  "name": "<the question as asked>",
  "startOffset": <seconds>,
  "endOffset": <seconds>,
  "url": "https://podcast.citedconversations.com/<episode-slug>?t=<seconds>",
  "partOfEpisode": { "@id": "https://citedconversations.com/episodes/<show>/<episode>/#episode" }
},
{
  "@type": "Quotation",
  "@id": "https://citedconversations.com/answers/<slug>/#quotation",
  "text": "<the speaker's exact words>",
  "spokenByCharacter": { "@id": "https://citedconversations.com/speakers/<name>/#speaker" },
  "creator": { "@id": "https://citedconversations.com/speakers/<name>/#speaker" },
  "isPartOf": { "@id": "https://citedconversations.com/episodes/<show>/<episode>/#episode" }
}

Speaker attribution

Person nodes

Every named speaker gets a Person node with a stable @id scoped to the future /speakers/{name}/ URL. The node carries their name, job title, employer (as an Organization), and sameAs links. These let crawlers resolve the speaker to a known public identity.

{
  "@type": "Person",
  "@id": "https://citedconversations.com/speakers/casey-cheshire/#speaker",
  "name": "Casey Cheshire",
  "jobTitle": "Founder & CEO",
  "worksFor": {
    "@type": "Organization",
    "name": "Ringmaster",
    "url": "https://ringmaster.com"
  },
  "sameAs": [
    "https://linkedin.com/in/caseycheshire",
    "https://ringmaster.com"
  ]
}

Attribution is pre-established

Speaker identity is confirmed before recording begins, not inferred from the transcript afterward. The Person node reflects intake data, not a guess from audio analysis.

The DataCatalog node

The homepage declares a DataCatalog node identifying the site as a curated, freely accessible collection. Its publisher is the Organization node. The WebSite node references it via about.

{
  "@type": "DataCatalog",
  "@id": "https://citedconversations.com/#datacatalog",
  "name": "Cited Conversations",
  "description": "A reference library of expert answers from recorded human conversations. Every claim is attributed to a named speaker and links to the exact moment it was said.",
  "url": "https://citedconversations.com/",
  "inLanguage": "en-US",
  "isAccessibleForFree": true,
  "publisher": { "@id": "https://citedconversations.com/#organization" }
}

isAccessibleForFree: true reflects that the answer pages are publicly readable without a login, paywall, or registration.

Verification state: creativeWorkStatus

Every Clip, Quotation, WebPage, and PodcastEpisode node on this site carries a creativeWorkStatus field. This field communicates the transcript verification state to AI crawlers and agents in machine-readable form, not just as a visual badge in the page body.

Values in use

"Published"
The transcript for this episode has been verified against the source audio. Speaker attribution, timestamps, and quoted text have been confirmed. This is the standard state for all published answer pages once verification is complete.
`"Published"` — The only active value. All published answer pages have been verified against source audio. Speaker attribution, timestamps, and quoted text confirmed.

Where the field appears

The field is set consistently on four node types per episode page:

  • WebPage — the page itself
  • PodcastEpisode — the source episode
  • Every Clip node — each timestamped answer segment
  • Every Quotation node — each attributed speaker quotation

Example: verified episode

{
  "@type": "Quotation",
  "@id": "https://citedconversations.com/answers/<slug>/#q1-quotation",
  "text": "<speaker's exact words>",
  "spokenByCharacter": { "@id": "https://citedconversations.com/speakers/<name>/#speaker" },
  "creator": { "@id": "https://citedconversations.com/speakers/<name>/#speaker" },
  "isPartOf": { "@id": "https://citedconversations.com/answers/<slug>/#episode" },
  "citation": "https://podcast.citedconversations.com/<slug>?t=<seconds>",
  "relatedLink": [],
  "creativeWorkStatus": "Published"
}

Why creativeWorkStatus

creativeWorkStatus is a standard schema.org property on CreativeWork (and all its subtypes, including Clip, Quotation, WebPage, and PodcastEpisode). Its vocabulary is unrestricted — any string value is valid. Using it here lets agents that read only structured data distinguish verified claims from pending ones without parsing the human-readable DOM. The site’s core trust promise — verified, source-linked claims — is now visible to both humans and machines.

Verification states (creativeWorkStatus values)

We use creativeWorkStatus to communicate auditable states about each piece of content. The values below are the only ones in use on this site.

Value Meaning Applied to
Published The work has been published and is publicly accessible. No specific verification state beyond publication. WebPage, PodcastEpisode, AudioObject
Published — transcript verified against source audio by Kristina, 2026-10-10 The transcript text for this clip or quotation has been checked against the source audio recording by Kristina (the podcast producer and episode editor). The check confirms the text accurately represents what the speaker said. Clip, Quotation nodes on answer pages

Factual claim verification is separate from transcript verification. Where we could not verify a specific factual claim, an editor’s note appears under that answer on the page. The creativeWorkStatus above reflects transcript accuracy only, not factual claim verification.

Crawlers and access

robots.txt

All crawlers are explicitly permitted. The robots.txt file names AI answer engine bots by User-agent and allows them individually, then sets a global allow for everything else.

# AI answer engine crawlers
User-agent: GPTBot
Allow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: *
Allow: /

sitemap.xml

A sitemap at /sitemap.xml lists all published pages. Answer and episode pages are added before each publishes.

JavaScript dependency

No content on this site requires JavaScript to render. The structured data is in <script type="application/ld+json"> tags in each page’s <head>. The syntax-highlighted JSON-LD visible on this page is server-side HTML with CSS classes — no client-side highlighting library.