Mobile app version of vmapp.org
Login or Join
Sue5673885

: What is a suitable microdata structure for music mixes? Since Google actively supports the Music microdata structure, I would like to implement this on a site that publishes music mixtapes. In

@Sue5673885

Posted in: #Microdata #SchemaOrg

Since Google actively supports the Music microdata structure, I would like to implement this on a site that publishes music mixtapes.

In context of this website, music mixes are usually 60 minute compilations of music, weaved together in a seamless fashion, much like the experience you'd get when going to an Electronic Dance Music festival.

Problem with the MusicRecording schema

The format of the website doesn't match this microdata structure closely enough. For example, Google Webmasters indicates that my submitted microdata is missing the inablum.name, location and startDate properties. I have no desire of fixing these errors because they do not actually befit my content.

Alternative microdata structures

The main problem with alternative schemas is that I haven't seen official recognition by Google. Other problems are:


BlogPosting

The expected schema for content that is delivered through WordPress, the software on which the website runs. While content can be considered a blog post, its contents are usually little more than a blockquote from the mix artist, and a tracklist for the music used in the mix.
Review

While supported by Google, my content doesn't actually review the mix. It provides information about it. At best, my visitors' comments could be considered mini-reviews, but I have already structured them as Comments.
MediaObject

The main issue with this schema is that it's supposedly used inside another schema as a complement. I don't think it's a good solution to build my entire page's content around MediaObjects.
AudioObject

While more accurate than MediaObject, it faces the same limitations.


What is a suitable microdata structure for music mixes?

What I need seems to exist in schemas, but I only a little bit from each of them. Ideally, a schema that is right for me, would include the following microdata properties:


Name of artist who created the mix compilation (may be a sub schema, for instance a Person or PerformingGroup)
Name of the mix compilation
Artwork of the mix compilation
List of musical works incorporated in the mix compilation, in order of appearance.
Duration of mix compilation
URL to audio file: the actual mix compilation
Date of publishing
Audio format and encoding (for example MP3)
Comments about this content (may be in sub schema, for instance Comment)


Perhaps someone could produce a example of a combination of schemas to include all required properties that Google Webmaster could throw errors on. I'm kind of lost at this point which schema is best for my content.

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Sue5673885

2 Comments

Sorted by latest first Latest Oldest Best

 

@Yeniel560

Google understands microdata, so even if there's a pice of it that it's not mentioned on their list, you still can use it. But in any case, using your restrictions, I think this may work.

<div id="container_for_compilation" itemscope itemtype="http://schema.org/CreativeWork">
<div id="image_for_compilation" itemscope itemtype="http://schema.org/ImageObject">
<img src="http://domain.com/some_picture.jpg" title="super compilation 2014" alt="great description of the image" itemprop="image" />
<span class="hidden" itemprop="about">compilation title</span>
</div>
<div itemscope itemtype="http://schema.org/MusicAlbum">
<h1 itemprop="name">compilation title</h1>
<p itemprop="creator">by somebody</p>
<p>Created <span itemprop="dateCreated">2014-01-01</span></p>
<div id="track_itself" itemprop="track" itemscope itemtype="http://schema.org/MusicRecording">
<meta itemprop="name" content="compilation title" />
<meta itemprop="duration" content="P60M" />
<meta itemprop="url" content="http://domain.com/compilation_file.mp3" />
<meta itemprop="inAlbum" content="none" />
</div>
<h2>duration</h2>
<p itemprop="timeRequired">60 minutes</p>
<h2>Download the file</h2>
<p><a href="http://domain.com/compilation_file.mp3" itemprop="url">name_of_compilation</a></p>
<h2>Technical info of the file</h2>
<dl>
<dt>audio format</dt>
<dd itemprop="encoding">mp3</dd>
<dt>sample rate</dt>
<dd>320 kbps</dd>
</dl>
<h2>Created in</h2>
<p>01 - 01 - 2014</p>
</div>
<div itemscope itemtype="http://schema.org/ItemList">
<meta itemprop="about" content="compilation title" />
<h2 itemprop="name">tracks</h2>
<ul>
<li itemprop="itemListElement">01. track name by an artist</li>
<li itemprop="itemListElement">02. track name by an artist</li>
<li itemprop="itemListElement">03. track name by an artist</li>
</ul>
</div>
<div id="container_for_comments" itemscope itemtype="http://schema.org/CreativeWork">
<h2>comments</h2>
<div id="comment_1" itemscope itemtype="http://schema.org/Comment">
<p itemprop="text">bla bla bla</p>
<p>author: <span itemprop="author">some guy</span></p>
<span class="hidden" itemprop="about">compilation title</span>
</div>
<div id="comment_2" itemscope itemtype="http://schema.org/Comment">
<p itemprop="text">bla bla bla</p>
<p>author: <span itemprop="author">some guy</span></p>
<span class="hidden" itemprop="about">compilation title</span>
</div>
</div>
</div>


Of course the use of some span, meta and ids are just to point out the information that should be used.

The main problem with the structure of schema.org for music (and other elements) and your criteria is that compilations are not a common thing. Schema.org is not prepared for uncommon things; unless you consider using the expand system.

So, some information have to be duplicated, like name of album and name of song. Of course you can mix more kinds or subcategories, but then is more difficult to relate those parts.

Another element to consider, is that you can use the about to relate information, and that works, but only as a conceptual idea, specially if there are more than one element with the same name. You can use the "isBasedOnUrl" for the songs list, but then you need a specific url for each one.

Also, considering that the songs are not the tracks of the album, you have to move them out of that category and relate them to the album/compilation using the about.

You can find the testing of the code above in here. There may be other options, but I most probably would go with that one with the relevant adjustments to the actual page.

10% popularity Vote Up Vote Down


 

@Cugini213

Is the MusicPlaylist schema a possible option? Perhaps specifying a value for inPlaylist removes any requirements for the inAlbum attributes.

If you were able to post an example URL if your current HTML markup including the schema attributes, then using the Google Webmaster Rich Snippets Tool we might be able to do some trial-and-error style troubleshooting to help provide a more comprehensive solution.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme