NEWWorld's first AI visibility audit tool for Web3 is live.Run free audit →
PLAYBOOK AEO Last reviewed

Add Speakable Schema to FAQ Blocks for Higher AI Engine Citations

Speakable wraps key answer paragraphs and signals to AI engines "extract this for voice and direct answers." Underused in crypto, big AEO impact when added. 5-minute task with 30-50% citation rate lift.

Time
5-15 minutes per page
Difficulty
Beginner
Impact
High

Why this matters

Before state (what bad looks like)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Is Aave safe to use?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Aave has been audited 12+ times..."
      }
    }
  ]
}
</script>

Step-by-step

Step 1: Identify pages with existing FAQ blocks

List all pages with FAQ schema (FAQPage type). Use Crawlux Token Schema Audit or grep your site for "@type": "FAQPage". Pillar guides, comparison pages, protocol pages typically have FAQ blocks already. These are your target pages.

grep -rn '"@type": "FAQPage"' your-site/

Step 2: Add CSS selectors that wrap your FAQ answers

Speakable uses cssSelector to identify which DOM elements contain the "extract this" content. Add a class to your FAQ answer divs (e.g., class="faq-answer") and to your quick answer callout (e.g., class="quick-answer"). Both become Speakable targets.

<div class="quick-answer">
  Aave is a DeFi lending protocol audited 12+ times with $11.2B TVL.
</div>

<div class="faq-item">
  <h3>Is Aave safe to use?</h3>
  <div class="faq-answer">Aave has been audited 12+ times by leading firms...</div>
</div>

Step 3: Add Speakable specification to FAQPage schema

Add the speakable property to your existing FAQPage schema. Use SpeakableSpecification with cssSelector pointing to your FAQ answer class plus any other key answer sections (quick answer callouts, summary boxes).

"speakable": {
  "@type": "SpeakableSpecification",
  "cssSelector": [".faq-answer", ".quick-answer", ".key-takeaway"]
}

Step 4: Optional: use xpath instead of CSS selector

If your CSS selectors are unreliable, use xpath instead. cssSelector is simpler and works for most cases. Use one or the other, not both.

"speakable": {
  "@type": "SpeakableSpecification",
  "xpath": ["//div[@class='faq-answer']"]
}

Step 5: Validate against Schema.org Validator

Run validator.schema.org on your updated page. Speakable should validate cleanly with no warnings. Google Rich Results Test won't show Speakable as a primary rich result type but that's fine; Speakable's main consumer is AI engines and voice assistants, not Google's rich results.

Step 6: Deploy and test AEO citation rate

Push to production. Two weeks later, run your top 10 queries in ChatGPT, Perplexity and Claude. Note which answers cite your site. Compare to baseline citation rate before Speakable. Most sites see 30-50% lift in citation rate within 30 days.

FREE WEB3 AUDIT

See where this playbook applies to your site.

Run a free Crawlux audit before you start the playbook. It tells you which fixes are most urgent.

Free first audit · No signup · 60 seconds · Full PDF report

After state (what good looks like)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [".faq-answer", ".quick-answer"]
  },
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Is Aave safe to use?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Aave has been audited 12+ times..."
      }
    }
  ]
}
</script>

How to validate the fix

Common pitfalls

Pitfall

Adding Speakable without FAQPage

Speakable can be added to Article or other types but works best paired with FAQPage. If your page doesn't have FAQPage yet, add it first. Speakable on a bare HTML page does little.

Pitfall

CSS selector that doesn't exist

If cssSelector points to .faq-answer but your DOM uses .accordion-content, Speakable resolves to nothing. Always validate that the selector actually matches DOM elements.

Pitfall

Pointing Speakable at the entire page

Don't use cssSelector: ["body"] or similar broad selectors. Speakable should point to specific answer-bearing elements. Broad selectors get ignored by parsers.

Pitfall

Speakable on pages without good answers

Speakable amplifies what's on the page. If your answers are vague or marketing-driven, Speakable amplifies vagueness. Make sure FAQ answers are concrete before adding Speakable.

Pitfall

Forgetting to update Speakable when content changes

If you redesign your FAQ block and change the class names, update the Speakable cssSelector. Stale selectors become invisible.

If something breaks: rollback

Remove the speakable property from FAQPage schema. Page falls back to regular FAQPage behavior within minutes. Citation rate may regress but no risk to site functionality.

Run a free Crawlux audit on this fix

Crawlux validates the schema, technical and AEO fixes from this playbook automatically. Free tier on one domain.

Run free audit →

FAQ

Does Speakable work outside FAQPage?

Yes. Speakable can be added to Article, BlogPosting, NewsArticle and most schema types. The pattern is the same: SpeakableSpecification with cssSelector or xpath pointing to the most-quotable sections of the page.

Will Speakable affect Google rich results?

Speakable isn't in Google's primary rich result types yet but it's parsed and used for voice answers. The main beneficiary is AI engines (ChatGPT, Perplexity, Claude) which weight Speakable-marked content higher for citations.

Can I use Speakable for marketing copy?

Technically yes but it backfires. AI engines extract Speakable content verbatim. If your marketing copy is promotional, AI engines may extract it but flag it as biased. Use Speakable for factual answers, not marketing claims.

How specific should cssSelector be?

Specific enough to match only the answer-bearing elements. .faq-answer is good. .content is too broad. Use class names dedicated to the answer sections, not generic content classes.

Does Speakable have a length limit?

No formal limit but practical limit is 1-3 sentences per Speakable section. AI engines extract these as direct answers; longer than 3 sentences typically gets truncated. Optimize answers to 1-3 sentences for best extraction.

Related playbooks

Pillar guides

Audit modules

RUN YOUR FIRST AUDIT

Run the playbook against a real audit.

Get a free Crawlux audit report and use it as the baseline for the work in this playbook.

Free first audit · No signup · 60 seconds · Full PDF report

Audit this fix → Free audit