Speakable Schema Generator
Mark up content sections for Google Assistant and voice search devices. Enable text-to-speech playback of your news articles and web pages for hands-free consumption.
Speakable schema identifies sections optimized for text-to-speech playback via Google Assistant. Currently in beta and available for news content in English (US). Use CSS selectors or XPath to mark specific content sections. Learn more about Speakable markup β
Pro Tip: Keep speakable sections between 20-30 seconds (2-3 sentences) for optimal listening experience. Avoid marking captions, datelines, or photo credits. Test with “Hey Google, what’s the latest news about [topic]?”
How to Add Speakable Schema
Enable Google Assistant to read your news content aloud. Optimize for voice search and reach users on smart speakers and mobile devices.
Beta Feature - Limited Availability
Speakable schema is currently in beta and only available for news publishers in the United States with content in English. Google News approval is required. The feature may expand to other regions and languages as adoption grows.
Where to Place the Code
Add the JSON-LD code to the <head> section of your article or web page. The speakable property should reference content sections that work well in audio-only contexts.
- Use CSS selectors (recommended) or XPath to target elements
- Mark concise headlines and summary paragraphs
- Avoid marking entire articlesβfocus on key points only
- Ensure selected content makes sense without visual context
{
"@context": "https://schema.org",
"@type": "Article",
"name": "Article Title",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".headline", ".summary"]
},
"url": "https://example.com/article"
}
</script>
Validation Checklist
Google News Approval
Your site must be approved for Google News to be eligible for speakable rich results
Valid Selectors
Use CSS selectors or XPath (not both) that accurately target your content sections
Audio-Friendly Content
Marked sections must make sense without visual contextβavoid photo captions and datelines
Optimal Length
Keep speakable sections to 20-30 seconds (2-3 sentences) for best user experience
CSS Selector vs XPath
Choose the selector method that best matches your site's structure. CSS selectors are recommended for most implementations due to simplicity.
π¨ CSS Selectors (Recommended)
Easier to implement and maintain. Works great with class-based HTML structures commonly used in modern CMS platforms.
.speakable
#summary
.article-content p:first-child
π XPath
More powerful for complex XML structures. Useful when CSS selectors cannot uniquely identify target elements.
/html/body/div[@class='content']
//article/p[1]
//div[contains(@class, 'speakable')]
β οΈ Don't Mix Selectors
Use either cssSelector OR xpath, never both in the same SpeakableSpecification object.
π― Target Multiple Sections
You can specify multiple selectors as an array to mark different content sections as speakable.
π Semantic HTML
Use semantic class names like .speakable or .tts-content to make implementation clearer.
Best Practices for Speakable
Follow these guidelines to maximize the effectiveness of your speakable markup and improve voice search visibility.
β±οΈ Keep It Brief
20-30 seconds of content (2-3 sentences) is ideal. Long sections lose listener attention and may be truncated.
ποΈ Write for Listening
Use short, clear sentences. Rewrite complex passages to sound natural when read aloud by text-to-speech systems.
π« Avoid Visual References
Don't mark content that references "the image above" or "see chart below"βit confuses audio-only listeners.
π° News Focus
Currently optimized for news content. Focus on headline, lead paragraph, and key summary sections.
π Test Your Selectors
Verify your CSS selectors or XPath actually target the intended elements before deploying to production.
π± Mobile Ready
When Assistant reads your content, it sends the URL to the user's phoneβensure your pages are mobile-optimized.
π€ Voice Commands to Test Your Content
- "What's the latest news about [topic]?"
- "What's the latest news on [topic]?"
- "Play news about [topic]."
- "What are the top stories?"