How to Optimize Your Band or Musician Schema Markup & Structured Data for SEO
by on October 10, 2018 in articles DIYmusician Music Industry

Hey musicians and bands! This ‘highly technical’ article was given to me by my dev and may help some of you who are interested in getting one of those cool band “Knowledge Panels” or event and album carousels in Google search using Structured Data for SEO.

You have probably noticed when you ‘google’ a band or musician you can now see “Rich Cards” of their discography. You can also view something called a “Knowledge Panel” that displays concert listings, discography, social profile links and tour event carousels, album carousels and knowledge cards for songs in Google Search.

So, how do you get this to appear for your band?

Well, first you have to add Schema markup. There are music sites that do this automatically like Bandcamp, Bandsintown, SoundCloud and Google Play. Below are some instructions on how to write the code and then how to add it to your website with Google Tag Manager which is easier for a non-tech person to implement. Even though Google might pull this data from other sources. It is always good to have this markup on your official site and having the code in place may boost your chances of Google showing these rich results of your site .

Note: Google does not guarantee that your structured data will show up in search results, even if your page is marked up correctly according to the Structured Data Testing Tool. The Rich Result Testing tool that tests your site for eligibility only works for job postings, recipes, courses, TV and movies and events and not what we need for the music markup. Still it is a good idea to add this code to your website.

So what is schema markup?

Schema markup is a code snippet that you add in your HTML web pages to help search engines consume your data and display this data to people searching for your content. Rich information can include a more complete band Knowledge Panel with concert listings, discography, social profile links and more. It can also help you get tour event carousels, album carousels, knowledge cards for songs, and so on.

What you’ll need:

– A recent version of Chrome or Firefox
– The sample code (see below)
– A text editor (This is optional. You can use the Structured Data Testing Tool to draft your JSON-LD samples)
– Some basic understanding of HTML and JSON syntax
Google Tag Manager account

Bookmark the Structured Data Testing Tool that is provided by Google to show you what kind of structured data exists on your pages after you add the code.

For musicians and bands, here are the types of Schema Markup

MusicGroup Schema Markup

This should not be on every page of the website but preferably on the homepage, bio page and contact page. MusicGroup schema tells Google that you are a band.

Person Schema Markup and The SameAs Markup

The markup indicates you as a person and the official social profiles using the SameAs markup. There is a specific list of social profiles that Google will recognize here. Adding this schema helps you get those social profile icons into your Knowledge Panel.

Supported Social Profiles

Facebook
Twitter
Google+
Instagram
YouTube
LinkedIn
Myspace
Pinterest
SoundCloud
Tumblr

MusicAlbum Schema Markup

This schema markup shows the music on your website and should be added only to the pages your music appears. Google will use this schema to display information in your Knowledge Panel, like this:

Rich Cards for bands musicians
schema band musician

Event Schema Markup

You can add schema to event listings, to help get your tour date info to appear in Google. Platforms like Bandsintown and Songkick will also generate this schema.

How to Use 'Google Tag Manager' to Add Structured Data to Your Band's Website

Google Tag Manager is a tool that can easily add scripts or pieces of code to a page and there are several advantages to using Tag Manager to implement structured data.

Step 1: Creating the structured data code

Produce structured data JSON-LD code, either by hand or by using Google’s Markup Helper or see this example below and modify it for your band.

MusicGroup Schema Markup

<script>
(function(){
	var data = {
	    "@context": "http://schema.org",
	    "@type": "MusicGroup",
	    "@id": "https://musicbrainz.org/artist/xxxxxx",
	    "name": "Band Name",
		"alternateName": "Alternative name",
		"description": "Band description",
	    "logo": {
	        "@type": "ImageObject",
	        "url": "https://yourwebsite.com/yourlogo.png"
	    },
	    "image": {
	        "@type": "ImageObject",
	        "url": "https://yourwebsite.com/yourbandphoto.jpg"
	    },
	    "url": "https://yourwebsite.com",
	    "genre": [
	        "Progressive Rock",
	        "Progressive Metal"
	    ],
	    "sameAs": [
	        "https://www.facebook.com/username",
	        "https://twitter.com/username",
	        "https://instagram.com/username",
	        "https://www.youtube.com/user/username",
	        "https://soundcloud.com/username",
	        "https://plus.google.com/username"
	    ],
	    "member": [
	        {
	            "@type": "OrganizationRole",
	            "member": {
	                "@type": "Person",
	                "name": "Artist",
					"alternateName": "Alternative Name",
					"givenName": "Real Name if different",
	                "sameAs": "https://yourwebsite.com/bio/"
	            },
	            "roleName": [
	                "guitar",
	                "lead vocals",
	                "drums",
	                "bass",
	                "keyboards",
	                "violin"
	            ]
	        }
	    ]
	};
	var script = document.createElement('script');
	script.type = 'application/ld+json';
	script.innerHTML = JSON.stringify( data );
	document.getElementsByTagName('head')[0].appendChild(script);
})(document);
</script>	

Person Schema Markup

<script>
(function(){
	var data = {
  "@context": "http://schema.org",
  "@type": "Person",
  "name": "Band Name",
  "alternateName": "Real Name",
  "description": "Artist Description",
   	    
  "url": "https://yourwebsite.com",
  "sameAs": [
    "https://www.facebook.com/username",
	"https://twitter.com/username",
	"https://instagram.com/username",
	"https://www.youtube.com/user/username",
	"https://soundcloud.com/username",
	"https://plus.google.com/username"
  ]
};
	var script = document.createElement('script');
	script.type = 'application/ld+json';
	script.innerHTML = JSON.stringify( data );
	document.getElementsByTagName('head')[0].appendChild(script);
})(document);
</script>

MusicAlbum Schema Markup

<script>
(function(){
	var data = {
	    "@context": "http://schema.org",
	    "@type": "MusicAlbum",
	    "@id": "https://musicbrainz.org/release/xxxxxx",
	    "byArtist": {
	        "@type": "MusicGroup",
	        "name": "Bandname",
			"alternateName": "Alternative Name",
	        "@id": "https://musicbrainz.org/artist/xxxxxx",
	        "url": "https://yourwebsite.com"
	    },
	    "genre": [
	        "Progressive Metal",
	        "Metal"
	    ],
	    "image": "https://yourwebsite.com/albumcoverimage.jpg",
	    "name": "Album Name",
	    "numTracks": "6",
	    "track": [
	        {
	            "@type": "MusicRecording",
	            "@id": "https://musicbrainz.org/recording/xxxxxx",
				"position": "1",
	            "duration": "PT4M28S",
	            "name": "Track Name",
	            "url": "https://yourwebsite.com/track/xxxxxx"
	        },
	        {
	            "@type": "MusicRecording",
	            "@id": "https://musicbrainz.org/recording/xxxxxx",
				"position": "2",
	            "duration": "PT5M06S",
	            "name": "Track Name",
	            "url": "https://yourwebsite.com/track/xxxxxx"
	        },
	        {
	            "@type": "MusicRecording",
	            "@id": "https://musicbrainz.org/recording/xxxxxx",
				"position": "3",
	            "duration": "PT3M21S",
	            "name": "Track Name",
	            "url": "https://yourwebsite.com/track/xxxxxx"
	        },
	        {
	            "@type": "MusicRecording",
	            "@id": "https://musicbrainz.org/recording/xxxxxx",
				"position": "4",
	            "duration": "PT3M56S",
	            "name": "Track Name",
	            "url": "https://yourwebsite.com/track/xxxxxx"
	        },
	        {
	            "@type": "MusicRecording",
	            "@id": "https://musicbrainz.org/recording/xxxxxx",
				"position": "5",
	            "duration": "PT5M03S",
	            "name": "Track Name",
	            "url": "https://yourwebsite.com/track/xxxxxx"
	        },
	        {
	            "@type": "MusicRecording",
	            "@id": "https://musicbrainz.org/recording/xxxxxx",
				"position": "6",
	            "duration": "PT3M24S",
	            "name": "Track Name",
	            "url": "https://yourwebsite.com/track/xxxxxx"
	        }
	    ],
	    "url": "https://yourwebsite.com/album/xxxxxx"
	};
	var script = document.createElement('script');
	script.type = 'application/ld+json';
	script.innerHTML = JSON.stringify( data );
	document.getElementsByTagName('head')[0].appendChild(script);
})(document);
</script>

Step 2: Creating tags in Tag Manager

Make a new tag and give it a name (My Band Name, for instance)
Click Tag Configuration and choose tag type: Custom HTML
Paste code from the script helper tool
Check Support document.write
Hit Save

Step 3: Creating triggers

You need to add a trigger, so it knows when to fire the tag. You can do this on the same screen you see in the screenshot above, or directly from the Triggers screen in the Workspace. Click on the Triggering space in your new tag and choose the correct Page View. Choose Page Path and Equals from the dropdown, and paste the URL into the empty box.

To publish your tag, hit the Submit button you see at the top right. Give your version a descriptive name and press Publish. Once you’ve published your structured data tag, go to the Structured Data Testing Tool and enter the URL of the page that should now contain structured data. With this tool you can check if the structured data is implemented correctly.

 




© 2020 olitunes.com All rights reserved Privacy Policy • Terms of Service