Explaining the Rise of JSON-LD (machine readable JS data). Why its important and how to make sure your website has enabled…
future action buttons.
* Recent changes & examples in the wild
* Live demo of Googles mark-up validator
* GTM config files to take away & enable.
2. Welcome Back
Phil Pearce
Analytics Freedom Fighter
www.linkedin.com/in/philpearce
Web Analytics
Exchange
mentor
750 GA
questions answered
Tracking
protection
group
3. Agenda
1. A possible Dark Future
2. Battlefield report: Before vs After
3. Arming-up
1. Enabling markup (Cheat sheets & templates)
2. Shooting range (UI for enabling)
3. Testing it worked
4. JSONLD Listeners
5. A new future
6. 2020: Facebook Network introduce a
new search engine called Mercury, it
used Machine Learning & Facebook`s
database to return the perfect
answer to any question.
7. Google became an obsolete business model
It did`nt have access to the rich structured user & content data stored
in Facebooks proprietary database.
Google was missing a semantic understanding layer.
15. Benefits of JSON-LD
1. Increases organic CTR (Google & Bing)
2. Allows for Action buttons when signed-in
3. Allows you to leverage offsite markup (via LD)
4. Extra organic impressions in card carousal
5. Requirement for AMP pages (e.g News markup)
6. Allows for contentGroups & remarketing
7. Also works in webmail aswell
24. 1. Inline MicroData converted to JSONLD for Courses
bit.ly/rdfa-to-jsonld
2. JS variables converted to JSONLD for Restaurants
bit.ly/js-to-jsonld
Heavy lifting in JS using GTM…
25. GTM JSON-LD example source code…
JSON script are
downloadable
from here:
login:coolgtmstuff
@gmail.com
pw:philrulesgtm8
Auto config import file:
bit.ly/winningthewar6
54. 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"
}
}
}
Page specific
55. 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": {
Page specific
61. Action buttons
also supported in Emails
<script type="application/ld+json">
/*
One Click Action: Confirm Action
https://developers.google.com/gmail/markup/reference/one-click-action#confirm_action
*/
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"description": "Approval request for John's $10.13 expense for office supplies",
"potentialAction": {
"@type": "ConfirmAction",
"name": "Approve Expense",
"handler": {
"@type": "HttpActionHandler",
"url": "https://myexpenses.com/approve?expenseId=abc123"
}
}
}
</script>
62. Here is a live
example from
GitHub emails...
http://semanticweb.com/github-adds-schema-org-actions-email-notifications-via-json-ld_b44450
You have mail
Future Action:
Pull Request
64. 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
5. OpeningHours
6. Address
Good for... Page Specific JSON-LD
1. News data
2. Product data
3. Review data
4. Breadcrumbs
5. Music & TV Product data
6. Local restaurants
65. Ping GoogleBot after making changes
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
76. 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)
77. Video on JSON LD
Very good intro video to JSON-LinkedData
• http://www.youtube.com/watch?v=vioCbTo3C-4
• http://www.youtube.com/watch?v=XXw8g-FbemI
History behind JSON-LinkedData
• http://manu.sporny.org/2014/json-ld-origins-2/
79. Free robot tracking via noscipt
+ session recording (like clicktale)
Yandex metric [config file]
bit.ly/yandexmetricagtm
or bit.ly/yandexmetricagtmV1
1. Create Yandex Account
2. Then go to yanex metrica and create a “counter” account
3. Replace 99999 accountID with your accountID in the
variable
Note: Yandex Metrica uses pageviews for crawl discovery
80. I recommend in the <head> with other <meta tags>
but can be placed anywhere.
Position of JSON LD on a page…
JSON-LD data
Note: If deployed via GTM - I recommend deploying on DOM ready.
81. Planning JSON implantation
Global vs Page specific
Global
1. Brand Logo
2. Phone Number
3. Social Profiles
4. Site Search
5. OpeningHours
6. Address
Page Specific
1. News data
2. Product data
3. Review data
4. Breadcrumbs
5. Music & TV Product data
6. Local restaurants
vs
82. Implementation
Method summary
GTM Wordpress
CMS agnostic Yes No
Supports server-side No
(dataLayer exception)
Yes
InTool JS validation Native n/a
Speed Asynchronous JS Server-side cache
Uneffected by CSS or
DOM ID changes
No, will break
(dataLayer exception)
Yes