How to Configure Speakable Markup in AEO God Mode - AEO God Mode

How to Configure Speakable Markup in AEO God Mode

Speakable schema tells voice assistants (Google Assistant, Alexa, Siri) and AI systems which parts of your page are suitable for text-to-speech reading. AEO God Mode adds SpeakableSpecification markup to singular pages when enabled.

Speakable schema tells voice assistants (Google Assistant, Alexa, Siri) and AI systems which parts of your page are suitable for text-to-speech reading. AEO God Mode adds SpeakableSpecification markup to singular pages when enabled.

What Speakable Does

When speakable is enabled, AEO God Mode outputs a separate WebPage schema block on every singular page with a speakable property containing CSS selectors:


{
  "@context": "https://schema.org",
  "@type": "WebPage",
  "name": "Your Post Title",
  "url": "https://yoursite.com/your-post/",
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [".entry-content h2", ".entry-content p:first-of-type"]
  }
}

Voice assistants use these selectors to identify which text to read aloud when a user asks a question that matches your content. The plugin also sends an X-AI-Speakable: true HTTP header on singular pages to signal speakable availability to AI crawlers.

Enabling Speakable

  1. Go to AEO God Mode > Schema (admin.php?page=aeo-god-mode#/schema)
  2. Find the Speakable Schema card at the top
  3. Toggle it ON

This sets speakable_enabled in the asgm_settings option. A beta notice reminds you that Google currently uses speakable markup only for news publishers enrolled in Google News (US, English). If your site is not a news publisher, leave this off.

There is no per-post speakable control. It applies site-wide to all singular pages.

Customizing CSS Selectors

When speakable is enabled, a CSS selector editor appears below the toggle:

  1. The default selectors are .entry-content h2 and .entry-content p:first-of-type
  2. To add a selector, type it in the input field and click Add (or press Enter)
  3. To remove a selector, click the X button next to it
  4. Click Save Selectors to persist your changes

The selectors determine which HTML elements are marked as speakable content. Choose selectors that target the most readable, conversational parts of your posts.

Content Gap Scanner Integration

The Content Gap Scanner includes a no_speakable check. When speakable is enabled globally and a post doesn’t have a speakable summary (stored as _asgm_speakable_summary post meta), the scanner flags it. You can apply a one-click AI fix to generate a speakable summary for flagged posts.

When speakable is disabled, the scanner skips this check entirely.

Content Best Practices for Speakable

Voice assistants work best when the speakable content:

  • Uses clear, conversational language
  • Contains complete sentences (not fragments or bullet lists)
  • Answers questions directly in the first paragraph
  • Avoids jargon or abbreviations that sound awkward when read aloud
  • Keeps paragraphs short (2-3 sentences)

Troubleshooting

Speakable not appearing in schema:

  • Check that the speakable toggle is ON on the Schema page
  • Speakable only fires on singular pages (is_singular() must be true)
  • If the AEO module is disabled, speakable won’t render (it’s part of the AEO layer)

Speakable selectors not matching content:

  • The selectors target standard WordPress content containers
  • If your theme uses unusual markup, your selectors may not match
  • Check your page source to see what CSS classes wrap your post content
  • Add custom selectors matching your theme’s content wrapper

Content gap scanner not flagging speakable:

  • The no_speakable check only runs when speakable_enabled is ON
  • It only checks posts (not pages) with 500+ words
Schema & Structured Data Updated March 11, 2026