SlideShare a Scribd company logo
1 of 34
Download to read offline
Structured SEO Data:
An overview and how to for Drupal
Greg Monroe
SolarWind MSP
Drupal Camp Asheville 2019
The information here is my own and not the views of my employer
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
Knowledge Graphs
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
→ 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)
Add a new field using the Meta Tags type.
If you are using translations, select “User may translate
this field”
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 Ashville 2018
Questions?
?And Thank You
Google: Slideshare CGMonroe Stuctured Data
Drupal.org/u/cgmonroe

More Related Content

What's hot

What's hot (20)

Search engine
Search engineSearch engine
Search engine
 
Search engine
Search engineSearch engine
Search engine
 
Search engine
Search engineSearch engine
Search engine
 
Search Engine Demystified
Search Engine DemystifiedSearch Engine Demystified
Search Engine Demystified
 
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
 
Search Engine ppt
Search Engine pptSearch Engine ppt
Search Engine ppt
 
Meta search engine
Meta search engineMeta search engine
Meta search engine
 
Search Engines
Search EnginesSearch Engines
Search Engines
 
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”
 
search engines
search enginessearch engines
search engines
 
Meta Search Engine: An Introductory Study
Meta Search Engine: An Introductory StudyMeta Search Engine: An Introductory Study
Meta Search Engine: An Introductory Study
 
E business intro_toseo
E business intro_toseoE business intro_toseo
E business intro_toseo
 
Managed metadata – SharePoint 2013
Managed metadata – SharePoint 2013Managed metadata – SharePoint 2013
Managed metadata – SharePoint 2013
 
Search engine
Search engineSearch engine
Search engine
 
Introduction To Enterprise Search - OKCSUG 2010
Introduction To Enterprise Search - OKCSUG 2010Introduction To Enterprise Search - OKCSUG 2010
Introduction To Enterprise Search - OKCSUG 2010
 
Search Systems
Search SystemsSearch Systems
Search Systems
 
Search Engine Powerpoint
Search Engine PowerpointSearch Engine Powerpoint
Search Engine Powerpoint
 
Learn the Search Engine Type and Its Functions!
Learn the Search Engine Type and Its Functions!Learn the Search Engine Type and Its Functions!
Learn the Search Engine Type and Its Functions!
 
Managed metadata in_share_point_2010
Managed metadata in_share_point_2010Managed metadata in_share_point_2010
Managed metadata in_share_point_2010
 
Search Engine
Search EngineSearch Engine
Search Engine
 

Similar to Structured SEO Data: An overview and how to for Drupal

Introduction to Microdata & Google Rich Snippets
Introduction to Microdata  & Google Rich SnippetsIntroduction to Microdata  & Google Rich Snippets
Introduction to Microdata & Google Rich SnippetsKishan Gor
 
What is Structured Data?
What is Structured Data?What is Structured Data?
What is Structured Data?Abhishek Kumar
 
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...hannonhill
 
Taking the Scary Out of Schema
Taking the Scary Out of SchemaTaking the Scary Out of Schema
Taking the Scary Out of SchemaRebecca Gill
 
SEO for Drupal Developers
SEO for Drupal DevelopersSEO for Drupal Developers
SEO for Drupal DevelopersRick Donohoe
 
Integrating Structured Data (to an SEO Plan) for the Win _ WTSWorkshop '23.pptx
Integrating Structured Data (to an SEO Plan) for the Win _ WTSWorkshop '23.pptxIntegrating Structured Data (to an SEO Plan) for the Win _ WTSWorkshop '23.pptx
Integrating Structured Data (to an SEO Plan) for the Win _ WTSWorkshop '23.pptxBegum Kaya
 
Introduction to internet.
Introduction to internet.Introduction to internet.
Introduction to internet.Anish Thomas
 
SEO Training in Hyderabad | SEO Classes in Hyderbad | SEO Coaching in Hyde...
SEO Training in Hyderabad |  SEO  Classes in Hyderbad | SEO Coaching in  Hyde...SEO Training in Hyderabad |  SEO  Classes in Hyderbad | SEO Coaching in  Hyde...
SEO Training in Hyderabad | SEO Classes in Hyderbad | SEO Coaching in Hyde...Prasad Reddy
 
Enhancing Relevancy & User Experience with #SharePoint Search sps-philly 2015
Enhancing Relevancy & User Experience with #SharePoint Search   sps-philly 2015Enhancing Relevancy & User Experience with #SharePoint Search   sps-philly 2015
Enhancing Relevancy & User Experience with #SharePoint Search sps-philly 2015Gina Montgomery, V-TSP
 
Winning SEO Using Schema Markup and Structured Data
Winning SEO Using Schema Markup and Structured DataWinning SEO Using Schema Markup and Structured Data
Winning SEO Using Schema Markup and Structured DataMarc Trimble
 
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
 
Metadata Management In A Social Media World, Spsbos, 2 2010
Metadata Management In A Social Media World, Spsbos, 2 2010Metadata Management In A Social Media World, Spsbos, 2 2010
Metadata Management In A Social Media World, Spsbos, 2 2010Christian Buckley
 
Salesforce spring 18 release highlights by thinqloud
Salesforce spring 18 release highlights by thinqloudSalesforce spring 18 release highlights by thinqloud
Salesforce spring 18 release highlights by thinqloudThinqloud
 
Km World Taxonomy Boot Camp 2011
Km World Taxonomy Boot Camp  2011Km World Taxonomy Boot Camp  2011
Km World Taxonomy Boot Camp 2011ajrhem
 
Microformats I: What & Why
Microformats I: What & WhyMicroformats I: What & Why
Microformats I: What & WhyRachael L Moore
 

Similar to Structured SEO Data: An overview and how to for Drupal (20)

Introduction to Microdata & Google Rich Snippets
Introduction to Microdata  & Google Rich SnippetsIntroduction to Microdata  & Google Rich Snippets
Introduction to Microdata & Google Rich Snippets
 
What is Structured Data?
What is Structured Data?What is Structured Data?
What is Structured Data?
 
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
 
Taking the Scary Out of Schema
Taking the Scary Out of SchemaTaking the Scary Out of Schema
Taking the Scary Out of Schema
 
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
 
SEO for Drupal Developers
SEO for Drupal DevelopersSEO for Drupal Developers
SEO for Drupal Developers
 
Integrating Structured Data (to an SEO Plan) for the Win _ WTSWorkshop '23.pptx
Integrating Structured Data (to an SEO Plan) for the Win _ WTSWorkshop '23.pptxIntegrating Structured Data (to an SEO Plan) for the Win _ WTSWorkshop '23.pptx
Integrating Structured Data (to an SEO Plan) for the Win _ WTSWorkshop '23.pptx
 
Schema Tags In Seo
Schema Tags In SeoSchema Tags In Seo
Schema Tags In Seo
 
Table structured schema markup
Table structured schema markupTable structured schema markup
Table structured schema markup
 
Introduction to internet.
Introduction to internet.Introduction to internet.
Introduction to internet.
 
Lvr ppt
Lvr pptLvr ppt
Lvr ppt
 
SEO Training in Hyderabad | SEO Classes in Hyderbad | SEO Coaching in Hyde...
SEO Training in Hyderabad |  SEO  Classes in Hyderbad | SEO Coaching in  Hyde...SEO Training in Hyderabad |  SEO  Classes in Hyderbad | SEO Coaching in  Hyde...
SEO Training in Hyderabad | SEO Classes in Hyderbad | SEO Coaching in Hyde...
 
Enhancing Relevancy & User Experience with #SharePoint Search sps-philly 2015
Enhancing Relevancy & User Experience with #SharePoint Search   sps-philly 2015Enhancing Relevancy & User Experience with #SharePoint Search   sps-philly 2015
Enhancing Relevancy & User Experience with #SharePoint Search sps-philly 2015
 
BPC10 BuckleyMetadata-share
BPC10 BuckleyMetadata-shareBPC10 BuckleyMetadata-share
BPC10 BuckleyMetadata-share
 
Winning SEO Using Schema Markup and Structured Data
Winning SEO Using Schema Markup and Structured DataWinning SEO Using Schema Markup and Structured Data
Winning SEO Using Schema Markup and Structured Data
 
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”
 
Metadata Management In A Social Media World, Spsbos, 2 2010
Metadata Management In A Social Media World, Spsbos, 2 2010Metadata Management In A Social Media World, Spsbos, 2 2010
Metadata Management In A Social Media World, Spsbos, 2 2010
 
Salesforce spring 18 release highlights by thinqloud
Salesforce spring 18 release highlights by thinqloudSalesforce spring 18 release highlights by thinqloud
Salesforce spring 18 release highlights by thinqloud
 
Km World Taxonomy Boot Camp 2011
Km World Taxonomy Boot Camp  2011Km World Taxonomy Boot Camp  2011
Km World Taxonomy Boot Camp 2011
 
Microformats I: What & Why
Microformats I: What & WhyMicroformats I: What & Why
Microformats I: What & Why
 

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

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Recently uploaded (20)

The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
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?
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 

Structured SEO Data: An overview and how to for Drupal

  • 1. Structured SEO Data: An overview and how to for Drupal Greg Monroe SolarWind MSP Drupal Camp Asheville 2019 The information here is my own and not the views of my employer
  • 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
  • 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 → 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) Add a new field using the Meta Tags type. If you are using translations, select “User may translate this field”
  • 21. Setting up Default Settings
  • 23. 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.
  • 25. MetaTag Schema- Organization Global Front Page Settings
  • 26. MetaTag Schema – Org. (cont)
  • 27. MetaTag Schema – Org. (cont)
  • 32. 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.
  • 33. 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', ], ], ];
  • 34. Drupal Camp Ashville 2018 Questions? ?And Thank You Google: Slideshare CGMonroe Stuctured Data Drupal.org/u/cgmonroe