Date post: | 14-Apr-2017 |
Category: |
Data & Analytics |
Upload: | phil-pearce |
View: | 3,731 times |
Download: | 0 times |
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)
JSON-LD adoption rate 2016
http://trends.builtwith.com/docinfo/JSON-LD
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
Empty page…
bit.ly/winningthewar1
Winning the war examples…
bit.ly/winningthewar2
Winning the war examples…
bit.ly/winningthewar33
The next page has the following action
Future Action: Watch
What is JSON-LD video
https://www.youtube.com/watch?v=vioCbTo3C-4 And https://www.youtube.com/watch?v=XXw8g-FbemI#t=251
<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
http://peadig.com/wordpress-plugins/structured-social-profiles/ https://wordpress.org/plugins/structured-social-profiles/
JSON-LD added via Wordpress plugin automatically in <head>
(not tested)
JS testing tool in GWT... www.google.com/webmasters/tools/googlebot-fetch-details?hl=en&siteUrl=xxx
Future Action: Allow robots!
Structure Data Validator (one page at a time)
https://search.google.com/structured-data/testing-tool
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
3. Ping GoogleBot after adding JSONLD
1. Ensure pages validate:
2. Ping GoogleBot to re-crawl by visiting this URL:
Or use “Fetch, render and index” on homepage & individual pages in GWT.
3. Or Click submit sitemap.xml in GWT
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
Note: about Wordpress / Serverside
• Add an ID into <script id="jsonld-review">xxx</script>
https://www.analyticspros.com/blog/tag-management/tracking-semantic-seo-with-google-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