Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Structured Data Explained - Everything you wish you knew about schema.org

116 views

Published on

Structured Data helps provides context and meaning to the content and data of our websites. But with competing standards, multiple implementation methods and fragmented documentation it can be very tricky to do right.

Peter Macinkovic will go over the history of structured data standards, how it works and common gotchas that trip up most webmasters when learning how to implement for the first time.

He also goes over best practice, which formats to choose and how to implement on scale - regardless the platform you run.

ABOUT THE SPEAKER
=========================
Peter Macinkovic is a Digital Marketer and eCommerce Specialist based in Melbourne, Australia. A Former Digital Project Manager, Peter found his true calling in Digital Marketing and SEO working in-house for Kiana Beauty in the online retail sector

Published in: Marketing
  • Be the first to comment

Structured Data Explained - Everything you wish you knew about schema.org

  1. 1. Structured Data Explained: Everything you wish you knew about schema.org By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  2. 2. Hi, I’m Peter https://peter.macinkovic.id.au What I am all about ● I do Digital Marketing for an online beauty retailer called Kiana Beauty ● Been working on the web since 2011 ● I have been a regular at the SEO Melbourne Meetup for 5+ years By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  3. 3. What this talk covers Structured Data Explained: Everything you wish you knew about schema.org ● What is Structured Data ● Standardised Formats ● Schema.org ● Google SERP Enhancements ● Schema.org debugging, gotchas By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  4. 4. What is Structured Data By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  5. 5. What is Structured Data Structured Data provides context and semantic meaning to HTML Content It helps makes human readable content structured so it is machine readable “When information is highly structured and predictable, search engines can more easily organize and display it in creative ways.” By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  6. 6. Standardised Formats for Structured Data for the Web By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  7. 7. RDFa Developed in 2004 Standardised in 2007 Microformats 2005 - A more design focused standard Microdata 2009 - designed by Ian Hickson JSON-LD 2010 - serialised form of Linked Data in JSON format
  8. 8. RDFa ● Developed in 2004 ● Standardised in 2007 ● Legacy of XML ● RDFa Lite been the standard since 2009 ● Uses HTML attributes to structure data ○ vocab sets Item Scope ○ typeof sets Item Type ○ property sets property of Item By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  9. 9. Microdata ● Developed in 2009 ● Designed by Ian Hickson, who wrote the HTML 5 Spec ● Designed to be a simpler syntax ● Development terminated between 2013 - 2018 ● Uses attributes to structure data ○ itemscope sets Item Scope ○ itemtype sets Item Type ○ itemprop sets property of Item By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  10. 10. By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019 JSON-LD ● Developed in 2010 ● Designed to be a serialised form of Linked Data in JSON ● Used by schema.org, Google Knowledge Graph ● Simple to implement with <script/> tags ● Uses JSON object to set Context, Types & Properties
  11. 11. What is schema.org By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  12. 12. ● It is a collaboratively maintained community to create, maintain and promote schemas for structured data ● Started in June 2011 by Bing, Google, Yahoo! and Yandex ● Uses three standardised formats: ○ RDFa Lite ○ Microdata ○ JSON-LD What is schema.org By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  13. 13. Itemscope, Context Itemtype & Properties ● Itemscope specifies the block of HTML code is an itemtype for RDFa & Microdata ● Context in JSON-LD sets the schema the object belongs to. This is typically set to https://schema.org ● Itemtype is the schema object, which can either be a Thing or DataType ● Properties are the attributes of an Itemtype By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  14. 14. Item Types Thing name: Text description: Text url: URL sameAs: URL potentialAction: Action image: ImageObject or Image mainEntityOfPage: URL subjectOf: CreativeWork or Event Identifier: PropertyValue or Text or URL MedicalEntity properties from thing ----------------- Organization properties from thing ----------------- CreativeWork properties from thing ----------------- Event properties from thing ----------------- Intangible properties from thing ----------------- Action properties from thing ----------------- Place properties from thing ----------------- Person properties from thing ----------------- Product properties from thing -----------------Itemtypes are Schema Objects. All Itemtypes are derived of Thing, except DataTypes. The syntax of Item Types is in Pascal Case (aka Upper Camel Case) There a 9 sub-types of Thing which all types except Data Types. DataTypes are things like Text, Boolean, URL etc.
  15. 15. Visual Representation of the Itemtypes of schema.org v2.2 (circa 2015) Interactive Diagram courtesy of Fabio Valsecchi , Gregg Kellogg and Sandro Hawke
  16. 16. Properties Properties are part of Item Types. They help classify properties of an Itemtype in a structured nature ● Properties have Expected Types that they may passthrough. ○ Typically this will be either a subtype of Thing or a Data Type ● Properties are in camelCase, specifically lower camel case. ● Properties that accept an Item Type that is a sub type of Thing can be an object ● The Expected Type of an object can also be a Super Type or Sub Type of the Expected Type. ● Sub Types may gain specific properties for it and its children that differ from the Super Type By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  17. 17. Schema.org by Example Itemtypes and Properties in Action for RDFa, Microdata & JSON-LD By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  18. 18. Expected Types ● Typically this will be either a subtype of Thing or a Data Type ● Expected Types may still validate with a Sub Type of Super Type ○ e.g. Expected Type of LocalBusiness can be a Pharmacist ○ e.g. Expected type of ListElement can be a Thing ● Expected Types may have some mandatory fields beyond name or id when validating for Google Search Enhancements By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  19. 19. Sub Types ● Subtypes inherit properties from their parent ● Subtypes may have multiple Super Types that it can inherit properties from. ○ e.g. a Pharmacy can inherit properties from Thing, Organization, Place, MedicalOrganization, and LocalBusiness ○ e.g. a Pharmacy can be a SubType of either a MedicalBusiness or MedicalOrganization By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  20. 20. Inherits from Thing Inherits from Place Inherits from LocalBusiness ------------- Inherits from Organization Inherits from MedicalOrganization Inherited Properties by Example: Pharmacy Thing name mainEntityOfPage url sameAs description image identifier additionalType alternateName potentialAction subjectOf disambiguatingDescription Place Inherits from Thing -------- address telephone faxNumber event review geo maximumAttendeeCapacity openingHoursSpecification … 34 in total LocalBusiness Inherits from Thing Inherits from Place -------- currenciesAccepted openingHours paymentAccepted priceRange MedicalBusiness Inherits from Thing Inherits from Place Inherits from LocalBusiness Pharmacy
  21. 21. Sub Types in Action: Inherited Properties How Expected Types can be Sub Types that inherit parent properties Examle: Item Type: City property: containsPlace Expected Type: Place Above: A simple JSON-LD schema object of a City that contains a Pharmacy as a Place
  22. 22. Above: A simple JSON-LD schema object of a City that contains a Pharmacy as a LocalBusiness Note: The property image is mandatory, with address, priceRange, telephone recommended for Rich Results in Google Sub Types in Action: Inherited Properties
  23. 23. Above: A simple JSON-LD schema object of a City that contains a Pharmacy as a MedicalBusiness Note: The property image is mandatory, with address, priceRange, telephone recommended for Rich Results in Google Sub Types in Action: Inherited Properties
  24. 24. Above: A simple JSON-LD schema object of a City that contains a Pharmacy as a Pharmacy Note: The property image is mandatory, with address, priceRange, telephone recommended for Rich Results in Google Sub Types in Action: Inherited Properties
  25. 25. By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019 Nesting Item Types ● Item Types have properties that are expected to be other Item Types ● The nesting of some Item Types are flexible and can have each other as expect types. ○ e.g. a Product can reference Offer via the property offers ○ An Offer can reference Product via the property itemOffered
  26. 26. By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019 Nesting Item Types ● Item Types have properties that are expected to be other Item Types ● The nesting of some Item Types are flexible and can have each other as expect types. ○ e.g. a Product can reference Offer via the property offers ○ An Offer can reference Product via the property itemOffered
  27. 27. By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019 Multiple Item Types ● Google recommends using JSON-LD in particular for nested items and multiple items ● In JSON-LD, multiple Item Types can be placed in an array by square brackets. ● Many Sub Types of Intangible such as Enumeration and ItemList are designed to handle a list of items.
  28. 28. By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019 Enumeration & Data Types ● Data Types handle basic data types such as integers, strings, booleans etc. ○ e.g. Text, URL, XPathType, cssSelector, Date, Number, Boolean, True, False etc. ○ Data Types may be subject to standards, such as ISO 8601 for Date, or Unicode for Numbers ● Enumeration members can be set to specific canonical Schema.org items ○ E.g. The property of availability in an Offer can equal an Enumeration such as https://schema.org/InStock
  29. 29. By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019 Handling Multiple Schema Objects ● By default, Google will define all detected schema objects as part of a WebPage ○ This prevents conflicts within the context of the page. ○ Use mainEntityOfPage to explicitly label the main entity of these schema objects ○ Multiple Schema Objects of the same type will be treated as an array.
  30. 30. By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019 WebPage and Specific Web Page Types ● WebPage is the explicit object a valid HTML page will be read as - no schema needed. ● Has the mainContentOfPage property, which sets the primary content of the page using cssSelector or xpath ● Has 10 Sub Types for specific Web Page types ● Works well with the mainEnitity property to explicitly define the main schema object i.e. mainEntity of Product for an ItemPage
  31. 31. ○ AboutPage ○ CheckoutPage ○ CollectionPage ○ ContactPage ○ FAQPage WebPage and Specific Web Page Types ● Has the primaryImageOfPage property to set the image most representative of the page. ● Has the significantLink property, which sets most important URL of the page. For multiple URLs, use significantLinks. Non-navigational ● Sub Types are: By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019 ○ ItemPage ○ MedicalWebPage ○ ProfilePage ○ QAPage ○ SearchResultsPage
  32. 32. Google SERP Enhancements Using Structured Data to change how you are presented in Search By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  33. 33. https://developers.google.com/search/
  34. 34. By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019 Google Enhancements by Item Type ● Certain Item Types have special enhancements via the use of structured data ● These enhancements may directly impact the presentation of a search result ● They may also affect the knowledge panel of an entity or local business. ● There are strict required properties for Item Types and recommended properties ● Validates with Google Structured Data Testing Tool Article Breadcrumb Book Carousel Corporate contact Course Critic review Dataset Employer Aggregate Rating Event Fact Check Job Posting Livestream Local Business Logo Media Occupation Product Q & A Page Recipe Review snippet Sitelinks searchbox Social profile Software App Speakable Subscription and paywalled content Top Places List Video
  35. 35. By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019 BreadcrumbList ● A sub type of Item List. ● Breadcrumb is a property of WebPage ● URLs displayed support UTF Chars & Emojis ● Best utlised with either JSON-LD or RDFa. There is a (long) standing bug with Microdata. ● Required Properties: ○ item: a Thing, which point to the URL of the item ○ name: The name of the list element, which will be displayed in lieu of the URL path ○ position: The position of the list element, in order
  36. 36. By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019 Article ● A sub-type of Creative Work ● Display rich content such as publish date, headline, and image ● Articles may be one of 3 Item Types: Article, NewsArticle and BlogPosting ● Has different standards for AMP and non-AMP pages ○ AMP is more stricter, with richer display including publisher logo. 11 required properties ○ Non-AMP is less strict, with just 4 recommend properties
  37. 37. By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019 Article ● A sub-type of Creative Work ● Display rich content such as publish date, headline, and image ● Articles may be one of 3 Item Types: Article, NewsArticle and BlogPosting ● Has different standards for AMP and non-AMP pages ○ AMP is more stricter, with richer display including publisher logo. 11 required properties ○ Non-AMP is less strict, with just 4 recommend properties
  38. 38. Product ● Used in Combination with Offer or AggregateOffers to serve a Product ● Display rich content such as product image, price, and availability Required Properties are: ○ For Product: image, name ■ Recommended properties are: aggregateRating, brand, description, offers, review, [ gtin ], sku ○ For Offer: availability, price, priceCurrency ■ Recommended: itemOffered, priceValidUntil, url ○ For AggregateOffers: lowPrice, priceCurrency ■ Recommended: highPrice, offerCount By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  39. 39. Debugging Structured Data By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  40. 40. https://search.google.com/structured-data/testing-tool/
  41. 41. Structured Data is about providing context to content and data. It is more important they know that this Thing is a Place than it is a Village. Don’t Manually Over Optimise, it is not scalable, prone to error and difficult to change as standards evolve. Use Source Data to populate Structured Data when possible. Use Plugins like Yoast or Modules like schema.org when non-technical. Don’t Overthink Structured Data By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019
  42. 42. Peter Macinkovic https://peter.macinkovic.id.au Twitter, instagram, LinkedIn as @inkovic Questions? ● Ask questions on the Webmasters Stack Exchange ● RIP Google+ Group ‘Semantic Search’ Best Resource ● Read the W3C Spec, Schema.org Docs, Read the Github issues By Peter Macinkovic, Digital Marketing ManagerSEO Melbourne Meetup | April 2019

×