SEO dataLayer 2: Your Structured Sites Judgement Day

Preview:

Citation preview

Slides: bit.ly/datalayer2

SEO dataLayer2:

Your Structured Sites

Judgement Day

Welcome Back

Phil Pearce Analytics Freedom Fighter

www.linkedin.com/in/philpearce

Web Analytics

Exchange

mentor

750 GA

questions answered

Tracking

protection

group

Intro

1. What is JSON-LD?

2. Why is it important? (future actions)

3. How can we reprogram it to our advantage?

4. “Google U” pre-determined actions

5. Winning the War by enabling this markup!

Timeline to Judgement Day…

Microdata (aka Rich snippets) in 2011

<div>

<div itemscope itemtype="http://data-vocabulary.org/Review">

<span itemprop="itemreviewed">L’Amourita Pizza</span>

Reviewed by <span itemprop="reviewer">Ulysses Grant</span> on

<time itemprop="dtreviewed" datetime="2009-01-06">Jan 6</time>.

<span itemprop="summary">Delicious, tasty pizza in

Eastlake!</span>

<span itemprop="description">L'Amourita serves up traditional

wood-fired Neapolitan-style pizza,

brought to your table promptly and without fuss. An ideal

neighborhood pizza joint.</span>

Rating: <span itemprop="rating">4.5</span>

</div>

</div>

Better organic CTR!

Schema.org in 2012 (the mother of JSON-LD)

Previously, we (Google) only looking at content from the HTTP response and didn't interpret what a typical browser running JavaScript would render.

…When pages that have valuable content rendered by JavaScript started showing up, we weren’t able to let searchers know about this content, which was a sad outcome for both users and webmasters.

In order to solve this problem… we started executing JavaScript.

In the past few months, our indexing system has been rendering a more web pages like an average user’s browser (with JavaScript turned on).

JS-Googlebot indexing JS content 2014

From 8months ago: May-2014 Source: googlewebmastercentral.blogspot.co.uk/2014/05/understanding-web-pages-better.html

JSON (2015)

Timeline to Judgement Day… 1. GoogleNet enables GoogleNow on all android

phones by default.

2. GoogleNet Buys “DeepMind” and 6 robotics companies! Yes 6!!

3. Google invest Uber and self-driving cars.

4. Amazon launches auto-buy which buys stuff it thinks you need (free refunds for false positives)

5. GoogleNet`s Now v2 product launched called "Google U" which take care of… everything & includes predetermined actions

Timeline to Judgement Day… • GoogleNet starts auto-optmising user-actions

based on UserLifetimeValue. For example…

GoogleNow + JSON-LD = Predetermined actions

The end of Free Will…

Back to the present day…

Sent back for the Future… Cheatsheets!!

Here are the JSON LD cheatsheets…

But first… “JSON LD playground”

Future Action: Use

playground

Fighting back

JSON ld cheatsheet (on slideshare)

bit.ly/winningthewar4

Microdata >> JSON-LD convertor

bit.ly/winningthewar5

The next page has the following action

Future Action: Watch

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@id": "2356865",

"@type": "Video",

"name": "What is JSON LD",

"potentialAction": [{

"@type": "WatchAction",

"target": "https://www.youtube.com/watch?v=vioCbTo3C-4",

}

</script>

JSON-LD datalayer…

Super-Bad

JS

JS

... renders JSON-linkedData on SERPs

GoogleNet

GoogleNet

Future Action: Call

Organization – Logo, Social and Telephone number

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "Organization",

"url": "http://yourdomain.com/",

"logo": "http://yourdomain.com/images/logo.png",

"sameAs": [

"http://www.facebook.com/yourProfile",

"http://www.twitter.com/yourProfile",

"http://plus.google.com/yourProfile",

"http://www.linkedin.com/in/yourProfile",

"http://instagram.com/yourProfile"

],

"contactPoint": [{

"@type": "ContactPoint",

"telephone": "+1-401-555-1212",

"contactType": "customer service",

"contactOption": "TollFree",

"areaServed": [

"US",

"CA"

],

"availableLanguage": [

"English",

"French"

]

}]

}

</script> Future Action:

Click

Person

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "Person",

"name": "Barack Obama",

"jobTitle": "President",

"affiliation": "Democratic Party",

"additionalName": "Barack",

"url": "http://www.barackobama.com/",

"sameAs": [

"http://www.facebook.com/yourProfile",

"http://www.twitter.com/yourProfile",

"http://plus.google.com/yourProfile",

"http://www.linkedin.com/in/yourProfile",

"http://instagram.com/yourProfile"

],

"address": {

"@type": "PostalAddress",

"streetAddress": "White house, 1600 Pennsylvania Ave",

"addressLocality": "Northwest",

"addressRegion": "Washington"

}

}

</script>

Future Action: Follow

updates

WebSite – Search box

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "WebSite",

"url": "http://yourdomain.com/",

"potentialAction": {

"@type": "SearchAction",

"target": "http://yourdomain.com/?s={search_term_string}",

"query-input": "required name=search_term_string"

}

}

</script>

Future Action: Search

Breadcrumbs

<!-- developers.google.com/structured-data/breadcrumbs -->

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "BreadcrumbList",

"itemListElement": [

{

"@type": "ListItem",

"position": 1,

"item": {

"@id": "http://{{Page Hostname}}/{{jsmacro_pathnameLevel1 - no prepending slash}}",

"name": "{{jsmacro_pathnameLevel1 - no prepending slash}}"

}

},{

"@type": "ListItem",

"position": 2,

"item": {

"@id": "http://{{Page Hostname}}{{Page Path}}",

"name": "{{js_document.title}}"

}

}]

}

</script>

NewsArticle

<!--http://developers.google.com/search/docs/data-types/articles -->

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "NewsArticle",

"mainEntityOfPage": {

"@type": "WebPage",

"@id": "http://{{Page Hostname}}/article1"

},

"headline": "Article headline",

"description": "A most wonderful article",

"image": {

"@type": "ImageObject",

"url": "http://{{Page Hostname}}/thumbnail_1.jpg",

"height": 800,

"width": 800

},

"datePublished": "2016-01-01T00:00:00+08:00",

"dateModified": "2016-01-01T13:00:00+08:00",

"author": {

"@type": "Person",

"name": "John Doe",

"sameAs": "https://plus.google.com/106113236172152128711"

},

"publisher": {

"@type": "Organization",

"name": "Google",

"logo": {

"@type": "ImageObject",

"url": "https://www.newscorp.com/logo.jpg",

"width": 600,

"height": 60

},

"sameAs": "https://www.newscorp.com"

}

}

</script>

Products

<!-- https://developers.google.com/search/docs/data-types/products -->

<script type="application/ld+json">

{

"@context": "http://schema.org/",

"@type": "Product",

"name": "Executive Anvil",

"image": "http://www.example.com/anvil_executive.jpg",

"description": "Sleeker than ACME's Classic Anvil, the Executive Anvil

is perfect for the business traveler looking for something to drop from a

height.",

"mpn": "925872",

"brand": {

"@type": "Thing",

"name": "ACME"

},

"offers": {

"@type": "Offer",

"priceCurrency": "USD",

"price": "119.99",

"priceValidUntil": "2099-01-01",

"itemCondition": "UsedCondition", // schema.org/UsedCondition

"availability": "InStock", // schema.org/InStock

"seller": {

"@type": "Organization",

"name": "Executive Objects"

}

}

}

</script>

Products Reviews

<!-- https://developers.google.com/search/docs/data-types/reviews -->

<script type="application/ld+json">

{

"@context": "http://schema.org/",

"@type": "Product",

"name": "Executive Anvil",

//...//

"aggregateRating": {

"@type": "AggregateRating",

"worstRating": 1,

"bestRating": 5,

"ratingValue": 4.4,

"reviewCount": 1

},

"review": {

"@type": "Review",

"reviewRating": {

"@type": "Rating",

"worstRating": 1,

"bestRating": 5,

"ratingValue": 4.4

},

"name": "A masterpiece of an Executive Anvil",

"datePublished": "2016-01-01",

"reviewBody": "I really like this product. It captures the essential

challenge business traveler looking for something to drop from a height`s",

"author": {

"@type": "Person",

"name": "John Doe",

"sameAs":

"https://plus.google.com/106113236172152128711"

},

"publisher": {

"@type": "Organization",

"name": "John Doe Inc",

"sameAs": "http://www.janedoe.org"

}

}

}

</script>

Review by Expert Author (GoogleNet whitelist)

<!-- https://developers.google.com/structured-data/critic-reviews -->

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "Review",

"author": {

"@type": "Person",

"name": "Lisa Kennedy",

"sameAs": "https://plus.google.com/114108465800532712602"

},

"datePublished": "2014-03-13T20:00",

"description": "Nerve-racking, sentimental and thrilling.",

"itemReviewed": {

"@type": "Movie",

"name": "Gravity",

"sameAs": "http://www.imdb.com/title/tt1454468/",

"datePublished": "2013-10-04T00:00",

"director": {

"@type": "Person",

"name": "Alfonso Cuarón",

"sameAs": "http://en.wikipedia.org/wiki/Alfonso_Cuar%C3%B3n"

},

"actor": [{

"@type": "Person",

"name": "Sandra Bullock",

"sameAs": "http://en.wikipedia.org/wiki/Sandra_Bullock"

},{

"@type": "Person",

"name": "George Clooney",

"sameAs": "http://en.wikipedia.org/wiki/George_Clooney"

}

]

},

"publisher": {

"@type": "Organization",

"name": "Denver Post",

"sameAs": "http://www.denverpost.com"

},

"reviewRating": {

"@type": "Rating",

"worstRating": 1,

"bestRating": 4,

"ratingValue": 3.5

},

"url": "http://www.denverpost.com/movies/ci_24225964/gravity-movie-review-anchored-by-sandra-

bullock-its"

}

</script>

MusicEvent - location

<!– https://developers.google.com/search/docs/guides/mark-up-listings#mark_up_event_listings -->

<script type="application/ld+json">{

"@context": "http://schema.org",

"@type": "MusicEvent",

"name": "Vengaboys",

"image": "http://s1.ticketm.net/tm/en-nz/dam/a/c9b/_76431_EVENT_DETAIL_PAGE_16_9.jpg",

"startDate": "2016-10-28T20:00:00+13:00",

"url": "http://www.ticketmaster.co.nz/?artistid=801989&artistname=Vengaboys",

"location": {"@type": "Place",

"name": "Claudelands Arena",

},

"performer": [{"@type": "MusicGroup",

"name": "Vengaboys",

"sameAs": "http://www.ticketmaster.co.nz/Vengaboys-tickets/artist/801989"

}],

"offers": {"@type": "Offer",

"url": "http://www.ticketmaster.co.nz/?artistid=801989&artistname=Vengaboys"

}

}

</script>

1. MusicEvent 2. TheaterEvent 3. SportsEvent

4. ComedyEvent 5. Festival 6. FoodEvent

Other supported event types include…

Future Action: Buy

Vengaboys

Thu, Nov 28 2016

ticketmaster.co.nz

vengaboys.com

Claudelands Arena Corner of Brooklyn Road and Heaphy Terrace,Claudelands

TheaterEvent - location

<!-- https://developers.google.com/search/docs/data-types/events#venue-markup -->

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "TheaterEvent",

"name": "Julius Caesar at Shakespeare's Globe",

"location": {

"@type": "PerformingArtsTheater",

"name": "Shakespeare's Globe",

"sameAs": "http://www.shakespearesglobe.com/",

"address": "London, UK"

},

"offers": [{

"@type": "Offer",

"name": "Standing (Yard)",

"url": "https://tickets.shakespearesglobe.com/performances.asp?PerIndex=287339",

"category": "primary",

"priceCurrency": "GBP",

"price": "7.50",

"availability": "http://schema.org/InStock"

},{

"@type": "AggregateOffer",

"name": "Lower Gallery",

"url": "https://tickets.shakespearesglobe.com/performances.asp?PerIndex=287339",

"category": "primary",

"priceCurrency": "GBP",

"lowPrice": "17.50",

"highPrice": "44.50",

"availability": "http://schema.org/LimitedAvailability"

}

],

"startDate": "2014-10-01T19:30",

"workPerformed": {

"@type": "CreativeWork",

"name": "Julius Caesar",

"sameAs": "http://en.wikipedia.org/wiki/Julius_Caesar_(play)",

"creator": {

"@type": "Person",

"name": "William Shakespeare",

"sameAs": "http://en.wikipedia.org/wiki/William_Shakespeare"

}

}

}

</script>

Future Action: Buy

MusicGroup - ListenAction

<!-- https://developers.google.com/structured-data/actions/play-music -->

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "MusicGroup",

"url": [

"http://www.iheart.com/artist/Katy-Perry-35141/"

// Google validator does not like android-app URL - even though its in their example!

//, "android-app://com.clearchannel.iheartradio.controller/ihr/listen/custom_radio/artist/35141"

],

"name": "Katy Perry",

"sameAs": "http://www.katyperry.com",

"logo": "http://{{Page Hostname}}/images/logo.png", // PP missing in Google help pages

"description": "Katy Perry is a pop music artist.",

"potentialAction": {

"@type": "ListenAction",

"target": [

"http://www.iheart.com/artist/Katy-Perry-35141/?autoplay=true&ext=1&playedFrom=197"

// Google validator does not like android-app URL - even though its in their example!

//, "android-

app://com.clearchannel.iheartradio.controller/ihr/listen/custom_radio/artist/35141?ext=1&played_from=197"

],

// Offer added as validator said this was a recommended field

"expectsAcceptanceOf": {

"@type": "Offer",

"eligibleRegion": {

"@type": "Country",

"name": "US"

}

}

}

}

</script>

TVEpisode - Play/WatchAction

<!-- https://developers.google.com/structured-data/actions/watch-movies -->

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@id": "2356865",

"@type": "TVEpisode",

"name": "The Occupation Recalibration",

"episodeNumber": 13,

"partOfSeason": {

"@type": "TVSeason",

"seasonNumber": 7

},

"partOfSeries": {

"@type": "TVSeries",

"name": "The Big Bang Theory",

"sameAs": "http://www.imdb.com/title/tt0898266/",

"url": "http://www.cbs.com/shows/big_bang_theory/",

"description": "The Big Bang Theory is an American sitcom."

},

"releasedEvent": {

"@type": "PublicationEvent",

"startDate": "2015-01-09",

"location": {

"@type": "Country",

"name": "US"

}

},

"potentialAction": [{

"@type": "WatchAction",

"target": {

"@type":"EntryPoint",

"urlTemplate": "http://www.cbs.com/shows/bbt/vid/2356865/occupation_recal?campaign=google_kp_watch",

"actionPlatform": "http://schema.org/DesktopWebPlatform",

"inLanguage": "English"

},

"expectsAcceptanceOf": [

{

"@type": "Offer",

"category": "free",

"availabilityStarts": "2015-01-01T00:00",

"availabilityEnds" : "2015-02-01T00:00",

"eligibleRegion": {

"@type": "Country",

"name": "US"

}

},{

"@type": "Offer",

"category": "externalSubscription",

"availabilityStarts": "2015-01-01T00:00",

"availabilityEnds" : "2015-02-01T00:00",

"eligibleRegion": {

"@type": "Country",

"name": "US"

},

"seller": {

"@type": "Organization",

"name": "Comcast",

"sameAs": "http://xfinity.comcast.net"

}

}

]

},{

"@type": "WatchAction",

"target":[{

"@type":"EntryPoint",

"urlTemplate": "android-

app://com.cbs.app/cbs/shows/bbt/vid/2356865/occupation_recal?campaign=google_kp_watch",

"actionPlatform":[

//"http://schema.org/DesktopWebPlatform",

//"http://schema.org/IOSPlatform",

"http://schema.org/AndroidPlatform"

],

"inLanguage": "English"

},{

"@type":"EntryPoint",

"urlTemplate": "http://www.cbs.com/shows/bbt/vid/2356865/occupation_recal?campaign=google_kp_watch", /*

Should be "ios-app://" but Google Validator has a bug with... ios-app

name://530168168/cbs/shows/bbt/vid/2356865/occupation_recal?campaign=google_kp_watch */

"actionPlatform":[

//"http://schema.org/DesktopWebPlatform"

"http://schema.org/IOSPlatform"

],

"inLanguage": "English"

}],

"expectsAcceptanceOf": [

{

"@type": "Offer",

"category": "free",

"availabilityStarts": "2015-01-08T00:00",

"availabilityEnds" : "2015-01-17T00:00",

"eligibleRegion": {

"@type": "Country",

"name": "US"

}

},{

"@type": "Offer",

"name": "CBS All Access",

"category": "subscription",

"availabilityStarts": "2015-01-01T00:00",

"availabilityEnds" : "2015-02-01T00:00",

"eligibleRegion": {

"@type": "Country",

"name": "US"

},

"price": 5.99,

"priceCurrency": "USD",

"seller": {

"@type": "Organization",

"name": "CBS",

"sameAs": "http://www.cbs.com"

}

}

]

}

],

"sameAs": "http://www.imdb.com/title/tt3337730/",

"description": "Sheldon tries to relax after he is forced to take a vacation. (TV-PG D, L)"

}

</script>

LocalBusiness - Restaurant

<!-- https://developers.google.com/search/docs/data-types/local-businesses -->

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "Restaurant",

"name": "Dave's Steak House",

"image": "http://www.example.com/image.jpg",

"url": "http://www.example.com/restaurant-locations/manhattan",

"menu": "http://www.example.com/menu",

"acceptsReservations": "True",

"telephone": "+12122459600",

"address": {

"@type": "PostalAddress",

"streetAddress": "148 W 51st St",

"addressLocality": "New York",

"addressRegion": "NY",

"postalCode": "10019",

"addressCountry": "US"

},

"geo": {

"@type": "GeoCoordinates",

"latitude": "40.761293",

"longitude": "-73.982294"

},

"openingHoursSpecification": [

{

"@type": "OpeningHoursSpecification",

"dayOfWeek": [

"Monday",

"Tuesday"

],

"opens": "11:30",

"closes": "22:00"

},

{

"@type": "OpeningHoursSpecification",

"dayOfWeek": [

"Wednesday",

"Thursday",

"Friday"

],

"opens": "11:30",

"closes": "23:00"

},

{

"@type": "OpeningHoursSpecification",

"dayOfWeek": "Saturday",

"opens": "16:00",

"closes": "23:00"

},

{

"@type": "OpeningHoursSpecification",

"dayOfWeek": "Sunday",

"opens": "16:00",

"closes": "22:00"

}

]

}

</script>

LocalBusiness - HealthClub - ReserveAction

<!--

https://developers.google.com/search/docs/data-types/local-businesses

-->

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "HealthClub",

"name": "Dave's House of Yoga",

"image": "http://daveshouseofyoga.example.com/yoga.jpg",

"url": "http://daveshouseofyoga.example.com/",

"telephone": "+14085551135",

"potentialAction": {

"@type": "ReserveAction",

"target": {

"@type": "EntryPoint",

"urlTemplate": "https://www.example.com/reserve?merchantId=20373",

"inLanguage": "en-US",

"actionPlatform": [

"http://schema.org/DesktopWebPlatform"

//, "http://schema.org/IOSPlatform"

//, "http://schema.org/AndroidPlatform"

]

},

"result": {

"@type": "Reservation",

"name": "Book a class"

}

},

"address": {

"@type": "PostalAddress",

"streetAddress": "3986 Rivermark Pkwy",

"addressLocality": "Santa Clara",

"addressRegion": "CA",

"postalCode": "95054",

"addressCountry": "US"

},

"geo": {

"@type": "GeoCoordinates",

"latitude": "37.3952149",

"longitude": "-121.9474023"

}

}

</script>

New “Kill” action

<script type="application/ld+json">

{

"@context": "http://schema.org",

"potentialAction":

[{

"@type": "MuteAction",

"target": "https://en.wikipedia.org/wiki/Jar_Jar_Binks",

"method": "Slap in face"

},{

"@type": "KillAction",

"target ": "https://en.wikipedia.org/wiki/Jar_Jar_Binks",

"method": "Termation"

}]

}

</script>

Future Action: Kill

Future Action: Mute

Finding JSON…

1. Can be placed anywhere, but I recommend in the <head> with other <meta tags> or next to header dataLayer.

2. If deployed via GTM - I recommend deploying on DOM ready.

Where is JSON LD placed on a page?

JSON-LD data

JS testing tool in GWT... www.google.com/webmasters/tools/googlebot-fetch-details?hl=en&siteUrl=xxx

Future Action: Allow robots!

Structure Data Validator (Whole site in GWT)

JSON-LD examples…

JSON script are

downloadable

from here:

login:coolgtmstuff

@gmail.com

pw:philrulesgtm6

Import file: bit.ly/winningthewar6

How to install & test…

Files to import...

Test Container

Test Container

Select merge

The Power of Structure mark-up = Robot becomes a goodie

Using Structure mark-up to your advantage in email shots

http://semanticweb.com/github-adds-schema-org-actions-email-notifications-via-json-ld_b44450

You have mail

Future Action: Pull Request

Summary

1. Enable JSON-LD via GTM or CMS plugins

Good for... Global JSON-LD 1. Brand Logo 2. Phone Number 3. Social Profiles 4. Site Search

Good for... Page Specific JSON-LD 1. News data 2. Product data 3. Review data 4. Breadcrumbs 5. Music & TV Product data

vs

Future actions…

1. Google JSON-LD Validator- try

2. GTM global JSONLD or CMS page specific JSONLD - install

3. Ping GoogleBot via sitemap.xml - submit

The ability to enable & control

JSONLD users future actions...

...is in your hands!

Questions (Prizes for Questsion)

GET YOUR SEO-ANALYTICS ASS TO MARS

Future Action: Ask Question

MINI-GUN UPGRADES: JSmacro for

"Semantic - Event Markup Detection" GTM import: https://www.dropbox.com/s/mvs84img781le16/OTHER%20-%20semantic-analytics.json?dl=0 // JSmacro for "Semantic - Event Markup Detection" triggered on gtm.dom ready

function () {

var SemElem = document.querySelectorAll('[itemtype=&"Event"]');

SemElem = SemElem.length > 0 ? true : false;

return SemElem;

}

// JSmacro for "Semantic - Event Markup Properties"

function () {

var venue = $('[itemtype*="Event"] [itemprop*="name"]') [0];

var performer = $('[itemtype*="Event"] [itemprop*="performer"]') .text();

venue = $(venue).text();

label = performer + " at " + venue + " (Semantic Event)";

check = venue.length > 0 ? true : false;

if (check === false) {

label = "No semantic data";

return label;

}

else {

return label;

}

}

Source: http://moz.com/blog/semantic-analytics

Free resource...

For everyone else... bit.ly/gtmdevguide2

€ FREE

www.amazon.de/Google-Tag-Manager-Developer-Guide-ebook/dp/B00KEC2IOK

Future Action: Download

HTML5 data-tracking-attributes: onclick mark-up standard

Source: http://www.swellpath.com/2014/08/google-tag-manager-events-using-html5-data-attributes/ and this forum post

<a href="#" class="amazingOfferLink" id="amazingOfferLink1"

data-tracking-action="amazingOffer">Click here</a>

HTML5 name Value data-tracking-action click data-tracking-event video

data-tracking-entity component

data-tracking-event-context-id 12345 data-tracking-event-context-category video

data-tracking-event-context-action play data-tracking-event-context-label short circuit video

data-tracking-event-context-value 0 data-tracking-event-context-noninteractive false

HTML5 data-tracking-attributes: onclick mark-up standard

JSON-LD Links Testing Tools

• JSON-LD playground & validation tools: www.json-ld.org

• Official Google markup-Tester for JSON-LD www.google.com/webmasters/markup-tester/corporatecontacts (phone numbers) www.google.com/webmasters/markup-tester/events (music events) www.google.com/webmasters/markup-tester/ (email)

JSON-LD blog posts • www.seoskeptic.com/json-ld-google-knowledge-graph-schema-org-seo/ • moduscreate.com/google-announces-json-ld-compliance-at-google-io/ • semanticweb.com/category/technologies-2/json-ld • https://schema.org/docs/actions.html (new)

Official Google help pages

• Musical Artists: Specify your events to Google support.google.com/webmasters/answer/4620133?hl=en

• Companies: Specify your customer service numbers to Google support.google.com/webmasters/answer/4620709?hl=en

• Email markup: JSON-LD developers.google.com/gmail/markup/reference/formats/json-ld developers.google.com/gmail/markup/

Links

http://www.simoahava.com/analytics/enrich-serp-results-using-gtm/

http://rdf.greggkellogg.net/distiller

https://developers.google.com/structured-data/testing-tool/

http://search4phil.com/_testing_script/____json_ld/json-ld-test.html

http://www.greenlaneseo.com/blog/2015/01/introducing-the-meta-and-rich-snippet-tester/

https://docs.google.com/spreadsheets/d/1sreYyRZ31HJdM1-WX5wztTIbY28aZjCVmGIWN8WKCEM/edit#gid=674078569

https://developers.google.com/schemas/release-notes

http://www.w3.org/wiki/WebSchemas/ActivityActions

// Script to patch a broken inline JSON-LD values

https://plus.google.com/100057001384327175073/posts/SJjfczNMPhc

Examples in the wild

Ticketmaster (JSON-LD for music events)

https://developers.google.com/webmasters/structured-data/testing-

tool?url=http%253A%252F%252Fwww.ticketmaster.com%252FLady-Gaga-

tickets%252Fartist%252F1249444

http://www.ticketmaster.com/

http://www.bandsintown.com/

http://www.bandpage.com/

http://www.songkick.com/

Nest (Telehone number)

nest.com/about/#contact

LastMinute (DigitalDataLayer only)

www.lastminute.com/hotels/amazing-design-hotel-with-pool-in-east-london-london-

gb.1000071234-1-5-

GH:1$v1v$?intcmp=London+AmazingDesignHotelwithPoolinEastLondon

Test using https://developers.google.com/structured-data/testing-tool/

Other FREE stuff

http://bit.ly/techseoaudit

http://bit.ly/croheatmapaudit

http://bit.ly/cookieaudit