AudioObject
AudioObject is a MediaObject subtype for audio files: podcast episodes, music tracks, audio books, sound effects, radio clips. It has 3 properties of its own: caption (subtitle file or text), transcript (full text transcript), and embeddedTextCaption (baked-in caption text). All MediaObject properties apply: contentUrl (the audio file URL), encodingFormat (MIME type), duration, bitrate.
The type hierarchy is Thing → CreativeWork → MediaObject → AudioObject. Google reads AudioObject for podcast and audio search results. The transcript property is especially useful for SEO: Google can index the transcript text, making the audio content searchable by its spoken words.
Full example of schema.org/AudioObject json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "AudioObject",
"name": "Structured Data Deep Dive: Episode 12 Audio",
"description": "Audio recording of the Structured Data Deep Dive podcast, Episode 12: Schema Markup for E-Commerce.",
"contentUrl": "https://xoocode.com/podcast/episodes/12/audio.mp3",
"encodingFormat": "audio/mpeg",
"duration": "PT42M15S",
"bitrate": "192 kbps",
"transcript": "Welcome to Structured Data Deep Dive, episode 12. Today we are covering schema markup for e-commerce sites. Product markup is the highest-impact schema type for online stores...",
"datePublished": "2026-05-01",
"author": { "@id": "https://xoocode.com#organization" },
"inLanguage": "en"
}
</script>transcript
transcript is the full text transcript of the audio. This is a major SEO property: audio content is not directly indexable by search engines, but the transcript is. Include the full transcript or a substantial excerpt. Google may use it for featured snippets from podcast content.
contentUrl and encodingFormat
contentUrl is the direct URL to the audio file. encodingFormat is the MIME type: "audio/mpeg" for MP3, "audio/ogg" for OGG, "audio/wav" for WAV. Google needs both to verify the audio file exists and to determine playback compatibility.
Minimal valid version
The smallest markup that still produces a valid AudioObject entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "AudioObject",
"name": "Structured Data Deep Dive: Episode 12 Audio",
"contentUrl": "https://xoocode.com/podcast/episodes/12/audio.mp3",
"encodingFormat": "audio/mpeg",
"duration": "PT42M15S",
"description": "Podcast episode on schema markup for e-commerce."
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsPodcast/audio result (indirect)
Common AudioObject mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
Missing contentUrl
WrongAudioObject with name and duration but no contentUrlRight"contentUrl": "https://xoocode.com/podcast/episodes/12/audio.mp3"contentUrl is the direct URL to the audio file. Without it, Google cannot verify the audio exists or offer playback. It is the most important MediaObject property.
- 02
Missing transcript for SEO
WrongAudioObject for a podcast with no transcriptRight"transcript": "Welcome to Structured Data Deep Dive..."Audio content is not directly indexable. The transcript makes spoken words searchable. Google can use transcript text for featured snippets. If you have a transcript, include it.
Schema properties in this example
About the example data
The audio file for the Xoo Code podcast episode, with a full transcript making the spoken content searchable.
Comments
Loading comments...