understanding & facilitating semantic search - #searchfest 2016

95
@SEMpdx #SearchFest @mike_arnesen upbuild.io Understanding and Facilitating Semantic Search

Upload: mike-arnesen

Post on 14-Jan-2017

4.003 views

Category:

Marketing


0 download

TRANSCRIPT

Page 1: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Understanding and Facilitating

Semantic Search

Page 2: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Get this deckbit.ly/structure-all-the-data

Page 3: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Hey SearchFest 2016!!!

Mike ArnesenFounder & CEO at UpBuildSemantic Markup Geek

Page 4: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Hey SearchFest 2016!!!

<link itemprop="sameAs" href="..." />

Page 5: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Hey SearchFest 2016!!!

<link itemprop="sameAs" href="..." />

Page 6: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

If you know HTML,

you know semantic markup!

It’s Just Semantics!

Page 7: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

An Understanding of HTMLW3Schools

http://www.w3schools.com/html/

Code Academy

https://www.codecademy.com/learn/web

Prerequisites

Page 8: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

But HTML is Just the Beginning

<h1>SearchFest</h1>

Page 9: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

But HTML is Just the Beginning WEBPAGE

has the property

LEVEL 1 HEADING which is equal to

SEARCHFEST.

Page 10: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Ambiguity Strikes!Is it…

an article about the

subject, “SearchFest”?

Page 11: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Ambiguity Strikes!Is it…

a page about an org. called

“SearchFest”?

Page 12: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Ambiguity Strikes!Is it…

an offer to sell tickets for

“SearchFest”?

Page 13: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Ambiguity Strikes!Is it…

discussing this

“SearchFest”

or some other

“SearchFest”?

Page 14: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Ambiguity Strikes!Is it…

a list of events on a page

where

“SearchFest” is one of

many topics.

Page 15: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Ambiguity Strikes!Is it…

a piece about an epic

pilgrimage of wanderers

searching for inner

meaning?

Page 16: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Ambiguity Strikes!Is it…

a piece about an epic

pilgrimage of wanderers

searching for inner

meaning?

Page 17: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Ambiguity Strikes!Or is it just about this thing

we’re at

RIGHT NOW?!

Page 18: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Semantic Markup vs. HTML

Semantic markup takes us

a level deeper

than good old HTML markup

Page 19: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Semantic Markup vs. HTML

Semantic markup takes us

a level deeper

than good old HTML markup

Page 20: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

a level deeper

Page 21: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 22: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 23: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 24: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 25: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

to achieve a greater level of detail & specificity!

Semantic markup allows us

Page 26: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

to achieve a greater level of detail

and specificity!

Semantic markup allows us

to focus in on a single point

Page 27: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

no common languageA web without semantic markup has

Page 28: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Fashion axe brooklyn truffaut, poutine tacos farm-to-table readymade selfies pop-up. Mlkshk ennui fashion

axe offal, ugh flannel ramps listicle. Locavore kale chips pickled selvage PBR&B. Slow-carb scenester

chambray four dollar toast authentic, dreamcatcher church-key polaroid fanny pack PBR&B. Freegan forage

tumblr, narwhal cornhole you probably haven't heard of them beard 8-bit celiac. Put a bird on it salvia kogi

listicle selfies venmo, single-origin coffee humblebrag hashtag chambray kitsch vegan pug mlkshk. Gastropub

vice forage umami, mumblecore vegan messenger bag retro pinterest you probably haven't heard of them

organic cornhole art party leggings. Fixie fap mustache, authentic knausgaard butcher scenester gentrify

hammock cred man bun. Single-origin coffee art party cold-pressed, iPhone direct trade leggings next level

taxidermy pop-up blog squid thundercats disrupt. Mustache synth green juice, DIY tote bag farm-to-table

humblebrag knausgaard ethical dreamcatcher squid banjo. Keffiyeh fixie flexitarian, umami venmo godard

poutine 8-bit chartreuse chillwave. Banjo deep v ethical you probably haven't heard of them, man braid pug

Page 29: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Semantic markup is like

a Rosetta Stone

Page 30: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Again, common language

<h1>SearchFest</h1>

<div>SearchFest</h1>

<p>Search<span class="blue">FEST</></p>

<h2>SearchFest</h2>

<a href="/">SearchFest</a>

Page 31: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Again, common language

<h1 itemprop="name">SearchFest</h1>

<div itemprop="name">SearchFest</h1>

<p itemprop="name">Search<span class="blue">FEST</></p>

<h2 itemprop="name">SearchFest</h2>

<a itemprop="name" href="/">SearchFest</a>

Page 32: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 33: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Data Models vs. Vocabularies

Microdata

RFDa

Your Data

schema.org

JSON-LD

Dublin Core

GoodRelations

Page 34: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Schema.orgOur dictionary of choice.

Page 35: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

In Your Toolbox- Itemscope- Itemtype

- Itemprop

Page 36: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

In Your Toolbox- Itemscope- Itemtype

- Itemprop- Itemref- Itemid

Page 37: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

What is Itemscope?“I’ve got something to say!”

Page 38: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

What is Itemtype?Now that you have everyone’s attention…

“Okay, I want to talk about _______.”

Page 39: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

What is Itemprop?All the details about what you just said you’d be talking about.

“And another thing!”You can (and will) use many itemprops.

Page 40: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

What is Itemprop?These are specific data points about the thing (itemtype) you’re talking about.

Page 41: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

What is Itemprop?Many itemprops appear across all itemtypes.

NAMEDESCRIPTION

URLIMAGE

Page 42: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

What is Itemprop?Others are unique to one or a few itemtypes.

DIRECTOROFFERSDURATION

MANUFACTURERSKU

CONTAINSPLACE

BREADCRUMB

ARRIVALBUSSTOP

BIRTHDATE

Page 43: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

What are Embedded Entities?Itemscopes within itemprops!

Page 44: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 45: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 46: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

What are Embedded Entities?An Event entity is declared with an itemtype.

A PostalAddress entity is, too.

Page 47: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

What are Embedded Entities?An Event entity has a location itemprop

which should be an PostalAddress.

The value of the parent entity’s itemprop

is another entity embedded within in.

Page 48: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Event

Location Place

City

State

Name SearchFest

Name

Address

The Sentinel Hotel

Portland

Oregon

Page 49: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

ImplementationThat’s all well and good,

but how do we do it?

Page 50: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Finding Your Schema Use schema.org/docs/schemas.html

Page 51: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Finding Your SchemaA) Use “Full List of Types”

B) Find a good starting point and

drill down as much as required

Page 52: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 53: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 54: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 55: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Pro Tips● More is better - except hidden text● Pay attention to “Text” vs. “Expected Types”● Test with multiple tools

Page 56: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

No Hidden TextDon’t apply semantic markup to text that’s not visible to users.

When it’s okay:Dates/times

Implicit information

References to entities

Page 57: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Text vs. Expected Types

Some itemprops can just be text.

Some itemprops must refer to other itemtypes(entities).

Page 58: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Test with Multiple ToolsStructured Data Testing Toolhttps://developers.google.com/structured-data/testing-tool/

Structured Data Linterhttp://linter.structured-data.org/

Page 59: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Overcoming Common IssuesMicrodata (aka, inline markup) is restrictive and breaks easily.

It’s not uncommon for information to be in different locations on the page.

Page 60: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Enter Itemref & ItemidBringing us all together

Page 61: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Itemref & ItemidThese tools allow you to bridge the gap between <divs>, structures, and even pages and websites.

Page 62: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

ItemrefReference data points to use as properties in your main entity.

ItemidLink to other identified entities as properties forto your main entity.

Page 63: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Using ItemrefTL;DR - Create an independent “data blob” that you can refer to from your main entity using itemref.

Page 64: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Using Itemref1) Wrap a <span> or <div> around your data to form your data blob. Give it an itemscope but not an itemtype.

Page 65: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Using Itemref2) Markup the data you want to reference using an itemprop, just like it was part of your main entity. Give it a unique id as well.

Page 66: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Using Itemref3) On your main entity, add an itemref attribute to the main itemscope and itemtype declaration. Specify the unique id that you gave your “data blob”

Page 67: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 68: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Using ItemidTL;DR - Give a whole entity a unique identifier that you can link to in order to fill out a property.

Page 69: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Using Itemid1) Markup the entity like normal. Start with itemscope and itemtype and then get into the specific itemprops.

Page 70: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Using Itemid2) Add itemid with a fragment identifier.

Page 71: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Using Itemid3) Within your main entity, include a <link> tag. Specify both the itemprop that the entity will relate to and the fragment identifier.

Page 72: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 73: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Itemref & Itemid In ActionVisit: http://codepen.io/mike_arnesen/pen/jqWzgb

Page 74: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 75: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

No email for the org!

Missing offers!

Page 76: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Email & offers have been integrated!

Page 77: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

JavaScript Object Notation for Linked Data

Page 78: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Supported Types● Organizations

○ Logos○ Social Profiles○ Contact Points

● Events● Music & Movie Actions● Articles & Recipes● (NEW!) Reviews● (NEW!) Products

Page 79: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

JSON-LD vs. Inline MicrodataJSON-LDA method of encoding structured data using Javascript Object Notation

MicrodataA method of encoding structured data using HTML attributes

Page 80: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

JSON-LD vs. Inline Microdata

Microdata

RFDa

Your Data schema.orgJSON-LD

Page 81: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Breaking Down JSON-LDContext@context": "http://schema.org/"

It’s the front half of “itemtype”.

Set it and forget it.

Page 82: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Breaking Down JSON-LDType"@type": "Product"

It’s the back half of “itemtype”.

Set a new one anytime you need to create another entity - nested or separate.

Page 83: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Breaking Down JSON-LDProperties & Values"name": "SearchFest",

"startDate" : "2016-03-10T08:30"

Page 84: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Breaking Down JSON-LDNested Entities"location" : {

"@type" : "Place",

"sameAs" : "http://sentinelhotel.com",

"name" : "The Sentinel Hotel"

}

No need redeclare @context; just start a new @type in {}

Page 85: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

ItemID!!!Using “@id” to identify entities"@type": "Organization",

"@id": "#organizer","name": "SEMpdx",

This entity can now be referenced from within other entities!

Page 86: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

ItemID!!!This entity can now be referenced from within other entities!"organizer": { "@id": "#organizer" }

Page 87: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

JSON-LD in ActionVisit: http://codepen.io/mike_arnesen/pen/jqWzgb

Page 88: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

JSON-LD in Action

Page 89: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Separate Entity

Separate Entity

Page 90: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

One Mega Entity!

Page 91: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Which one?

Page 92: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 93: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

“Use structured data. Google can get information without it, but we can make the processes easier.”

- Ian Lurie, @portentint

Page 94: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Page 95: Understanding & Facilitating Semantic Search - #SearchFest 2016

@SEMpdx#SearchFest

@mike_arnesenupbuild.io

Thank you!

Get this deckbit.ly/structure-all-the-data Resourcesupbuild.io/blog/searchfest-links/