NotionCue
AI Visibility Platform
All systems live
Dashboard →
AEO Guidellms.txt GeneratorRobots.txtBLUF TemplatesBlogChangelogAbout
← Blog
TechnicalJun 28, 2026·9 min read

Speakable Schema: The Complete Implementation Guide for Voice Search and AI Citations

Speakable schema is the only structured data type that explicitly tells Google which page sections to extract for text-to-speech. Most sites implement FAQPage and Article schema but skip Speakable entirely. Here is how to implement it correctly and why it matters beyond just voice search.

SS
Sudhir Singh
Senior SEO & AEO Specialist · NotionCue
🔊

Speakable schema is the only structured data type that explicitly tells AI systems which sections of a page are suitable for text-to-speech reading. Every other schema type describes what a page is or what it contains. Speakable schema points to specific CSS selectors on the page and says: these sections are ready to be spoken aloud.

Google Assistant uses Speakable schema for news and information content. As voice search expands to cover more content types, and as AI Mode increasingly serves answers through voice interfaces, Speakable schema's role is expanding beyond the audio news reading use case where it was originally deployed.

Most AEO practitioners implement FAQPage, Article, and Organisation schema and skip Speakable entirely — because it is not covered in most schema tutorials and because it has a slightly different implementation pattern from the JSON-LD types most teams are familiar with. This guide covers the complete implementation.

What Is Speakable Schema and How Does It Work?

Speakable schema is a schema.org property that can be added to Article, WebPage, and WebSite schema types. It uses a SpeakableSpecification object to identify which parts of the page content are appropriate for audio playback.

Two specification methods are supported: CSS selector-based and XPath-based. CSS selectors are easier to implement for most developers and produce cleaner, more maintainable markup. XPath is available for more complex selector requirements.

When Google Assistant processes a page with Speakable schema, it reads the specified sections rather than trying to infer which passages are best suited for audio from the full page content. Without Speakable schema, Google Assistant chooses passages based on its own extraction logic — which may pick your table of contents, your meta description, or a navigation element instead of your answer blocks.

Speakable schema removes that uncertainty. You define the answer blocks. The voice assistant reads them.

How Do You Implement Speakable Schema With CSS Selectors?

The CSS selector method references specific HTML classes or element patterns in your page. Implementation requires two steps: marking up your HTML with consistent CSS classes on answer blocks, and adding the Speakable JSON-LD referencing those classes.

Step 1: Add CSS classes to your answer blocks. Every section that should be speakable needs a consistent CSS class. In your HTML:

<h2>What Is Speakable Schema?</h2>
<p class="answer-block">
  Speakable schema is a structured data property that tells AI voice
  assistants which sections of a webpage to read aloud. It uses CSS
  selectors to point to answer blocks, removing ambiguity from
  voice passage extraction.
</p>

The class name (answer-block) is arbitrary — use whatever is consistent across your CMS. The important thing is that every passage you want spoken has the same class applied.

Step 2: Add Speakable JSON-LD to your page head.

{
  "@context": "https://schema.org/",
  "@type": "WebPage",
  "name": "Speakable Schema: The Complete Implementation Guide",
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".answer-block",
      "h2 + p",
      ".callout p"
    ]
  },
  "url": "https://notioncue.com/blog/speakable-schema-complete-implementation-guide"
}

The cssSelector array accepts multiple selectors. h2 + p selects the first paragraph immediately following any H2 heading — a reliable selector for BLUF-structured content where every H2 section opens with a direct answer paragraph. .callout p selects callout boxes, which typically contain highlighted answers. .answer-block selects explicitly marked answer passages.

How Do You Implement Speakable Schema With XPath?

XPath is useful when CSS selectors cannot reliably target the right elements — for example, when your CMS generates inconsistent HTML that cannot be reliably selected by class or element adjacency.

{
  "@context": "https://schema.org/",
  "@type": "WebPage",
  "speakable": {
    "@type": "SpeakableSpecification",
    "xpath": [
      "/html/head/title",
      "/html/body//article//p[1]",
      "/html/body//section[@class='answer']//p"
    ]
  },
  "url": "https://notioncue.com/blog/speakable-schema-complete-implementation-guide"
}

XPath targets are evaluated at runtime against the page DOM. /html/body//article//p[1] selects the first paragraph inside every article element in the body — which for BLUF-structured content targets the direct answer paragraph at the top of each article section.

What Content Should Be Marked as Speakable?

Four content types should be marked speakable. Two content types should not.

Mark speakable: Direct answer paragraphs under H2 headings. The first paragraph of each section — the BLUF answer block — is the ideal speakable content. It is self-contained, under 100 words, and directly answers the heading question. Exactly what a voice assistant needs.

Mark speakable: FAQ answer text. Each acceptedAnswer.text in your FAQPage schema is already structured as a spoken answer. Apply speakable selectors to the FAQ answer elements so they are available for both FAQPage extraction and direct voice reading.

Mark speakable: Callout and summary boxes. These highlight key facts, statistics, or conclusions. They are typically concise, complete, and written for quick consumption — all characteristics that make them excellent voice passages.

Mark speakable: Page title and first paragraph. Google's own documentation recommends including the article title and summary paragraph as speakable. These give voice assistants context before reading a more detailed section.

Do not mark speakable: Tables and bullet lists. Tables read nonsensically when spoken aloud. Lists of bullets without prose context are confusing as audio. Exclude any element containing a table, list, or visual comparison from your speakable selectors.

Do not mark speakable: Navigational and meta elements. Page menus, breadcrumbs, footer content, and sidebar elements are not informational content and should be excluded. Make your CSS selectors specific enough to avoid accidentally targeting navigational elements with p or div selectors.

How Does Speakable Schema Relate to Other Schema Types?

Speakable schema works alongside, not instead of, other schema types. The full schema stack for a content page optimised for both AI citation and voice search:

  • Article schema — classifies the page as editorial content with named authorship and dateModified. See the complete schema guide for implementation.
  • FAQPage schema — provides machine-readable Q&A pairs for direct AI extraction and voice assistant use.
  • Speakable schema — points voice assistants to the prose answer blocks between the FAQ items.
  • BreadcrumbList schema — provides topical hierarchy context.
  • Organisation schema — entity identity for the brand behind the content.

These five types together create a page that is retrievable by AI text search, extractable at the passage level, machine-readable for Q&A, voice-ready for audio delivery, and entity-identified for knowledge graph confidence. No single type does all of this alone.

How Do You Test Whether Speakable Schema Is Implemented Correctly?

Three validation steps:

Google Rich Results Test. Visit search.google.com/test/rich-results and enter your page URL. The tool will confirm whether your Speakable schema is valid JSON-LD and whether the referenced CSS selectors resolve to actual page elements. An "invalid" result typically means either the JSON-LD is malformed or the CSS selectors do not match any elements on the page.

Schema.org validator. Visit validator.schema.org and paste your Speakable JSON-LD. This confirms the schema structure is valid against schema.org specifications independently of whether it targets the right page elements.

Manual Google Assistant test. Ask Google Assistant a question that matches one of your page's H2 headings. If the assistant reads back content from your speakable sections, the implementation is working. If it reads something else — or does not cite your page at all — either the selectors are not hitting the right elements or the page is not indexed for that query.

Speakable schema only works if Google's crawler can reach and parse your page to apply the selectors. The NotionCue AI Crawler Audit confirms Googlebot is fetching your pages fully and that critical content is present in the initial HTML response. Speakable selectors applied to JavaScript-rendered content that is invisible in the initial HTML have no effect — the crawler never sees the elements the selectors point to.

Frequently Asked Questions

Does Speakable schema affect regular text search rankings?
Not directly. Speakable schema is processed by the voice assistant layer, not the ranking algorithm. However, the content quality required for speakable passages — direct answer sentences under 30 words, self-contained meaning, answer-first structure — correlates with better featured snippet performance and AI Overview citation rates. The discipline of marking content speakable forces better BLUF structure throughout.

Which pages should get Speakable schema first?
Your highest-traffic informational and FAQ pages. These are the pages most likely to match voice queries and the ones where you already have the BLUF-structured answer content that makes speakable passages work. Product pages and ecommerce category pages come second, because voice commerce queries are growing rapidly. About and contact pages are lower priority.

Is Speakable schema supported by all voice assistants?
Google explicitly supports it for Google Assistant. Alexa and Siri do not use Speakable schema directly — they rely on their own passage extraction from Bing and Apple indexes respectively. For maximum voice search coverage, combine Speakable schema (for Google Assistant) with Bing Webmaster Tools indexation (for Alexa eligibility) and Apple-friendly content structure (clean HTML, no JavaScript-dependent content, fast load times for Siri).

Can Speakable schema be added to existing WordPress or Shopify sites?
Yes. On WordPress, Speakable schema can be added through existing schema plugins (Yoast SEO Premium, Rank Math) or custom JSON-LD blocks. The CSS selector approach requires consistent class names on answer paragraphs, which may need a theme update if answer blocks do not already have unique classes. On Shopify, Speakable can be added to theme templates via the schema.org JSON-LD block in the page header. Test with Rich Results Test after implementation to confirm selectors resolve correctly.

Share this post
Check your AEO score
Scan your domain free — get your AI visibility score across 5 LLMs in 30 seconds.
Scan my site →
SS
Sudhir Singh
Senior SEO & AEO Specialist · NotionCue

Senior SEO and AEO specialist with 12+ years across e-commerce, global education, and healthcare. Building NotionCue to track brand citations across ChatGPT, Perplexity, Gemini, and AI Overviews.

View all →
🖼️
Technical10 min read

Image AEO: Alt Text, ImageObject Schema, and Visual AI Citations in 2026

AI engines cannot see images. They read alt text, captions, surrounding paragraphs, and ImageObject schema. A product page with no alt text and no ImageObject schema is invisible in visual AI search — regardless of image quality. Here is the complete implementation that makes images citable.

SS
Jul 3, 2026
🌍
Technical9 min read

Multilingual AEO: How to Earn AI Citations Across Languages and Markets

AI engines bypass language barriers. Perplexity and Gemini pull facts from English-language sources and synthesise answers in French, German, or Portuguese in real time. Sites that only translate without localising lose 431% in AI citation eligibility against properly localised competitors. Hreflang is necessary but nowhere near sufficient.

SS
Jul 2, 2026
Technical9 min read

AggregateRating and Review Schema for AEO: How Star Ratings Enter AI Citations

A 10% increase in G2 reviews correlates with a 2% increase in AI citation rates — social proof signals are being processed directly by citation algorithms. For comparison queries like "best running shoes under £100," AggregateRating schema determines whether your product makes the AI's shortlist. Here is the exact implementation with zero common errors.

SS
Jul 2, 2026
🎙️
Technical9 min read

Podcast AEO: Why Your Audio Is Invisible to AI Engines (and the Fix Takes One Week)

AI engines cannot listen to your podcast. They read transcripts, metadata, and schema. A show with 50,000 downloads per episode but no structured transcript earns zero AI citations. A show with 400 listeners and corrected HTML transcripts plus AudioObject schema competes directly for citation in ChatGPT, Perplexity, and Google AI Overviews. The fix installs in one week.

SS
Jul 2, 2026
Get AEO updates weekly.

Citation shifts, algorithm changes, and what's actually working.