SlideShare a Scribd company logo
1 of 35
Download to read offline
Structured SEO Data:Structured SEO Data:
An overview and how to for DrupalAn overview and how to for Drupal
Greg Monroe
SolarWinds MSP
Drupal Camp Atlanta 2019
The information here is my own and not the views of my employer
Json Voordrop
Why Use Structured Data?
Improved SEO results because it lets Search Engines understand your
content better
Enhanced display of your content in search results such as:
Site Information
Knowledge graphs
Product panels
Rich snippets
Use by aggregating sites
Better Social Sharing
Higher click thru rates and conversions
Site Information Example
Google: Duke Health
Location: Search results
Knowledge Graphs
Google: Dr Barbour
Location: Right side
Google: Hi Wire Durham
Location: Right side
Product Panels
Search: Samsung TabletsSearch: Best Pizza in Asheville
Rich Snippets / Social
How did they do these?
Search Engine magic sauce…
Social Graphing… who you are, where you are, what you
are/have search(ing/ed) for.
Context specific results pages
Use site specific structured data to find and build the results.
Structured Data Definition
Web pages are often filled with free form text, which is easy for
humans to read but more difficult for computers to understand.
Structured data formats are rules that standardize the structure
and content of a web page. They are additional markup that lets
computers more easily process the text meaning or semantics.
Structured Data
A Fractured Fairy Tale History
In the beginning… HTML metadata definitions:
title, description, keywords
The Babel Period: RSS, RDF, RDFa, Open Graph,
vCard/hCard, hCalendar, FOAF, Twitter Cards, and
the like.
Unified Field Theory – Schema.org
Schema.org
Schema.org is a collaborative, community activity with a
mission to create, maintain, and promote schemas for
structured data on the Internet.
The Schema.org vocabulary can be used with many different
encodings, including RDFa, Microdata and JSON-LD.
These vocabularies cover entities, relationships between
entities and actions, and can easily be extended through a
well-documented extension model.
See: http://www.schema.org/
Schemas
Schemas are a set of 'types' or classes, e.g. Organization
These types are arranged in a hierarchy. E.g. Organization is
derived from Thing and has multiple subtypes like
EducationalOrganization, Corporation, LocalBusiness, and more.
Each type has a set of properties, e.g. Organization has a name
property
Types inherit properties from the type above them.
Schemas Hierarchy Sample
Thing
CreativeWork Event Organization Person Place Product
Corporation EducationalOrganization GovernmentOrganization LocalBusiness MedicalOrganization
Dentist DiagnosticLab Hospital MedicalClinic Pharmacy Physician VeterinaryCare
Type Properties Sample
Has 112 properties
Each has an expected type
the property takes.
Some properties can
reference other types.
Embedding Schema Information
Three choice:
Microdata – Requires span tags and special attributes to be
embedded in HTML
RDFa – Similar to Microdata but requires different attributes inside
the HTML
JSON-LD – Google’s preferred method. Information is added in
JSON format in the HTML as script tags of type application/ld+json
JSON-LD Example
<script type="application/ld+json">
{"@context": "https://schema.org",
"@graph": [{
"@type": "Organization", "additionalType": "Corporation",
"@id": "https://www.solarwindsmsp.com/#organization",
"sameAs": ["https://www.youtube.com/channel/UClnp77HHg4aME-S-3fWQhFw",
"https://twitter.com/solarwindsmsp", "https://www.facebook.com/SolarWindsMSP/"],
"name": "SolarWinds MSP UK Ltd.",
"url": "https://www.solarwindsmsp.com/",
"telephone": "+1 919-957-5099",
"logo": { "@type": "ImageObject", "url": "https://www.solarwindsmsp.com/msp-logo.png",
"width": "649", "height": "256"},
"address": { "@type": "PostalAddress", "streetAddress": "3030 Slater Rd",
"addressLocality": "Morrisville", "addressRegion": "NC",
"postalCode": "27560", "addressCountry": "USA" }}]}
</script>
Linking Objects with
JSON-LD Node Identifiers
@type: Organization
@id: http://my.org/#org
@type: Website
@id: http://my.org/#web
Publisher: {
@type: Organization,
@id: http://my.org/#org
}
InLanguage: en
WorkTranslation: {
@id: http://my.org/de#web
}
@type: Website
@id: http://my.org/de#web
Publisher: {
@type: Organization,
@id: http://my.org/#org
}
InLanguage: de
TranslationOfWork: {
@id: http://my.org/#web
}
See: https://www.w3.org/TR/2014/REC-json-ld-20140116/#node-identifiers
Note: The @id URI can be anywhere on the web, they just have to match.
Quick Case Study: Duke Health
Home Page
Organization
WebSite
Doctor Pages
Physician
AggregateRating
Clinic Pages
MedicalClinic
Person
Hospital Pages
Hospital
Doctor Search
AggregateRating
Blog Articles
Og:title, og:type,
Og:description,
Og:url, og:image,
Og:site_name
Event Pages
Event
Place
Notes:
●
Uses microdata
embedding (ld-json
was too new at the
time)
●
Blended Drupal /
AngularJS site so
most info built into
Angular code and
templates.
Structured Data in Drupal
MetaTag module with Schema.org Metatag FTW!
(drupal.org/project/metatag & drupal.org/project/schema_metatag)
Supports all the major structured data standards, including the a
growing group of Schema.org types
Global defaults based on Tags per content type
Allows for individual pages to be customized
I18N Support
Views support
A Quick Setup Guide
Add and enable the MetaTag module to your site
Recommended Submodules to enable:
Metatag: Open Graph
Metatag: Views
Schema.org Metatag
Schema.org Website
Schema.org Organization
Any other Schema type you think you will need.
A Quick Setup Guide (cont)
Go to Admin Configuration Search and Metadata→ Configuration → Search and Metadata →  → Configuration → Search and Metadata →  → Configuration → Search and Metadata → 
Metatag
Adjust the global and entity defaults.
To allow individual entities to be managed:
Go to the entity’s Manage Fields page (Structure Content Types)→ Configuration → Search and Metadata → 
Add a new field using the Meta Tags type.
If you are using translations, select “User may translate this field”
Metatag Defaults Structure
Global Default
General Categories (Front page, content, taxonomy, etc)
Per Entity Type
– Per Entity
Meta information can be easily ‘automated’ using MetaTags trickle
down defaults and tags referencing entity information
Setting up Default Settings
Setting Defaults
Blog Entry Social Settings
Node.field_featured_image.half_page:height
Simple Data Tagging.. all the Blog author
has to do is create the summary.
Quick Tags Aside
MetaTag Schema- Organization
Global Front Page Settings
MetaTag Schema – Org. (cont)
MetaTag Schema – Org. (cont)
Single Entity Tag Info
Views Metatags
Schema Validation
https://search.google.com/structured-data/testing-tool/u/0/
OG Validation
https://developers.facebook.com/tools/debug/
Some Things to Know
The Schema Metatags modules add a large number of fields to
the edit forms… only use what you need.
Translation linkage properties are only available in the dev
version (Issue #3034233)
Don’t overuse common types like Organization / Website. These
should be on a few pages like the home page or “About” pages.
Adding data via Code
Use the hook:
page_attachments_alter()
Add your JSON encoded
information to the
$attachments parameter.
$attachments['#attached']['html_head']
['my_custom_schema'] = [
[
'#type' => 'html_tag',
'#tag' => "script",
'#value' => theme_build_schema_elements(),
'#attributes' => [
'type' => 'application/ld+json',
],
],
];
Drupal Camp Atlanta 2019
Questions?
?And Thank You
Google: Slideshare CGMonroe Stuctured Data
Drupal.org/u/cgmonroe

More Related Content

What's hot

Semantic seo and the evolution of queries
Semantic seo and the evolution of queriesSemantic seo and the evolution of queries
Semantic seo and the evolution of queriesBill Slawski
 
Structured Data in Web Search
Structured Data in Web SearchStructured Data in Web Search
Structured Data in Web SearcheXascale Infolab
 
Enhancing the Privacy Protection of the User Personalized Web Search Using RDF
Enhancing the Privacy Protection of the User Personalized Web Search Using RDFEnhancing the Privacy Protection of the User Personalized Web Search Using RDF
Enhancing the Privacy Protection of the User Personalized Web Search Using RDFIJTET Journal
 
Analysis of websites as graphs for SEO
Analysis of websites as graphs for SEOAnalysis of websites as graphs for SEO
Analysis of websites as graphs for SEORubén Martínez
 
FundRef on the AAP/PSP panel: CHORUS: A Collaborative Approach to Public Access
FundRef on the AAP/PSP panel: CHORUS: A Collaborative Approach to Public AccessFundRef on the AAP/PSP panel: CHORUS: A Collaborative Approach to Public Access
FundRef on the AAP/PSP panel: CHORUS: A Collaborative Approach to Public AccessCrossref
 
Bill Slawski SEO and the New Search Results
Bill Slawski   SEO and the New Search ResultsBill Slawski   SEO and the New Search Results
Bill Slawski SEO and the New Search ResultsBill Slawski
 
Search Engines After The Semanatic Web
Search Engines After The Semanatic WebSearch Engines After The Semanatic Web
Search Engines After The Semanatic Websamar_slideshare
 
Ranking in Google Since The Advent of The Knowledge Graph
Ranking in Google Since The Advent of The Knowledge GraphRanking in Google Since The Advent of The Knowledge Graph
Ranking in Google Since The Advent of The Knowledge GraphBill Slawski
 
An Introduction to Entities in Semantic Search
An Introduction to Entities in Semantic SearchAn Introduction to Entities in Semantic Search
An Introduction to Entities in Semantic SearchDavid Amerland
 
Faceted Navigation of User-Generated Metadata (Calit2 Rescue Seminar Series 2...
Faceted Navigation of User-Generated Metadata (Calit2 Rescue Seminar Series 2...Faceted Navigation of User-Generated Metadata (Calit2 Rescue Seminar Series 2...
Faceted Navigation of User-Generated Metadata (Calit2 Rescue Seminar Series 2...Bradley Allen
 
Sem tech2013 tutorial
Sem tech2013 tutorialSem tech2013 tutorial
Sem tech2013 tutorialThengo Kim
 
Semantic Search at Yahoo
Semantic Search at YahooSemantic Search at Yahoo
Semantic Search at YahooPeter Mika
 
Hands-on Microformats
Hands-on MicroformatsHands-on Microformats
Hands-on MicroformatsDenise Jacobs
 
Semtech bizsemanticsearchtutorial
Semtech bizsemanticsearchtutorialSemtech bizsemanticsearchtutorial
Semtech bizsemanticsearchtutorialBarbara Starr
 
Implementing Semantic Search
Implementing Semantic SearchImplementing Semantic Search
Implementing Semantic SearchPaul Wlodarczyk
 
Overview of our insights channeling system
Overview of our insights channeling systemOverview of our insights channeling system
Overview of our insights channeling systemSebastien Lefebvre
 

What's hot (20)

Semantic seo and the evolution of queries
Semantic seo and the evolution of queriesSemantic seo and the evolution of queries
Semantic seo and the evolution of queries
 
Advanced on-page SEO 2013
Advanced on-page SEO 2013Advanced on-page SEO 2013
Advanced on-page SEO 2013
 
Structured Data in Web Search
Structured Data in Web SearchStructured Data in Web Search
Structured Data in Web Search
 
Enhancing the Privacy Protection of the User Personalized Web Search Using RDF
Enhancing the Privacy Protection of the User Personalized Web Search Using RDFEnhancing the Privacy Protection of the User Personalized Web Search Using RDF
Enhancing the Privacy Protection of the User Personalized Web Search Using RDF
 
Smart Searching
Smart SearchingSmart Searching
Smart Searching
 
Analysis of websites as graphs for SEO
Analysis of websites as graphs for SEOAnalysis of websites as graphs for SEO
Analysis of websites as graphs for SEO
 
FundRef on the AAP/PSP panel: CHORUS: A Collaborative Approach to Public Access
FundRef on the AAP/PSP panel: CHORUS: A Collaborative Approach to Public AccessFundRef on the AAP/PSP panel: CHORUS: A Collaborative Approach to Public Access
FundRef on the AAP/PSP panel: CHORUS: A Collaborative Approach to Public Access
 
Bill Slawski SEO and the New Search Results
Bill Slawski   SEO and the New Search ResultsBill Slawski   SEO and the New Search Results
Bill Slawski SEO and the New Search Results
 
Search Engines After The Semanatic Web
Search Engines After The Semanatic WebSearch Engines After The Semanatic Web
Search Engines After The Semanatic Web
 
Ranking in Google Since The Advent of The Knowledge Graph
Ranking in Google Since The Advent of The Knowledge GraphRanking in Google Since The Advent of The Knowledge Graph
Ranking in Google Since The Advent of The Knowledge Graph
 
An Introduction to Entities in Semantic Search
An Introduction to Entities in Semantic SearchAn Introduction to Entities in Semantic Search
An Introduction to Entities in Semantic Search
 
Faceted Navigation of User-Generated Metadata (Calit2 Rescue Seminar Series 2...
Faceted Navigation of User-Generated Metadata (Calit2 Rescue Seminar Series 2...Faceted Navigation of User-Generated Metadata (Calit2 Rescue Seminar Series 2...
Faceted Navigation of User-Generated Metadata (Calit2 Rescue Seminar Series 2...
 
Sem tech2013 tutorial
Sem tech2013 tutorialSem tech2013 tutorial
Sem tech2013 tutorial
 
Semantic Search at Yahoo
Semantic Search at YahooSemantic Search at Yahoo
Semantic Search at Yahoo
 
SEO for Developers
SEO for DevelopersSEO for Developers
SEO for Developers
 
Semantic Web, e-commerce
Semantic Web, e-commerceSemantic Web, e-commerce
Semantic Web, e-commerce
 
Hands-on Microformats
Hands-on MicroformatsHands-on Microformats
Hands-on Microformats
 
Semtech bizsemanticsearchtutorial
Semtech bizsemanticsearchtutorialSemtech bizsemanticsearchtutorial
Semtech bizsemanticsearchtutorial
 
Implementing Semantic Search
Implementing Semantic SearchImplementing Semantic Search
Implementing Semantic Search
 
Overview of our insights channeling system
Overview of our insights channeling systemOverview of our insights channeling system
Overview of our insights channeling system
 

Similar to Structured SEO Data Overview and How To

SMXL Milan Schema Markup Masterclass
SMXL Milan Schema Markup MasterclassSMXL Milan Schema Markup Masterclass
SMXL Milan Schema Markup MasterclassMartha van Berkel
 
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019Max Prin
 
Microformats I: What & Why
Microformats I: What & WhyMicroformats I: What & Why
Microformats I: What & WhyRachael L Moore
 
Taking the Scary Out of Schema
Taking the Scary Out of SchemaTaking the Scary Out of Schema
Taking the Scary Out of SchemaRebecca Gill
 
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...Connected Data World
 
Recent Trends in Semantic Search Technologies
Recent Trends in Semantic Search TechnologiesRecent Trends in Semantic Search Technologies
Recent Trends in Semantic Search TechnologiesThanh Tran
 
EmployeePages The next generation staff directory
EmployeePages The next generation staff directoryEmployeePages The next generation staff directory
EmployeePages The next generation staff directoryTIMETOACT GROUP
 
How Structured data benefits search engines and user experience
How Structured data benefits search engines and user experienceHow Structured data benefits search engines and user experience
How Structured data benefits search engines and user experiencetechcraftpranto
 
Smartlogic, Semaphore and Semantically Enhanced Search – For “Discovery”
Smartlogic, Semaphore and Semantically Enhanced Search –  For “Discovery”Smartlogic, Semaphore and Semantically Enhanced Search –  For “Discovery”
Smartlogic, Semaphore and Semantically Enhanced Search – For “Discovery”voginip
 
Smartlogic, Semaphore and Semantically Enhanced Search – For “Discovery”
Smartlogic, Semaphore and Semantically Enhanced Search –  For “Discovery”Smartlogic, Semaphore and Semantically Enhanced Search –  For “Discovery”
Smartlogic, Semaphore and Semantically Enhanced Search – For “Discovery”VOGIN-academie
 
Search Analytics: Conversations with Your Customers
Search Analytics: Conversations with Your CustomersSearch Analytics: Conversations with Your Customers
Search Analytics: Conversations with Your Customersrichwig
 
Spivack Blogtalk 2008
Spivack Blogtalk 2008Spivack Blogtalk 2008
Spivack Blogtalk 2008Blogtalk 2008
 
Semantic framework for web scraping.
Semantic framework for web scraping.Semantic framework for web scraping.
Semantic framework for web scraping.Shyjal Raazi
 
Solving Enterprise Search Challenges with SharePoint 2010 by Matthew McDermot...
Solving Enterprise Search Challenges with SharePoint 2010 by Matthew McDermot...Solving Enterprise Search Challenges with SharePoint 2010 by Matthew McDermot...
Solving Enterprise Search Challenges with SharePoint 2010 by Matthew McDermot...SPTechCon
 
Optimizing Your Practice for Online Visibility
Optimizing Your Practice for Online VisibilityOptimizing Your Practice for Online Visibility
Optimizing Your Practice for Online VisibilityYo! Yo! SEO
 
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...MakoLab SA
 
Industry Ontologies: Case Studies in Creating and Extending Schema.org
Industry Ontologies: Case Studies in Creating and Extending Schema.org Industry Ontologies: Case Studies in Creating and Extending Schema.org
Industry Ontologies: Case Studies in Creating and Extending Schema.org sopekmir
 
Relationships at the Heart of Semantic Web: Modeling, Discovering, Validating...
Relationships at the Heart of Semantic Web: Modeling, Discovering, Validating...Relationships at the Heart of Semantic Web: Modeling, Discovering, Validating...
Relationships at the Heart of Semantic Web: Modeling, Discovering, Validating...Artificial Intelligence Institute at UofSC
 

Similar to Structured SEO Data Overview and How To (20)

SMXL Milan Schema Markup Masterclass
SMXL Milan Schema Markup MasterclassSMXL Milan Schema Markup Masterclass
SMXL Milan Schema Markup Masterclass
 
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
What's New with Schema and Structured Data - Max Prin - SMX Advanced 2019
 
Microformats I: What & Why
Microformats I: What & WhyMicroformats I: What & Why
Microformats I: What & Why
 
Taking the Scary Out of Schema
Taking the Scary Out of SchemaTaking the Scary Out of Schema
Taking the Scary Out of Schema
 
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
 
Pratical Deep Dive into the Semantic Web - #smconnect
Pratical Deep Dive into the Semantic Web - #smconnectPratical Deep Dive into the Semantic Web - #smconnect
Pratical Deep Dive into the Semantic Web - #smconnect
 
Recent Trends in Semantic Search Technologies
Recent Trends in Semantic Search TechnologiesRecent Trends in Semantic Search Technologies
Recent Trends in Semantic Search Technologies
 
EmployeePages The next generation staff directory
EmployeePages The next generation staff directoryEmployeePages The next generation staff directory
EmployeePages The next generation staff directory
 
How Structured data benefits search engines and user experience
How Structured data benefits search engines and user experienceHow Structured data benefits search engines and user experience
How Structured data benefits search engines and user experience
 
Smartlogic, Semaphore and Semantically Enhanced Search – For “Discovery”
Smartlogic, Semaphore and Semantically Enhanced Search –  For “Discovery”Smartlogic, Semaphore and Semantically Enhanced Search –  For “Discovery”
Smartlogic, Semaphore and Semantically Enhanced Search – For “Discovery”
 
Smartlogic, Semaphore and Semantically Enhanced Search – For “Discovery”
Smartlogic, Semaphore and Semantically Enhanced Search –  For “Discovery”Smartlogic, Semaphore and Semantically Enhanced Search –  For “Discovery”
Smartlogic, Semaphore and Semantically Enhanced Search – For “Discovery”
 
NLP for entity-based and semantic SEO - Contference.pptx
NLP for entity-based and semantic SEO - Contference.pptxNLP for entity-based and semantic SEO - Contference.pptx
NLP for entity-based and semantic SEO - Contference.pptx
 
Search Analytics: Conversations with Your Customers
Search Analytics: Conversations with Your CustomersSearch Analytics: Conversations with Your Customers
Search Analytics: Conversations with Your Customers
 
Spivack Blogtalk 2008
Spivack Blogtalk 2008Spivack Blogtalk 2008
Spivack Blogtalk 2008
 
Semantic framework for web scraping.
Semantic framework for web scraping.Semantic framework for web scraping.
Semantic framework for web scraping.
 
Solving Enterprise Search Challenges with SharePoint 2010 by Matthew McDermot...
Solving Enterprise Search Challenges with SharePoint 2010 by Matthew McDermot...Solving Enterprise Search Challenges with SharePoint 2010 by Matthew McDermot...
Solving Enterprise Search Challenges with SharePoint 2010 by Matthew McDermot...
 
Optimizing Your Practice for Online Visibility
Optimizing Your Practice for Online VisibilityOptimizing Your Practice for Online Visibility
Optimizing Your Practice for Online Visibility
 
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
 
Industry Ontologies: Case Studies in Creating and Extending Schema.org
Industry Ontologies: Case Studies in Creating and Extending Schema.org Industry Ontologies: Case Studies in Creating and Extending Schema.org
Industry Ontologies: Case Studies in Creating and Extending Schema.org
 
Relationships at the Heart of Semantic Web: Modeling, Discovering, Validating...
Relationships at the Heart of Semantic Web: Modeling, Discovering, Validating...Relationships at the Heart of Semantic Web: Modeling, Discovering, Validating...
Relationships at the Heart of Semantic Web: Modeling, Discovering, Validating...
 

More from cgmonroe

Tips on Securing Drupal Sites - DrupalCamp Atlanta (DCA)
Tips on Securing Drupal Sites - DrupalCamp Atlanta (DCA)Tips on Securing Drupal Sites - DrupalCamp Atlanta (DCA)
Tips on Securing Drupal Sites - DrupalCamp Atlanta (DCA)cgmonroe
 
Tips on Securing Drupal Sites
Tips on Securing Drupal SitesTips on Securing Drupal Sites
Tips on Securing Drupal Sitescgmonroe
 
Becoming "Facet"-nated with Search API
Becoming "Facet"-nated with Search APIBecoming "Facet"-nated with Search API
Becoming "Facet"-nated with Search APIcgmonroe
 
Intro to drupal module internals asheville
Intro to drupal module internals ashevilleIntro to drupal module internals asheville
Intro to drupal module internals ashevillecgmonroe
 
Using Content Delivery Networks with Drupal
Using Content Delivery Networks with DrupalUsing Content Delivery Networks with Drupal
Using Content Delivery Networks with Drupalcgmonroe
 
Solr facets and custom indices
Solr facets and custom indicesSolr facets and custom indices
Solr facets and custom indicescgmonroe
 
HTML Purifier, WYSIWYG, and TinyMCE
HTML Purifier, WYSIWYG, and TinyMCEHTML Purifier, WYSIWYG, and TinyMCE
HTML Purifier, WYSIWYG, and TinyMCEcgmonroe
 
Using the Features API
Using the Features APIUsing the Features API
Using the Features APIcgmonroe
 
The Drupal Strongarm Module - Tips and Tricks.
The Drupal Strongarm Module - Tips and Tricks.The Drupal Strongarm Module - Tips and Tricks.
The Drupal Strongarm Module - Tips and Tricks.cgmonroe
 
Intro to CSS Selectors in Drupal
Intro to CSS Selectors in DrupalIntro to CSS Selectors in Drupal
Intro to CSS Selectors in Drupalcgmonroe
 
Drupal Workflow Concepts
Drupal Workflow ConceptsDrupal Workflow Concepts
Drupal Workflow Conceptscgmonroe
 
TriDUG WebFM Presentation
TriDUG WebFM PresentationTriDUG WebFM Presentation
TriDUG WebFM Presentationcgmonroe
 

More from cgmonroe (12)

Tips on Securing Drupal Sites - DrupalCamp Atlanta (DCA)
Tips on Securing Drupal Sites - DrupalCamp Atlanta (DCA)Tips on Securing Drupal Sites - DrupalCamp Atlanta (DCA)
Tips on Securing Drupal Sites - DrupalCamp Atlanta (DCA)
 
Tips on Securing Drupal Sites
Tips on Securing Drupal SitesTips on Securing Drupal Sites
Tips on Securing Drupal Sites
 
Becoming "Facet"-nated with Search API
Becoming "Facet"-nated with Search APIBecoming "Facet"-nated with Search API
Becoming "Facet"-nated with Search API
 
Intro to drupal module internals asheville
Intro to drupal module internals ashevilleIntro to drupal module internals asheville
Intro to drupal module internals asheville
 
Using Content Delivery Networks with Drupal
Using Content Delivery Networks with DrupalUsing Content Delivery Networks with Drupal
Using Content Delivery Networks with Drupal
 
Solr facets and custom indices
Solr facets and custom indicesSolr facets and custom indices
Solr facets and custom indices
 
HTML Purifier, WYSIWYG, and TinyMCE
HTML Purifier, WYSIWYG, and TinyMCEHTML Purifier, WYSIWYG, and TinyMCE
HTML Purifier, WYSIWYG, and TinyMCE
 
Using the Features API
Using the Features APIUsing the Features API
Using the Features API
 
The Drupal Strongarm Module - Tips and Tricks.
The Drupal Strongarm Module - Tips and Tricks.The Drupal Strongarm Module - Tips and Tricks.
The Drupal Strongarm Module - Tips and Tricks.
 
Intro to CSS Selectors in Drupal
Intro to CSS Selectors in DrupalIntro to CSS Selectors in Drupal
Intro to CSS Selectors in Drupal
 
Drupal Workflow Concepts
Drupal Workflow ConceptsDrupal Workflow Concepts
Drupal Workflow Concepts
 
TriDUG WebFM Presentation
TriDUG WebFM PresentationTriDUG WebFM Presentation
TriDUG WebFM Presentation
 

Recently uploaded

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Recently uploaded (20)

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

Structured SEO Data Overview and How To

  • 1. Structured SEO Data:Structured SEO Data: An overview and how to for DrupalAn overview and how to for Drupal Greg Monroe SolarWinds MSP Drupal Camp Atlanta 2019 The information here is my own and not the views of my employer Json Voordrop
  • 2. Why Use Structured Data? Improved SEO results because it lets Search Engines understand your content better Enhanced display of your content in search results such as: Site Information Knowledge graphs Product panels Rich snippets Use by aggregating sites Better Social Sharing Higher click thru rates and conversions
  • 3. Site Information Example Google: Duke Health Location: Search results
  • 4. Knowledge Graphs Google: Dr Barbour Location: Right side Google: Hi Wire Durham Location: Right side
  • 5. Product Panels Search: Samsung TabletsSearch: Best Pizza in Asheville
  • 7. How did they do these? Search Engine magic sauce… Social Graphing… who you are, where you are, what you are/have search(ing/ed) for. Context specific results pages Use site specific structured data to find and build the results.
  • 8. Structured Data Definition Web pages are often filled with free form text, which is easy for humans to read but more difficult for computers to understand. Structured data formats are rules that standardize the structure and content of a web page. They are additional markup that lets computers more easily process the text meaning or semantics.
  • 9. Structured Data A Fractured Fairy Tale History In the beginning… HTML metadata definitions: title, description, keywords The Babel Period: RSS, RDF, RDFa, Open Graph, vCard/hCard, hCalendar, FOAF, Twitter Cards, and the like. Unified Field Theory – Schema.org
  • 10. Schema.org Schema.org is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet. The Schema.org vocabulary can be used with many different encodings, including RDFa, Microdata and JSON-LD. These vocabularies cover entities, relationships between entities and actions, and can easily be extended through a well-documented extension model. See: http://www.schema.org/
  • 11. Schemas Schemas are a set of 'types' or classes, e.g. Organization These types are arranged in a hierarchy. E.g. Organization is derived from Thing and has multiple subtypes like EducationalOrganization, Corporation, LocalBusiness, and more. Each type has a set of properties, e.g. Organization has a name property Types inherit properties from the type above them.
  • 12. Schemas Hierarchy Sample Thing CreativeWork Event Organization Person Place Product Corporation EducationalOrganization GovernmentOrganization LocalBusiness MedicalOrganization Dentist DiagnosticLab Hospital MedicalClinic Pharmacy Physician VeterinaryCare
  • 13. Type Properties Sample Has 112 properties Each has an expected type the property takes. Some properties can reference other types.
  • 14. Embedding Schema Information Three choice: Microdata – Requires span tags and special attributes to be embedded in HTML RDFa – Similar to Microdata but requires different attributes inside the HTML JSON-LD – Google’s preferred method. Information is added in JSON format in the HTML as script tags of type application/ld+json
  • 15. JSON-LD Example <script type="application/ld+json"> {"@context": "https://schema.org", "@graph": [{ "@type": "Organization", "additionalType": "Corporation", "@id": "https://www.solarwindsmsp.com/#organization", "sameAs": ["https://www.youtube.com/channel/UClnp77HHg4aME-S-3fWQhFw", "https://twitter.com/solarwindsmsp", "https://www.facebook.com/SolarWindsMSP/"], "name": "SolarWinds MSP UK Ltd.", "url": "https://www.solarwindsmsp.com/", "telephone": "+1 919-957-5099", "logo": { "@type": "ImageObject", "url": "https://www.solarwindsmsp.com/msp-logo.png", "width": "649", "height": "256"}, "address": { "@type": "PostalAddress", "streetAddress": "3030 Slater Rd", "addressLocality": "Morrisville", "addressRegion": "NC", "postalCode": "27560", "addressCountry": "USA" }}]} </script>
  • 16. Linking Objects with JSON-LD Node Identifiers @type: Organization @id: http://my.org/#org @type: Website @id: http://my.org/#web Publisher: { @type: Organization, @id: http://my.org/#org } InLanguage: en WorkTranslation: { @id: http://my.org/de#web } @type: Website @id: http://my.org/de#web Publisher: { @type: Organization, @id: http://my.org/#org } InLanguage: de TranslationOfWork: { @id: http://my.org/#web } See: https://www.w3.org/TR/2014/REC-json-ld-20140116/#node-identifiers Note: The @id URI can be anywhere on the web, they just have to match.
  • 17. Quick Case Study: Duke Health Home Page Organization WebSite Doctor Pages Physician AggregateRating Clinic Pages MedicalClinic Person Hospital Pages Hospital Doctor Search AggregateRating Blog Articles Og:title, og:type, Og:description, Og:url, og:image, Og:site_name Event Pages Event Place Notes: ● Uses microdata embedding (ld-json was too new at the time) ● Blended Drupal / AngularJS site so most info built into Angular code and templates.
  • 18. Structured Data in Drupal MetaTag module with Schema.org Metatag FTW! (drupal.org/project/metatag & drupal.org/project/schema_metatag) Supports all the major structured data standards, including the a growing group of Schema.org types Global defaults based on Tags per content type Allows for individual pages to be customized I18N Support Views support
  • 19. A Quick Setup Guide Add and enable the MetaTag module to your site Recommended Submodules to enable: Metatag: Open Graph Metatag: Views Schema.org Metatag Schema.org Website Schema.org Organization Any other Schema type you think you will need.
  • 20. A Quick Setup Guide (cont) Go to Admin Configuration Search and Metadata→ Configuration → Search and Metadata → → Configuration → Search and Metadata → → Configuration → Search and Metadata → Metatag Adjust the global and entity defaults. To allow individual entities to be managed: Go to the entity’s Manage Fields page (Structure Content Types)→ Configuration → Search and Metadata → Add a new field using the Meta Tags type. If you are using translations, select “User may translate this field”
  • 21. Metatag Defaults Structure Global Default General Categories (Front page, content, taxonomy, etc) Per Entity Type – Per Entity Meta information can be easily ‘automated’ using MetaTags trickle down defaults and tags referencing entity information
  • 22. Setting up Default Settings
  • 24. Blog Entry Social Settings Node.field_featured_image.half_page:height Simple Data Tagging.. all the Blog author has to do is create the summary.
  • 26. MetaTag Schema- Organization Global Front Page Settings
  • 27. MetaTag Schema – Org. (cont)
  • 28. MetaTag Schema – Org. (cont)
  • 33. Some Things to Know The Schema Metatags modules add a large number of fields to the edit forms… only use what you need. Translation linkage properties are only available in the dev version (Issue #3034233) Don’t overuse common types like Organization / Website. These should be on a few pages like the home page or “About” pages.
  • 34. Adding data via Code Use the hook: page_attachments_alter() Add your JSON encoded information to the $attachments parameter. $attachments['#attached']['html_head'] ['my_custom_schema'] = [ [ '#type' => 'html_tag', '#tag' => "script", '#value' => theme_build_schema_elements(), '#attributes' => [ 'type' => 'application/ld+json', ], ], ];
  • 35. Drupal Camp Atlanta 2019 Questions? ?And Thank You Google: Slideshare CGMonroe Stuctured Data Drupal.org/u/cgmonroe