Advanced Structured Data: Beyond Rich Snippets

33
Structured Data: Beyond Rich Snippets

Transcript of Advanced Structured Data: Beyond Rich Snippets

Structured Data: Beyond Rich Snippets

Justin Briggs

Founder, Briggsby [email protected]

@JustinRBriggs

Taking on new clients

Schema takes you from web to data

Relationships Defined as Triples

Subject Object Predicate => =>

Getting Crazy With Movie Relationships

Psycho (Movie) Alfred Hitchcock Has Director => =>

Structured Data in SERPs

Increase Visibility & CTR

Rich Snippets

•  Reviews •  People •  Products •  Businesses & organizations •  Recipes •  Events •  Music

Encoding with Microdata

Tea Chai Té An awesome tea shop in a caboose. 7983 SE 13th Ave Portland, OR Phone: 503-432-8747

<div itemscope itemtype="http://schema.org/LocalBusiness"> <span itemprop="name">Tea Chai Té</span> <span itemprop="description">An awesome tea shop in a caboose.</span> <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> <span itemprop="streetAddress">7983 SE 13th Ave</span> <span itemprop="addressLocality">Portland</span>, <span itemprop="addressRegion">OR</span> </div> Phone: <span itemprop="telephone">503-432-8747</span> </div>

Encoding with JSON-LD

Tea Chai Té An awesome tea shop in a caboose. 7983 SE 13th Ave Portland, OR Phone: 503-432-8747

<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "LocalBusiness", "address": { "@type": "PostalAddress", "addressLocality": “Portland”, "addressRegion": “OR”, "streetAddress": "7983 SE 13th Ave" }, "description": "An awesome tea shop in a caboose.", "name": "Tea Chai Té", "telephone": "503-432-8747" } </script>

Microdata or JSON-LD

•  Works with information already present •  Minimal effort to qualify existing

information •  Awkward situations to get certain data

marked up •  Inserting data on page for markup only

•  Can be added to hyperlinks

Microdata JSON-LD

•  Not dependent on information already present

•  Compact and direct

•  Duplicate calls already made to build page

•  No relation to page content

•  Information not normally in markup

They can be used together

Search is rapidly becoming more mobile & conversational

Historical Model of Search

Web Search

Page Page Page

Search as an Interface

Search

Web Email Knowledge Graph Schema Mobile

Apps

Documents Databases Applications

Structured Data for Apps

App Deep Links

android-app://{package_id}/{scheme}/{host_path}

Ø  package_id - app ID in Play store Ø  scheme - http or custom scheme Ø  host_path - specific content within app

App Deep Link Crawl

<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "@id": "http://example.com/gizmos", "potentialAction": { "@type": "ViewAction", "target": "android-app://com.example.android/http/example.com/gizmos" } } </script>

Drive App Engagement

App launch can be default behavior…

Clicking this launches the app!

App Actions

App Indexing Knowledge Graph App Actions + =

App Actions

<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "MusicGroup", "name": "Weezer", "potentialAction": { "@type": "ListenAction", "target": "android-app://com.spotify.music/http/we.../listen" } } </script>

App Actions

Building an Action Graph

Order me a pizza? Schedule my meeting? Drive my car?

Ok, Google

Personalized cards on mobile search

Personalized Google Now Cards

Personal information in search

Understands hotel as entity

Pushes information when it’s needed

Pushed Search Results

Comes from understanding a user’s email

Structured Data For Emails

Parsing Our Personal Data

Gmail extracted structured data

Powers pushed search results

Actions in the inbox <div itemscope itemtype="http://schema.org/EventReservation"> <meta itemprop="reservationNumber" content="E123456789"/> <link itemprop="reservationStatus" href="http://schema.org/Confirmed"/> <div itemprop="underName" itemscope itemtype="http://schema.org/Person"> <meta itemprop="name" content="John Smith"/> </div> <div itemprop="reservationFor" itemscope itemtype="http://schema.org/Event"> <meta itemprop="name" content="Foo Fighters Concert"/> <meta itemprop="startDate" content="2017-03-06T19:30:00-08:00"/> <div itemprop="location" itemscope itemtype="http://schema.org/Place"> <meta itemprop="name" content="AT&T Park"/> <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> <meta itemprop="streetAddress" content="24 Willie Mays Plaza"/> <meta itemprop="addressLocality" content="San Francisco"/> <meta itemprop="addressRegion" content="CA"/> <meta itemprop="postalCode" content="94107"/> <meta itemprop="addressCountry" content="US"/> </div> </div> </div> </div>

Structured data in emails can appear in search results

Pushed Search Results

That’s how you get this!

And this!

Upcoming Events in Knowledge Graph

Event Structured Data <script type="application/ld+json"> [{ "@context" : "http://schema.org", "@type" : "MusicEvent", "name" : "B.B. King", "startDate" : "2014-04-12T19:30", "location" : { "@type" : "Place", "name" : "Lupo’s Heartbreak Hotel", "address" : "79 Washington St., Providence, RI" }, "offers" : { "@type" : "Offer", "url" : "https://www.etix.com/ticket/1771656" } }, ] </script>

Pushed Events

Events pushed in search based off location

Thanks!

[email protected]