Schema MusicAlbum JSON-LD
Build Schema.org MusicAlbum JSON-LD with name, artist (byArtist), release date, genre, label and tracklist (itemListElement of MusicRecording with ISO 8601 duration PT3M42S).
Como usar
Cole o <script type="application/ld+json">...</script> no <head> da página do álbum. O Google entende MusicAlbum + MusicRecording e pode exibir rich results em buscas musicais. A duração das faixas é convertida para o formato ISO 8601 (PT3M42S) conforme exigido por schema.org.
Schema.org MusicAlbum: structured data for album pages
JSON-LD MusicAlbum is the structured-data vocabulary defined by schema.org that tells Google, Bing and Yandex what an album page contains. When an album page exposes a well-formed @type: "MusicAlbum" object with byArtist, track and metadata, search engines can render music rich results — album covers in the knowledge panel, tracklists in carousels, "listen on" buttons that deep-link to Spotify, Apple Music, YouTube Music and Bandcamp. The same JSON-LD also feeds AI assistants (Gemini, ChatGPT search, Perplexity) when they answer "what songs are on this album?".
The minimal shape an album page should expose is below. Every track is a nested MusicRecording with an ISO 8601 duration (PT3M45S = 3 minutes 45 seconds):
{
"@context": "https://schema.org",
"@type": "MusicAlbum",
"name": "Acabou Chorare",
"albumProductionType": "StudioAlbum",
"byArtist": {
"@type": "MusicGroup",
"name": "Novos Baianos",
"sameAs": ["https://open.spotify.com/artist/...",
"https://musicbrainz.org/artist/..."]
},
"datePublished": "1972-09-01",
"genre": "MPB",
"recordLabel": "Som Livre",
"numTracks": 8,
"track": [{
"@type": "MusicRecording",
"name": "Brasil Pandeiro",
"duration": "PT4M21S",
"isrcCode": "BR-XYZ-72-00001",
"byArtist": { "@type": "MusicGroup", "name": "Novos Baianos" },
"inAlbum": { "@type": "MusicAlbum", "name": "Acabou Chorare" }
}]
}
Album production types and identifiers
Schema.org accepts a precise albumProductionType: StudioAlbum, LiveAlbum, CompilationAlbum, MixtapeAlbum, DemoAlbum, RemixAlbum, SoundtrackAlbum, SpokenWordAlbum. The albumReleaseType distinguishes AlbumRelease, SingleRelease, EPRelease, BroadcastRelease. Track-level isrcCode carries the International Standard Recording Code — the 12-character identifier (e.g. BR-XYZ-23-00001) issued by IFPI national agencies that uniquely tags every commercial recording in royalty systems.
Cross-linking with sameAs to streaming services
The sameAs property is the most underused win. Listing the album's Spotify URI, Apple Music ID, Tidal page, Bandcamp URL, YouTube Music link and MusicBrainz release MBID lets Google merge entities across services. The MusicBrainz ID is particularly valuable — it is the open, community-maintained canonical ID and is what knowledge graphs cross-reference. Add Genius as a lyrics provider via lyrics, and Discogs as a release database via additional sameAs entries.
Validation, tooling and ID3 reuse
Run the JSON-LD through Google Rich Results Test, schema.org validator and Lighthouse SEO audit. Common bugs: forgetting the PT prefix on ISO 8601 durations, mixing string and number types, or omitting @context. If you already write ID3 tags on MP3 files (TPE1 artist, TIT2 title, TLEN length), the same data maps 1:1 into MusicRecording — extract via mp3-tags, music-metadata on Node or mutagen in Python and feed the generator. For Brazilian artists (Anitta, Caetano Veloso, Marisa Monte, Tim Maia) pair this with hreflang and translated album notes to capture both EN and PT-BR rich results.
FAQ
Does MusicAlbum JSON-LD really improve SEO? Yes for rich results — Google explicitly documents album panels, tracklist carousels and "music" knowledge cards. Indirect ranking effects come from cleaner entity disambiguation.
Is it mandatory? No. Pages render fine without structured data, but they forfeit rich snippets, voice-assistant readability and AI-search citation. For music sites it's leaving money on the table.
Can the generator auto-detect Spotify metadata? Through OEmbed and Open Graph yes, but the Spotify Web API gives canonical data. Combine: Open Graph for human-facing share cards, JSON-LD MusicAlbum for machines.
Where do I put the script tag? Inside <head> as <script type="application/ld+json">. Multiple JSON-LD blocks per page are allowed and standard practice.
Related Tools
Handwriting Generator
Convert typed text into an image with handwriting appearance. Useful for adding a personal touch to digital work.
Resume Generator
Fill a simple printable A4 CV from a form with personal data, education and experience.
Favicon Generator
Generate a favicon from text/emoji in all common sizes (16, 32, 48, 64, 192, 512). PNG download.