XooCode(){

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.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/AudioObject
<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.

schema.org/AudioObject (minimal)
<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.

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.

  1. 01

    Missing contentUrl

    Wrong
    AudioObject with name and duration but no contentUrl
    Right
    "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.

  2. 02

    Missing transcript for SEO

    Wrong
    AudioObject for a podcast with no transcript
    Right
    "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.

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...

Leave a comment