XooCode(){

MusicGroup

MusicGroup is a PerformingGroup subtype (extending Organization) for bands, orchestras, choirs, and solo musicians. It has 3 properties of its own: album, genre, and track. Google uses it for the artist knowledge panel, Google Music integration, and artist-related searches.

The type hierarchy is Thing → Organization → PerformingGroup → MusicGroup. Despite the name, MusicGroup works for solo artists too. Schema.org explicitly states it "can also be a solo musician." Use it for any music-making entity.

Full example of schema.org/MusicGroup json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/MusicGroup
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@id": "https://copenhagenensemble.dk#group",
  "@type": "MusicGroup",
  "name": "The Copenhagen Ensemble",
  "description": "Chamber orchestra based in Copenhagen, specializing in film scores and contemporary classical commissions. Founded by conductor Nora Lindgren in 2020.",
  "url": "https://copenhagenensemble.dk",
  "logo": "https://copenhagenensemble.dk/images/logo.png",
  "image": "https://copenhagenensemble.dk/images/ensemble-portrait.jpg",
  "genre": ["Film Score", "Contemporary Classical"],
  "foundingDate": "2020",
  "foundingLocation": {
    "@type": "Place",
    "name": "Copenhagen, Denmark"
  },
  "album": [
    {
      "@id": "https://xoofilms.dk/music/the-childrens-doctor-score#album"
    }
  ],
  "member": [
    {
      "@type": "Person",
      "name": "Nora Lindgren",
      "url": "https://noralindgren.dk",
      "roleName": "Conductor and Composer"
    },
    {
      "@type": "Person",
      "name": "Erik Dahl",
      "roleName": "First Violin"
    },
    {
      "@type": "Person",
      "name": "Sigrid Holm",
      "roleName": "Cello"
    }
  ],
  "sameAs": [
    "https://open.spotify.com/artist/xoo-copenhagen-ensemble",
    "https://www.instagram.com/copenhagenensemble"
  ]
}
</script>

album

album takes a MusicAlbum object or array. This links the artist to their discography. Each album can be a full MusicAlbum object or an @id reference to an album defined elsewhere. Google reads this to populate the discography section of the artist knowledge panel.

genre

genre takes a text string, array, or URL: "Classical", "Jazz", "Film Score". Google uses this for genre-filtered music searches. Use terms that match how listeners search: "rock" not "guitar-based contemporary popular music."

track

track can list individual MusicRecording objects or an ItemList of tracks. This is the artist-level track listing (all tracks by this artist), distinct from the album-level track listing in MusicAlbum. For most use cases, linking albums via album is sufficient. Use track for singles or tracks not on any album.

member and founder

member (inherited from Organization) lists the group's current members as Person objects. founder lists the original founders. For a band, these are the musicians. For an orchestra, list the conductor and principal players. Google reads member names for the knowledge panel's "Members" section.

Minimal valid version

The smallest markup that still produces a valid MusicGroup 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/MusicGroup (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "MusicGroup",
  "name": "The Copenhagen Ensemble",
  "genre": "Film Score"
}
</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 MusicGroup 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

    Using Person for a solo musician

    Wrong
    "@type": "Person" for a solo artist's music profile
    Right
    "@type": "MusicGroup" (schema.org says it "can also be a solo musician")

    MusicGroup is the correct type for any music-making entity, including solo artists. Person describes the individual; MusicGroup describes their music career. A solo artist should have both a Person block (biographical) and a MusicGroup block (discography), linked via sameAs or @id.

  2. 02

    album as a string array

    Wrong
    "album": ["The Children's Doctor: Original Score"]
    Right
    "album": [{ "@type": "MusicAlbum", "name": "The Children's Doctor: Original Score" }]

    album expects MusicAlbum objects, not plain strings. Structured objects let Google match albums to existing knowledge graph entities and display the full discography with artwork and track counts.

  3. 03

    genre too specific or niche

    Wrong
    "genre": "Scandinavian neo-romantic chamber film scoring"
    Right
    "genre": ["Film Score", "Contemporary Classical"]

    genre should use terms listeners actually search for. Hyper-specific genre descriptions do not match search queries. Use broad, recognizable terms and list multiple genres as an array if applicable.

  4. 04

    Missing sameAs links to streaming platforms

    Wrong
    MusicGroup with name and genre but no sameAs
    Right
    "sameAs": ["https://open.spotify.com/artist/...", "https://music.apple.com/artist/..."]

    sameAs links to Spotify, Apple Music, YouTube Music, and Bandcamp are how Google matches your MusicGroup to the artist profiles on those platforms. Without them, Google may not connect your structured data to the streaming platform entries, resulting in a fragmented knowledge panel.

About the example data

The Copenhagen Ensemble is a fictional chamber orchestra that performed the score for The Children's Doctor documentary under composer Nora Lindgren. The album property references the film score album via @id.

Comments

Loading comments...

Leave a comment