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.
Why this matters
- →AI engines (ChatGPT, Perplexity, Claude) parse JSON-LD heavily for retrieval. Speakable explicitly marks the most-quotable sections.
- →Across TG3 client work, sites with Speakable schema on FAQ blocks see 30-50% higher AEO citation rates within 30 days.
- →Voice search is a smaller but real channel. Google Assistant uses Speakable for voice answers.
- →5-minute task. The ROI math is absurd compared to other SEO work.
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
- ✓Schema.org Validator: 0 errors on the speakable property.
- ✓DOM check: every cssSelector in speakable resolves to actual DOM elements on the page.
- ✓AEO baseline test: capture citation rate before deploy across top 10 queries.
- ✓AEO post-deploy test: run same 10 queries 14 days after deploy. Expect 30-50% lift in citation count.
- ✓Voice test: ask Google Assistant a question your FAQ answers. Voice answer should pull from the Speakable-wrapped section.
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
