koira
speakable schemavoice searchstructured data

How Speakable Schema Gets Your Content Read Aloud by Voice Assistants

KOIRA Team9 min read1,820 words
Speakable schema JSON-LD code on a laptop screen with voice assistant waveform visualization
Intro
Breakdown
Solution
FAQ
◆ Key takeaways
  • Speakable schema uses CSS selectors or XPath to point voice assistants at the one or two sentences on your page that best answer a query — without them having to guess.
  • Google's documentation explicitly supports speakable for news and general web content, and AI-powered search surfaces use the same signal when generating spoken overviews.
  • Pages without speakable markup get read aloud anyway — but the assistant picks the text itself, often badly. Speakable lets you control what gets said.
  • The sweet spot for speakable content is 20–90 words: long enough to be useful, short enough to survive being read aloud without losing the listener.
  • Speakable pairs best with FAQ schema and HowTo schema — together they cover the three main question formats voice users ask: what, how, and where.
  • Most local and small-business sites have zero speakable markup, making this one of the lowest-competition structured-data wins available right now.

The problem voice assistants have with your content

When someone asks Google Assistant or Alexa a question, the assistant doesn't read your whole page. It picks a chunk — usually a sentence or two — and reads it aloud. The problem is that without guidance, it's guessing. It might grab your navigation text, a disclaimer, or a sentence buried three paragraphs down that technically answers the question but sounds terrible without context.

Speakable schema exists to fix that guess. It's a structured-data property — part of the schema.org vocabulary — that lets you mark up the specific passages on your page that are best suited for text-to-speech delivery. Think of it as a highlighter you hand to the voice assistant: "Read this part."

What speakable schema actually is

At its core, speakable is a property you add to a WebPage or Article schema object. It accepts either CSS selectors or XPath expressions that point to the HTML elements containing your voice-ready content.

Here's the simplest possible implementation in JSON-LD:

{
  "@context": "https://schema.org",
  "@type": "WebPage",
  "name": "How Long Does a Roof Replacement Take?",
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [".speakable-summary", "#quick-answer"]
  },
  "url": "https://example.com/roof-replacement-timeline"
}

The SpeakableSpecification object is the key piece. It tells the assistant: go find the element with class speakable-summary or the element with ID quick-answer, and that's your audio content.

You can also use xpath instead of cssSelector if your CMS makes XPath easier to work with — both are valid per the spec.

What makes content "speakable"

Not all content reads well aloud. A table of pricing tiers sounds like noise when spoken. A sentence like "Most roof replacements take two to five days depending on size and weather" sounds like an answer.

Google's own guidance on speakable content points to a few characteristics:

  • Short and self-contained. The passage should make sense without surrounding context. Aim for 20–90 words.
  • Factual and direct. Voice users want the answer, not the setup. Lead with the fact.
  • No visual dependencies. Avoid content that says "as shown in the chart below" or "click the button on the right" — it's meaningless when spoken.
  • Conversational phrasing. Sentences that would sound natural if a person said them out loud work best. Passive constructions and jargon don't survive audio.

A useful test: read the passage aloud to yourself. If it sounds like an answer, it probably is. If it sounds like a sentence from a legal document, rewrite it first, then mark it up.

Why this matters more now than it did three years ago

Voice search volume has grown steadily, but the bigger shift is in how AI-powered search surfaces work. Google's AI Overviews, Perplexity's spoken answers, and similar features all consume structured data as part of how they decide what to surface and how to present it.

Speakable schema is essentially a direct instruction to those systems: "This passage is the answer." It doesn't guarantee you'll be picked — nothing in SEO does — but it removes ambiguity. The assistant doesn't have to infer which sentence is the answer. You told it.

For owner-operators and small-business sites, this matters for a specific reason: you're often writing about hyper-local or niche topics where you're the most authoritative source available. A roofing contractor in Boise writing about local permit timelines, a salon explaining their cancellation policy, a landscaper describing seasonal service windows — these are queries where the big publishers aren't competing. Speakable schema helps you capture that traffic in audio form, not just text.

The relationship between speakable, FAQ, and HowTo schema

These three schema types cover most of what voice users actually ask:

  • FAQ schema handles "what" and "why" questions. "What is your cancellation policy?" "Why does my roof need underlayment?"
  • HowTo schema handles process questions. "How do I file a warranty claim?" "How do I book an appointment?"
  • Speakable schema handles everything else — or acts as the audio-optimized summary layer on top of the other two.

The strongest pages use all three. Your FAQ schema covers the Q&A pairs. Your HowTo schema covers the step-by-step. Your speakable markup points to the 30-word summary at the top of the page that captures the essence of the whole thing.

If you've already implemented FAQ schema (covered in the new schema types post for small business visibility), adding speakable is the logical next step — it's the same JSON-LD block, one more property.

Where to put speakable content on the page

The most reliable pattern is a dedicated summary element near the top of the page — before the main body content, after the H1. Give it a consistent class name (.speakable-summary works fine) and use that class in your CSS selector.

For blog posts and guides, the TL;DR or "quick answer" box at the top is a natural home. For service pages, it's the two-sentence description of what you do and who it's for. For location pages, it's the sentence that captures your hours, area, and core service.

Avoid marking up your entire intro paragraph. Voice assistants have attention limits too — if you point them at 300 words, they'll truncate it, and the truncation point will be arbitrary. Give them 40 words and let them win.

Common implementation mistakes

Marking up too much. The speakable property is a pointer, not a content dump. If your CSS selector matches five different elements totaling 800 words, you've recreated the guessing problem you were trying to solve.

Using selectors that break when the CMS updates. If your selector is .wp-block-paragraph:nth-child(3), it'll break the moment you add a new intro sentence. Use a stable, dedicated class that you explicitly assign.

Writing speakable content that still sounds like web copy. "We are proud to offer a full range of premium roofing services to homeowners throughout the greater Boise metropolitan area" is not speakable. "We replace roofs across Boise and the Treasure Valley, typically finishing in two to three days" is.

Forgetting mobile and AMP. If you have AMP pages, they need their own speakable markup. The JSON-LD block doesn't automatically carry over.

Not testing it. Google's Rich Results Test doesn't validate speakable specifically, but you can use the Schema Markup Validator to confirm the property is being parsed correctly.

How AI search engines use speakable in 2026

The shift in how Perplexity indexes content is a useful lens here. AI search engines don't just crawl — they synthesize. When they're generating a spoken or summarized answer, they're looking for passages that are already answer-shaped. Speakable markup is a strong signal that a passage meets that bar.

Google's AI Overviews pull from structured data when it's present and coherent. A page with speakable markup pointing to a clean, factual summary is easier to cite than a page where the answer is buried in paragraph four. Easier to cite means more likely to be cited.

This is the practical argument for speakable schema in 2026: it's not just about traditional voice search anymore. It's about making your content legible to every AI system that might want to surface it — spoken, summarized, or otherwise.

The competitive reality for small-business sites

Run a quick check on your competitors' sites using any structured-data inspector. For most local and small-business niches, you'll find FAQ schema on maybe 15–20% of pages, HowTo schema on fewer, and speakable schema on almost none.

That's the opportunity. Speakable is a low-effort, low-competition structured-data signal that directly improves your chances of being the voice that answers a query in your niche. It takes one afternoon to implement across a site's key pages, and it compounds — every new page you publish with speakable markup is another entry point for audio-first search.

The pages worth prioritizing: your homepage, your top service pages, your FAQ page, and your highest-traffic blog posts. Add speakable to those ten or fifteen pages first. Then make it part of your publishing template so every new piece of content goes out with it already in place.

Voice assistants don't read your page — they read whatever they can find that looks like an answer. Speakable schema is how you make sure that's actually you.

Validating and monitoring your speakable markup

After implementation, validate with the Schema Markup Validator. Check that the SpeakableSpecification object appears in the parsed output and that the selectors resolve to the right elements.

For ongoing monitoring, Google Search Console doesn't have a dedicated speakable report (as of mid-2026), but you can track voice-adjacent performance by filtering for question-format queries in the Performance report — queries starting with "what," "how," "where," "when," "who." If those queries start driving more impressions after you add speakable markup, that's a reasonable proxy signal.

Revalidate whenever you make significant template changes. If your CMS update renames a class or restructures your page template, your selectors may silently break — the page won't throw an error, it'll just stop being speakable.

Voice assistants don't read your page — they read whatever they can find that looks like an answer. Speakable schema is how you make sure that's actually you.

Save this for later
Get a PDF copy of this post →
Drop your email, we’ll send you the full piece as a clean PDF. Plus the weekly KOIRA roundup.
Title: Speakable Schema: What It Is and Why Voice Search Needs It
Speakable Schema
A schema.org structured-data property added to a WebPage or Article object that uses CSS selectors or XPath to identify which text passages on a page are best suited for text-to-speech delivery by voice assistants and AI search engines.
SpeakableSpecification
The schema.org object type nested inside the speakable property that holds the actual CSS selector or XPath expression pointing to voice-ready content elements on the page.
Answer Engine Optimization (AEO)
The practice of structuring web content — through schema markup, direct phrasing, and factual density — so that AI-powered answer engines and voice assistants select it as the authoritative response to a query.
CSS Selector (in schema context)
A standard CSS targeting expression used inside a SpeakableSpecification to identify specific HTML elements whose text content should be treated as speakable audio content.
Voice Search Optimization
The set of technical and editorial practices — including speakable schema, FAQ schema, conversational phrasing, and short factual passages — that improve a page's likelihood of being selected and read aloud by voice assistants in response to spoken queries.
Page without speakable schema vs. page with speakable schema — voice assistant behavior
AreaWithout speakable markupWith speakable markup
How assistant picks contentGuesses based on position and density — often grabs intro boilerplate or navigation textReads the exact element you designated with your CSS selector
Content quality when read aloudUnpredictable — may truncate mid-sentence or read visually dependent textControlled — you write and mark up a passage specifically for audio delivery
AI Overview / answer engine eligibilityPage competes on content quality alone; AI has to infer the answer passageExplicit signal reduces inference burden; page is easier to cite accurately
Implementation effortNone — but you get no control over the outputOne afternoon to implement across key pages; template addition for future posts
Competitive differentiationSame as every other unmarked page in your nicheStands out in a category where most small-business sites have zero speakable markup
Maintenance overheadNothing to break, but nothing to gain eitherSelectors need revalidation after major template changes — low but real ongoing task

How to implement speakable schema on your website

  1. 01
    Identify your voice-ready passages. For each key page, find the one or two sentences that best answer the page's core question — your TL;DR, quick-answer box, or opening factual statement. Read them aloud; if they sound like an answer a person would give, they're candidates.
  2. 02
    Assign a stable CSS class to each speakable element. In your CMS editor or template, add a dedicated class like `speakable-summary` to the HTML element wrapping your chosen passage. Use a class you control explicitly — not a position-based selector that breaks when you edit the page.
  3. 03
    Build the JSON-LD block with SpeakableSpecification. Create a JSON-LD script block in your page head that includes a WebPage or Article type with a `speakable` property pointing to a `SpeakableSpecification` object. Set `cssSelector` to an array containing your class name (e.g., `[".speakable-summary"]`).
  4. 04
    Inject the JSON-LD into your page. Add the script block to the `<head>` of the page via your CMS's custom code field, an SEO plugin's schema editor, or your theme's layout file. For Shopify, the theme.liquid file is the standard injection point; for WordPress, use a plugin like RankMath's custom schema feature.
  5. 05
    Validate with the Schema Markup Validator. Paste your page URL into [validator.schema.org](https://validator.schema.org/) and confirm the SpeakableSpecification object appears in the parsed output with no errors. Check that the cssSelector value matches the class you assigned.
  6. 06
    Add speakable to your publishing template. Update your CMS page template or editorial checklist so every new page is published with the speakable class pre-assigned and the JSON-LD block pre-populated. This turns a one-time task into a compounding asset.
  7. 07
    Monitor question-format query performance in Search Console. Filter your Google Search Console Performance report for queries beginning with what, how, where, when, and who. Track impressions and clicks on those queries month-over-month after implementation — growth there is your best available proxy for speakable impact.
FAQ
Does Google officially support speakable schema for all websites?
Google originally launched speakable schema as a beta for news publishers, but the schema.org specification applies to any WebPage or Article type. As of 2026, Google's documentation no longer restricts it to news content, and AI-powered search surfaces consume the property regardless of site category. It's safe and beneficial to implement on any content site.
How many elements should I mark up with speakable on a single page?
One to three elements per page is the practical ceiling. The goal is to give the voice assistant a short, self-contained answer — not a full reading of your page. If you're pointing to more than three elements, you're likely marking up too much, and the assistant will either truncate or ignore the markup. One well-chosen 40–80 word passage outperforms five scattered paragraphs.
Will speakable schema affect my regular text search rankings?
Speakable schema is not a direct ranking signal for traditional text search results. Its primary effect is on voice and AI-generated answer surfaces. That said, the discipline of writing speakable-quality content — short, direct, factual — tends to improve overall page quality, which can have indirect positive effects on engagement metrics and featured snippet eligibility.
Can I add speakable markup in a CMS like WordPress or Shopify without touching code?
Yes. Most SEO plugins for WordPress (Yoast, RankMath) allow you to inject custom JSON-LD into the page head, where you can add the speakable property manually. On Shopify, you can add JSON-LD to your theme's layout file or use a schema app. The key is assigning a stable CSS class to your speakable element in the page editor, then referencing that class in your JSON-LD block.
What's the difference between speakable schema and FAQ schema for voice search?
FAQ schema structures discrete question-and-answer pairs and is primarily consumed by search engines to generate rich results in text form, though voice assistants can also read the answers. Speakable schema is specifically designed for text-to-speech delivery — it marks any passage (not just Q&A pairs) as audio-ready. The two are complementary: FAQ schema covers your Q&A content, speakable covers your summary and key factual passages.
How do I know if my speakable markup is working?
Use the Schema Markup Validator at validator.schema.org to confirm the SpeakableSpecification object is parsed correctly and your CSS selectors resolve. For performance signals, filter Google Search Console's query report for question-format queries (what, how, where, when) and watch for impression growth on those terms after implementation. There's no dedicated speakable report in GSC as of mid-2026, so proxy metrics are your best available signal.
Find KOIRA on
XLinkedInFacebookCrunchbaseWellfoundF6S
Keep reading
Updates
Google's 2026 Algorithm Shifts: What Small Businesses Actually Need to Do
8 min read
Updates
Perplexity's Indexing Has Changed — Here's What That Means for Your Content
9 min read
Guides
How to Find Keyword Gaps Without Buying SEO Tools
9 min read
Guides
How to Fill Cancellations from a Waitlist Automatically
9 min read
Stay in the loop
New posts, straight to your inbox.
Marketing and sales insights from the KOIRA team. No filler.
Speakable Schema: What It Is and Why Voice Search Needs It
Get KOIRA