JSON-LD Schema for Google Rich Result Features

- Sunday, March 29, 2020

As of April 6, 2020, data-vocabulary.org markup will no longer be eligible for Google rich result features. With the increasing usage and popularity of schema.org Google decided to focus their development on a single SD scheme. Google uses structured data standardized formats and shared schemas to provide information about a page and the things described by the page. This information is used for two main purposes, understand the content of the page and enable special search result features and enhancements.

JSON-LD Schema for Google Rich Result Features

JSON-LD stands for JavaScript Object Notation for Linked Data. Structured data formats like JSON-LD, RDFa and Microdata define a small number of fixed structures that can be used to encode descriptive data. To Enable rich results with structured data, below are the code snippets.

JSON-LD Schema for Website Sitelinks Searchbox

A sitelinks search box is a quick way for people to search your site or app immediately on the search results page. The search box implements real-time suggestions and other features.

<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "WebSite",
  "name": "My Website Name",
  "url": "https://www.example.com/",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://www.example.com/search/?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}
</script>

JSON-LD Schema for Blog Posting

There are multiple types of article schema that can be added: NewsArticle or BlogPosting being the most common. I'd recommend using BlogPosting schema as it's more specific to what the article is.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://www.example.com/blog/seo-tutorial"
  },
  "headline": "My Blog Title",
  "description": "My Blog Description",
  "image": "https://www.example.com/images/seo.jpg",  
  "author": {
    "@type": "",
    "name": "Name of Author"
  },  
  "publisher": {
    "@type": "Organization",
    "name": "Name Publisher",
    "logo": {
      "@type": "ImageObject",
      "url": "https://www.example.com/images/logo.jpg",
      "width": 600,
      "height": 60
    }
  },
  "datePublished": "2020-03-29",
  "dateModified": "2020-03-29"
}
</script>

JSON-LD Schema for Breadcrumb

The BreadcrumbList schema allows you to mark up the breadcrumbs on your site to generate breadcrumb rich snippets for your pages in the SERPs. This can help your users to understand and navigate your website hierarchy.

<script type="application/ld+json">
{
  "@context": "https://schema.org/", 
  "@type": "BreadcrumbList", 
  "itemListElement": [{
    "@type": "ListItem", 
    "position": 1, 
    "name": "Home",
    "item": "https://www.example.com/"  
  },{
    "@type": "ListItem", 
    "position": 2, 
    "name": "Blog",
    "item": "https://www.example.com/blog/"  
  },{
    "@type": "ListItem", 
    "position": 3, 
    "name": "SEO Tutorial",
    "item": "https://www.example.com/blog/seo-tutorial.html"  
  }]
}
</script>

JSON-LD Schema for Video

With this structured data you provide an entry point for discovering and watching videos in Google Search. You can provide details such as the description, thumbnail URL, upload date, and duration by marking up your video with VideoObject.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "My Awesome Video Title",
  "description": "My Awesome Video Description",
  "thumbnailUrl": "https://www.example.com/images/video-thumbnail.jpg",
  "uploadDate": "2020-03-29",
  "duration": "PT5M35S",
  "contentUrl": "https://www.example.com/videos/awesome.html",
  "embedUrl": "https://www.youtube.com/embed/dfci-WvkijE"
}
</script>

JSON-LD Schema for Product

Use the product schema / JSON-LD markup type when you want to embed proper and valid structured data onto your eCommerce or product website.

<script type="application/ld+json">
{
  "@context": "https://schema.org/", 
  "@type": "Product", 
  "name": "iPhone XR",
  "image": "https://www.example.com/images/iphone-xr.jpg",
  "description": "iPhone XR Description",
  "brand": "Apple",
  "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/apple/iphone-xr.html",
    "priceCurrency": "USD",
    "price": "1200",
    "priceValidUntil": "2020-03-29",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "bestRating": "5",
    "worstRating": "1",
    "ratingCount": "340"
  }
}
</script>

JSON-LD Schema for Person

Person schemas are focused on specific individuals.

<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Person",
  "name": "Joydeep Deb",
  "url": "https://www.joydeepdeb.com/",
  "image": "https://www.joydeepdeb.com/images/joydeep-deb.jpg",
  "sameAs": [
    "https://www.facebook.com/JoydeepDeb",
    "https://twitter.com/joydeep7",
    "https://www.linkedin.com/in/joydeep"
  ],
  "jobTitle": "Digital Marketing Manager",
  "worksFor": {
    "@type": "Organization",
    "name": "VMware Inc."
  }  
}
</script>

JSON-LD Schema for Organization

The organization schema markup helps generate brand signals which can enhance your Knowledge Graph and website snippet presence in the search engine results pages.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Google Inc.",
  "alternateName": "Google",
  "url": "https://www.google.com/",
  "logo": "https://www.google.com/images/logo.png",
  "sameAs": [
    "https://www.facebook.com/Google",
    "https://twitter.com/Google",
    "https://www.linkedin.com/in/Google"
  ]
}
</script>

JSON-LD Schema for FAQ

FAQ schema is the new way of taking the featured snippet position in the SERP.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "My FAQ Question #1",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "My FAQ Answer #1"
    }
  },{
    "@type": "Question",
    "name": "My FAQ Question #2",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "My FAQ Answer #2"
    }
  }]
}
</script>

Documentation References


Share:


Add a comment

About the Author
Joydeep Deb

Joydeep Deb is a Senior Digital Marketer and Project Manager with 15+ years of experience in Digital Marketing, Lead Generation, Online Brand Management, Marketing Campaigns, Project Management, Search Engine Optimization (SEO), Search Engine Marketing (SEM), PPC, eMail Marketing, Web Analytics, Web Technologies, Web Design and Development.

With an MBA in Marketing. IIM Calcutta Alumini. Lives in Bangalore, Karnataka - India.

Get social with Joydeep at Twitter | Facebook | LinkedIn

Subscribe to Newsletter

Receive my latest posts right in your inbox? Enter your email address below to subscribe.

We'll never share your email with anyone else.

Loading...