Music Recording Schema Generator — Describe Tracks Clearly
Generate valid MusicRecording JSON‑LD for song and track pages. Clarify title, artist, album, duration, and audio details for better understanding.
Why many track pages underperform
Pain points we solve
- Tracks aren’t linked to the right album, fragmenting discographies.
- Duration isn’t ISO 8601, triggering validator warnings.
- Audio file metadata is missing (contentUrl, encodingFormat).
- Solo vs. band credit is inconsistent across releases.
- Official profiles and streaming links aren’t marked with sameAs or url.
How SwiftSchema helps
Solution
The MusicRecording generator focuses on essentials: track title, artist (Person or MusicGroup), album linkage, ISO 8601 duration, and audio details via an AudioObject (contentUrl and encodingFormat).
It outputs clean, copy‑ready JSON‑LD per track, supports canonical url and images, and lets you add sameAs links for official/streaming profiles to strengthen entity understanding.
How it works
How it works
- Choose MusicRecording in the generator below.
- Enter track name, artist (Person or MusicGroup), and album via inAlbum.
- Add duration in ISO 8601 (for example, PT3M45S) and cover image.
- Provide audio details with an AudioObject (contentUrl, encodingFormat).
- Copy JSON or Script, paste into the track page, and validate in the Rich Results Test.
Paste once per track page. Validate. Ship.
What is MusicRecording structured data?
MusicRecording describes individual tracks: title, artist credit, album affiliation, duration, audio sources, cover art, and canonical URLs. It links MusicGroup (artist) and MusicAlbum (release) to the specific song, giving search engines and streaming partners confidence that the track belongs to a particular discography. Accurate track-level schema prevents duplicate entries and keeps reviews, playlists, and lyrics tied to the right song.
Why track markup matters
- Catalog integrity: Track listings, durations, and album links remain consistent across websites, press kits, and streaming embeds.
- Credit accuracy: Proper byArtistattribution helps disambiguate artists with similar names and highlights featured performers.
- Discovery: Structured audio metadata enables assistants and search to route “Play [song] by [artist]” requests to the correct track.
- Automation: Labels can sync track data from their CMS to multiple sites, ensuring each song page contains substantial, up-to-date information instead of thin copy.
Essential properties to include
- name: Track title; usealternateNamefor remixes or translations.
- byArtist: Person or MusicGroup that owns the recording credit. Match the release’s metadata.
- inAlbum: MusicAlbum object referencing the parent release. Includenameand, ideally,urlor@id.
- duration: ISO 8601 string such asPT3M45S.
- audio: AudioObject withcontentUrl,encodingFormat, optionalbitrate,embedUrl, andduration. This represents previews or full streams.
- url: Canonical track page (lyrics, story, or streaming embed).
- sameAs: Official streaming or social links (Spotify track URL, Apple Music, SoundCloud).
- image: Single or track artwork.
- isrcCode: International Standard Recording Code for unique identification.
- inPlaylist: ItemList or Playlist references highlighting curated placements.
- recordingOf: Link to a MusicComposition when modeling works-based catalogs.
Preparing track content before generating schema
- Gather metadata: Track titles, durations, ISRC codes, composers/producers, featured artists, release dates.
- Collect assets: Cover art, artist imagery, waveform visuals, embedded players.
- Map relationships: Determine albums, EPs, and playlists the track belongs to. Note remixes or alternate versions.
- Compile streaming/purchase URLs: Spotify, Apple Music, Bandcamp, SoundCloud, official store downloads.
- Write compelling copy: Provide background, lyrics snippets, credits, or behind-the-scenes notes so the page isn’t thin.
- Plan localization: Translate titles and descriptions for localized pages; prepare localized schema with inLanguage.
- Coordinate rights: Ensure you have permission to share audio URLs or embed players.
Implementation workflow inside SwiftSchema
- Select MusicRecording in the generator.
- Enter name, optionalalternateName,byArtist,duration,image, and canonicalurl.
- Add inAlbumreferencing the parent MusicAlbum (includename,url, and@idif available).
- Configure audiowith an AudioObject:contentUrl,encodingFormat, optionalbitrate,duration,embedUrl.
- Provide sameAslinks for official streaming listings or lyric pages.
- Include isrcCode,inPlaylist,recordLabel, orproducermetadata when relevant.
- Export the JSON-LD, embed it on the track page, and validate via Google’s Rich Results Test or Schema Markup Validator.
Troubleshooting and QA
- Missing album linkage: Always provide inAlbum. Orphan tracks weaken discography relationships.
- Incorrect duration: Use ISO 8601 format (PT+ minutes +M+ seconds +S). Avoid3:45.
- Audio metadata gaps: Include contentUrlandencodingFormat. Ensure URLs are publicly accessible.
- Ambiguous artist: Match the credit from the release. Use MusicGroup for bands, Person for solo acts, and add sameAsto disambiguate.
- Outdated streaming links: When platforms rotate URLs, update sameAsandaudioentries promptly.
- Localization issues: Align inLanguagewith the page’s content and track title translations.
Automate QA by comparing the schema to your master track database. Flag mismatches in duration, album assignment, or artist credit before publishing.
Maintenance and release management
- Update schema when releasing remasters, live versions, or remixes. Different versions should use alternateName,recordingOf, or separate MusicRecording entries.
- Refresh sameAs/audioURLs when licensing or CDN links change.
- Keep isrcCodeaccurate; new versions may get new codes.
- Add playlist references as tracks appear on notable compilations.
- Audit track pages quarterly to ensure metadata, images, and links remain accurate; log updates in your catalog tracker.
Common Errors & Fixes
- Missing album linkage: add inAlbumto connect tracks to releases.
- No audio metadata: include audio.contentUrlandaudio.encodingFormat.
- Incorrect duration: use ISO 8601 (PT3M45S).
- Ambiguous artist: use byArtistwith the proper Person or MusicGroup and includesameAs.
- Absent streaming links: add sameAsorurlpointing to official track pages for better entity resolution.
Required properties
name
Recommended properties
byArtist.nameinAlbum.namedurationisrcCodeaudio.contentUrlaudio.encodingFormatimageurlsameAs[]inPlaylist.name
{
"@context": "https://schema.org",
"@type": "MusicRecording",
"name": "Schema Step",
"byArtist": {
"@type": "Person",
"name": "A. Artist"
},
"inAlbum": {
"@type": "MusicAlbum",
"name": "Structured Grooves"
},
"duration": "PT3M45S",
"audio": {
"@type": "AudioObject",
"contentUrl": "https://cdn.example.com/audio/schema-step.mp3",
"encodingFormat": "audio/mpeg"
},
"image": [
"https://example.com/images/schema-step-cover.webp"
],
"url": "https://example.com/music/structured-grooves/schema-step"
}