JSON-LD, Schema.org, and Structured data

Download JSON-LD, Schema.org, and Structured data

Post on 11-Feb-2017




1 download


PowerPoint Presentation

November 13, 2015Semantic Modelling with JSON-LDSante J. AchilleSearch Marketing Consultant@sjachille

Search Marketing Specialist

Has analyzed and optimized hundreds of websites on 20 years of hands-on professional activity

Loves proverbs and traditions

Motto: Why Be Normal?http://achille.name/


sante@achille.name TODAY WELL TALK ABOUT JSON-LD

smxmilan.it@sjachille#SMX #22A

The biggest challenge for Search Engines?

Reduce Uncertaintiy & Ambiguity

smxmilan.it@sjachille#SMX #22ADATA: Values of qualitative or quantitative variables in raw or unorganized form such as alphabets, numbers, or symbols that refer to, or represent, conditions, ideas, or objects.

Your web pages have an underlying meaning that people understand when they read the web pages.

But search engines have a limited understanding of what is being discussed on those pages.

Why use structured data?

smxmilan.it@sjachille#SMX #22AWhy use structured data?By adding additional tags to the HTML of your web pages you can help search engines and other applications better understand your content and display it in a useful, relevant way.

smxmilan.it@sjachille#SMX #22ARequirements

smxmilan.it@sjachille#SMX #22A


smxmilan.it@sjachille#SMX #22A

smxmilan.it@sjachille#SMX #22A


smxmilan.it@sjachille#SMX #22AJSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for machines to parse and generate. It is based on

JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others.

These properties make JSON an ideal data-interchange language.

smxmilan.it@sjachille#SMX #22A

JSON-LD is a lightweight Linked Data format that is easy for humans to read and writehttp://www.w3.org/TR/2013/CR-json-ld-20130910/http://www.w3.org/TR/2013/CR-json-ld-api-20130910/SpecificationsExampleCreating semantic sites with Web Components and JSON-LD

smxmilan.it@sjachille#SMX #22ASchema.org e JSON-LD

smxmilan.it@sjachille#SMX #22ASchema.org

AvatarDirector: James Cameron (born August 16, 1954) Science fiction Trailer

smxmilan.it@sjachille#SMX #22AJSON-LD{ "@context": { "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "foaf": "http://xmlns.com/foaf/0.1/", "rel": "purl.org/vocab/relationship/", "schema": "https://www.schema.org/" }, "@id": "http://example.com/people/mario-rossi/", "@type" : "foaf:Person", "foaf:name": Mario Rossi", "foaf:based_near": "http://www.geonames.org/3333125", "rel:employerOf": "http://example.com/people/joe-smoe/", "schema:worksFor" : { "@type" : "schema:Organization", "schema:legalName" : Mario Rossi Inc.", "schema:vatID" : "XXXXXXXXX", "schema:email" : mario@rossi.com", "schema:telephone" : "+39.xxx xx xx xxx" } } } }}

smxmilan.it@sjachille#SMX #22AStructured Data & JSON-LD

smxmilan.it@sjachille#SMX #22A

The Resource Description Framework (RDF) is a framework for expressing information about resources. Resources can be anything, including documents, people, physical objects, and abstract concepts. http://www.w3.org/TR/rdf11-primer/ Information is represented by the Node-Arc

smxmilan.it@sjachille#SMX #22A

In RDF the description of a resource is represented by a series of triples. The components of each triple are the Subject - Predicate ObjectA triple emulates the structure of a simple phrase such as "Sante live in L'Aquila

smxmilan.it@sjachille#SMX #22A

The Subject of the triple is the URI, identifying the resource being described

The Object may be a value (string, number, data, ) or the URI of another resource which is somehow related to the subject

The Predicate explains the relationship between subject and object and is a URI chosen amongst those available in the various Vocabularies

smxmilan.it@sjachille#SMX #22A{ "@context": { "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "foaf": "http://xmlns.com/foaf/0.1/", "rel": "purl.org/vocab/relationship/", "schema": "https://www.schema.org/" }, "@id": "http://example.com/people/mario-rossi/", "@type" : "foaf:Person", "foaf:name": Mario Rossi", "foaf:based_near": "http://www.geonames.org/3333125", "rel:employerOf": "http://example.com/people/mario-rossi/", "schema:worksFor" : { "@type" : "schema:Organization", "schema:legalName" : "Mario Rossi Srl", "schema:vatID" : "XXXXXXXXX", "schema:email" : mario.rossi@dominio.com", "schema:telephone" : "+39.123 45 67 890" } } } }}JSON-LD @work

smxmilan.it@sjachille#SMX #22AJSON-LD Specification: http://www.w3.org/TR/json-ld/#syntax-tokens-and-keywords

3.3 Syntax Tokens and Keywords

@contextUsed to define the short-hand names that are used throughout a JSON-LD document

@idUsed to uniquely identify things that are being described in the document with IRIs

@typeUsed to set the data type of a node or typed value

@vocabUsed to expand properties and values in @type with a common prefix IRI JSON-LD @work

smxmilan.it@sjachille#SMX #22AUse JSON-LD to develop a model, which best describes your content to reduce (minimize) ambiguity and uncertaintyJSON-LD @work

smxmilan.it@sjachille#SMX #22A { "@context": { "schema": "https://schema.org/" },"@id" : "https://mywebsite.com/blogposturl/","@type": "schema:BlogPosting","schema:datePublished" : "YYYY-MM-DD","schema:name": "BLOGPOST NAME","schema:headline" : "POST TITLE","schema:description": "A DESCRIPTION - LIKE META DESCRIPTION TAG","schema:mainEntityOfPage" : "URL","schema:image" : "https://mywebsite.com/wp-content/themes/DD-MM-YYYY/images/majestic_large.png",JSON-LD @work

smxmilan.it@sjachille#SMX #22A "schema:isPartOf" : { "@id" : "https://mywebsite.com/", "@type" : "schema:Blog", "schema:name" : "My Blog","schema:description": "A DESCRIPTION OF MY BLOG - HOW BEAUTIFUL AND INTERESTING MY CONTENT IS AND WHY EVERBODY SHOULD READ IT!" },JSON-LD @work

smxmilan.it@sjachille#SMX #22A"schema:author" : { "@id" : "http://blog.achille.name/", "@type" : "schema:Person", "schema:givenName": "FIRST NAME", "schema:additionalName": "MIDDLE NAME OR INITIAL", "schema:familyName": "FAMILY NAME (SURNAME)", "schema:jobTitle" : "SEARCH MARKETING CONSULTANT", "schema:sameAs" : "https://twitter.com/sjachille", "schema:sameAs" : "https://plus.google.com/+SanteJAchille/", "schema:sameAs" : "https://www.facebook.com/sjachille" }}JSON-LD @work

smxmilan.it@sjachille#SMX #22A

smxmilan.it@sjachille#SMX #22AUse in-line schema.org markup to provide detailed information about the page and the various elements (for example images)SCHEMA.org @work

smxmilan.it@sjachille#SMX #22ASchema Markup Model for IMAGES

smxmilan.it@sjachille#SMX #22A

Schema Markup for Documents

[caption] [/caption]

smxmilan.it@sjachille#SMX #22AThis is an iterative process - almost impossible to get it right and complete 1st time around

New properties are constantly published on schema.org Semantic models require periodic updatingTest, Test and Test again!

smxmilan.it@sjachille#SMX #22A

smxmilan.it@sjachille#SMX #22A