How to Implement Speakable Schema for AI and Voice SEO
Speakable schema is one of the most misunderstood structured data types in SEO, partly because most teams encounter it once, see that it only officially applies to news content in Google’s current implementation, and stop reading. That is a mistake. Knowing how to implement speakable schema correctly is valuable for any content team because the exercise forces something that content without structured data rarely has: clearly marked, self-contained passages that AI systems can extract and use without surrounding context. Those passages are exactly what Google’s AI Overview system selects as citation sources. The discipline of implementing speakable schema produces content that is better positioned for AI citation regardless of whether the schema itself is directly evaluated. According to the Google Developers speakable documentation, Google uses speakable schema to identify the most relevant content for Google Assistant and other voice platforms. This post is part of the full guide on AI for technical SEO.
How to Implement Speakable Schema: The JSON-LD Syntax
Direct Answer: How to implement speakable schema means adding a JSON-LD block to your page that uses the Speakable type and a cssSelector property pointing to the HTML elements containing your citation-ready passages. Each targeted passage must answer one question completely without requiring surrounding context to be meaningful.
Here is the complete JSON-LD implementation:
{
"@context": "https://schema.org/",
"@type": "WebPage",
"name": "Page Title Here",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".article-summary", ".key-fact", ".direct-answer"]
},
"url": "https://yoursite.com/page-url"
}
What each property does:
@type: "WebPage"or"NewsArticle": The parent schema type. Use NewsArticle for news content (required for Google’s official speakable implementation). Use WebPage for informational content targeting AI citation readiness.speakable: The Speakable object nested inside the parent schema.cssSelector: An array of CSS class or ID selectors pointing to the HTML elements on your page that contain the speakable passages. Each selector must uniquely identify one HTML element containing one self-contained passage.
The alternative using XPath:
"speakable": {
"@type": "SpeakableSpecification",
"xpath": ["/html/head/title", "/html/body/div[@class='article-intro']"]
}
Use cssSelector for modern sites with class-based HTML. Use xpath for older site architectures where class names are not consistent across templates.
What Content Qualifies as Speakable
This is where most implementations fail: teams mark the wrong content as speakable and lose the AI citation signal that speakable schema is meant to generate.
Content that qualifies:
Teams learning how to implement speakable schema often mark the wrong sections because they confuse “important content” with “self-contained content.” They are different. A passage is speakable if it passes this test: read it aloud without any surrounding page content. Does it make sense? Does it answer a complete question? Could a user who heard only this passage understand what it covers?
Passages that pass:
- A 60-word definition of a term that stands alone without context
- A 4-step process where each step is self-explanatory
- A statistic with its source and relevance stated in the same sentence
- A direct answer to a question that does not require reading the question first
Passages that fail:
- “As mentioned above, this method…” (requires surrounding context)
- “The following table shows…” (references content outside the passage)
- A mid-article paragraph that extends a point made in the previous paragraph
- A product feature list where the product name appears only in the heading, not the passage
Before and after rewriting a passage for speakability:
Before (not speakable): “This method has significant advantages over the alternatives covered in the previous section.”
After (speakable): “The CSS selector method for speakable schema is faster to implement than XPath on modern sites because class names are stable across page templates, reducing the risk of selector breakage after site updates.”
The after version can be read aloud without any context and delivers complete meaning. The before version is useless without the surrounding content.
Step-by-Step: Implementing Speakable Schema on Your Site
Step 1: Identify your speakable passages before writing the schema. Read through your page and mark every passage that passes the read-aloud test. Most pages have 2 to 4 qualifying passages: usually the article summary, a key definition, and one data point with full context. Mark them in the HTML with a consistent CSS class before you write the JSON-LD.
Step 2: Add CSS classes to your HTML.
In your page’s HTML, add the class speakable-passage (or your preferred naming convention) to the element wrapping each qualifying passage. For example:
<div class="speakable-passage">
Speakable schema marks specific page sections as suitable for audio playback.
It targets self-contained passages that AI systems can extract without surrounding context.
</div>
Use a consistent class name across all pages using speakable schema. Inconsistent class names force multiple cssSelector entries and increase the maintenance overhead when templates change.
Step 3: Write the JSON-LD and add it to the <head>.
Build the JSON-LD block using the syntax from the previous section. Place it in a <script type="application/ld+json"> tag in the <head> of the page. Do not place speakable schema in the page body or at the end of the <body>: some parsers miss non-head structured data.
Step 4: Validate with the Rich Results Test. Open Google’s Rich Results Test and enter your page URL. The test will show whether the schema is valid JSON-LD and whether the cssSelector correctly targets the intended elements. Check that each selector returns the right HTML element in the “Detected structured data” panel.
Step 5: Validate with Schema.org Validator as a secondary check. Run the page through the Schema.org Validator as well. This validates the schema structure against the full schema.org specification, catching property errors that the Rich Results Test (which focuses on Google’s implementation) may not flag.
For how speakable schema fits alongside other structured data types in your full technical schema stack, see how AI uses structured data for SEO.
Where Speakable Schema Goes Wrong
Mistake 1: Targeting heading elements with cssSelector. Headings (H1, H2, H3) contain the topic of a section, not a complete answer. A heading like “What is speakable schema?” is not a speakable passage: it is a label. The cssSelector must target the paragraph or div containing the answer, not the heading above it. Targeting headings produces schema that validates but marks content that fails the read-aloud test.
Mistake 2: Adding speakable schema to every page without checking content quality. Knowing how to implement speakable schema technically is different from knowing which pages deserve it. Speakable schema on a page where no passage actually passes the read-aloud test does not improve AI citation eligibility: it marks low-quality passages as citation-ready, which can signal content quality issues. Implement speakable schema only on pages where you have genuinely qualifying passages. A page without a single self-contained passage should not use speakable schema: it should improve its content first.
Mistake 3: Using speakable schema as a shortcut instead of improving content structure. Speakable schema is a signal, not a fix. A page with thin, poorly-structured content marked up with speakable schema does not become citation-ready: it is a thin, poorly-structured page with invalid speakable claims. The schema adds value when the underlying passages are genuinely self-contained and information-dense. If your passages do not pass the read-aloud test, rewrite them before adding the schema.
Mistake 4: Expecting speakable schema to appear in GSC reporting. Speakable schema does not produce a rich result in standard search features. It does not appear in the Enhancements tab of Google Search Console the way FAQ schema or Product schema does. The only way to validate it is through the Rich Results Test and Schema.org Validator. Teams waiting for GSC to confirm speakable implementation are waiting for data that will never arrive.
For how passage-level content quality connects to speakable schema eligibility, see what is passage indexing and how it affects AI SEO. For the full structured data audit that speakable fits within, see how to automate technical SEO audits with AI.
Frequently Asked Questions
Four questions on how to implement speakable schema answered directly:
- What is speakable schema and what does it do?
- Does speakable schema affect AI Overview citations?
- Which pages should use speakable schema?
- How do I validate speakable schema after implementing it?
What is speakable schema and what does it do?
Speakable schema is a structured data type (schema.org/Speakable) that marks specific page sections as suitable for audio playback by voice assistants and AI systems. It tells Google and other voice platforms: these exact passages are clear, self-contained, and can be read aloud without losing meaning. Currently, Google’s official implementation prioritizes news content, but the content discipline that speakable schema requires (marking genuinely self-contained passages) produces pages with higher AI Overview citation eligibility across all content types.
Does speakable schema affect AI Overview citations?
Indirectly, yes. Speakable schema does not have a documented direct effect on AI Overview selection. But implementing it correctly forces you to identify and mark the self-contained, passage-level content that AI Overview systems prioritize as citation sources. The act of writing and marking speakable passages is, in effect, the act of creating Direct Answer blocks: the same content format that drives AI citation rates. The schema labels the content; the content quality drives the citation.
Which pages should use speakable schema?
Pages with at least two genuinely self-contained passages: passages that deliver complete meaning when read aloud without surrounding context. Informational guides, news articles, FAQ pages, and product pages with a clear summary paragraph are the strongest candidates. Pages without qualifying passages should improve their content structure before adding speakable schema. A page with no passage that passes the read-aloud test has no business using this schema type.
How do I validate speakable schema after implementing it?
Use two tools: Google’s Rich Results Test confirms that the JSON-LD is valid and the cssSelector targets the correct HTML elements. The Schema.org Validator confirms that the schema structure is correct against the full specification. Speakable schema does not appear in Google Search Console’s Enhancement reports, so these external validation tools are the only way to confirm correct implementation. Knowing how to implement speakable schema correctly requires testing at implementation, not relying on GSC to surface errors later.
Implement speakable schema on your top 5 informational pages today using this process: read each page, identify every passage that delivers complete meaning without context (aim for 2 to 4 per page), add a CSS class to each one, then write the JSON-LD block targeting those classes. Run the Rich Results Test on each page after publishing. The full implementation of how to implement speakable schema across 5 pages takes under 2 hours and improves two things simultaneously: structured data quality and content passage clarity, both of which affect AI Overview citation eligibility. For how speakable schema connects to the broader AI SEO signal layer, see how to optimize alt text for AI SEO. If you want help auditing your current schema stack and implementing speakable schema across your content library, my AI SEO services cover the full structured data implementation. Sites that know how to implement speakable schema correctly build structured content habits that improve AI citation eligibility across their entire content library.