A Guide to Structured Data

brolapp
brolapp
M Posted 5 years 10 months ago
t 9 min read

Marketers, developers and search engine optimization specialists have been talking about structured data since before 2011, when Google, Bing, Yahoo! And Yandex decided to collaborate on and support an open source platform to define entities and their attributes.

This collaboration led to the creation of the Schema.org vocabulary, which has become the backbone for most structured data today. Schema is critical to SEO success, especially during a time where 0 click results are increasing rapidly. Check out this report to better understand the importance of schema and SEO.

Why should I care about structured data?

The landscape of a SERP is busy. Not only do you have to compete with your competitors for top organic listings, you also have ads, images, carousels and myriad new search result features that can keep you from getting your listing to appear in those coveted pixels “above the fold” of your audience’s screens.

Even when new features aren’t competing for your audience’s attention, you could still have problems with getting your content to stand out and grab the attention you are seeking.

This is where structured data can help. Google has been awarding enhanced search result listings, which they are now calling “rich results”, for over 10 years. I am sure you’ve all seen review ratings associated with product pages in the search results by now.

Not only does Google rely on structured data to help power those rating results, Google has expanded on the types of rich result you can get to include video snippets that can be played in the search results, recipe cards, how-to instructions, FAQ results, event details, and highlight job listings.

Studies have also shown that listings with rich results typically get more organic impressions, organic clicks, and see increased audience engagement with more time being spent on the pages.

On top of that, structured data can help you control the information presented in your brand’s Google Knowledge Panel and may even help optimize your website for voice search in Google Assistant.

Some Googlers have hinted that structured data is going to become more important to search over the next several years, if not longer – meaning now is a great time to get onboard and become comfortable understanding and speaking about structured data within our own organizations.

Now that we know why you should care about structured data, let’s start defining what it is.

What is structured data?

Simply put, structured data is any set of data that has been organized or categorized in some way.

unorganized books representing unstructured data

Example of Unstructured Data – books in unsorted piles

organized books representing structured data

Example of Structured Data – books arranged on a shelf by category and author

When we talk about structured data for SEO, we usually are referring to the combination of a specific vocabulary for defining entities and attributes (schema.org is the most commonly used) combined with a syntax for expressing the vocabulary as part of a webpage’s HTML code (JSON-LD is Google’s preferred syntax).

How do I get started with structured data on my site?

When looking to incorporate structured data on a page, I use the following workflow to guide my decisions:

  1. Review the page content
  2. Review entity types on schema.org
  3. Check Google’s Structured Data Developer Guide and Rich Result Search Gallery
  4. Create and deploy structured data code

Review the page content

Open the landing page, or draft if reviewing a page in advance of its publication, to identify the following:

  • What page type is it (homepage, recipe page, product page, blog article, FAQ, etc.)?
    • If it is a homepage, does the website have a site search function?
  • Does the page have breadcrumb navigation?
  • What is the page’s main topic or focus (entity)?
    • What are the most important topic attributes to my audience?
  • Is there a secondary page topic and how does it directly relate to the main topic?
    • Is it an offer (product offer, service offer, special discount, event offer, etc.) or reviews that can be associated to the main topic?
    • What are the secondary topics attributes that are most relevant to the main topic?

I like to compile this information into an unordered list nesting in the attribute details, like this:

  • Page type - product
    • name – ACME Anvil
    • description – The pinnacle anvil for all your needs.
    • price - $99 US dollars
    • url – https://www.example.com/acme-anvils
    • image - https://www.example.com/images/acme-anvil.jpg
    • sold by – Acme Anvil Corporation

This will prove helpful later when it comes time to create the structured data code as it will follow a similar pattern.

Now that we’ve identified the most important information we are looking to mark up, it’s time to review what entity type on Schema.org best matches my page’s main topic.

Review entity types on Schema.org

My next step in the workflow is visiting the full hierarchy of Schema.org types. This list displays the relationship between parent and child types, allowing me to quickly find relevant entity types and identify new additions to the hierarchy.

After identifying an entity type that looks like a good fit for the content I am marking up, I review the entity type documentation to understand how schema.org defines it. Most of the definitions are obvious, but some definitions don’t always align with how we might view our entity.

Credit card, for example, is defined as a specific form of service:

Thing > Intangible > Service > FinancialProduct > LoanOrCredit > CreditCard
Thing > Intangible > Service > FinancialProduct > PaymentCard > CreditCard

Credit card providers might internally refer to a credit card as a product, not as a service offering. This disconnect between how schema.org defines an entity and how we individually or as an organization define the same entity can create confusion and can lead people to select inappropriate entity types that result in less than ideal outcomes.

It also limits some of the attributes that can be used as schema.org defines a “service” differently than a “product” and may provide unique attributes for each entity type.

Remember, it’s a good idea to review the list of available attributes per entity type, even if you are very familiar with the entity type. Schema.org is a “living” vocabulary which means it is constantly growing and getting added to on a regular basis.

Once you have the list of entity attributes for each entity you are defining, it is time to move on to Google’s structured data documentation.

Check Google’s Structured Data Developer Guide and Rich Result Search Gallery

Google’s Structured Data Developer Guide is a useful tool because it gives examples of structured data markup and provides guidelines for rich result eligibility. I want to call out that Google’s documentation only focuses on the attributes used to generate a rich result. On occasion, you may see Google use attribute markup in a different way than on schema.org, which is why I like to review both websites before creating the structured data code.

From here we can also review the search gallery to see what types of content, when properly marked up, can be awarded a rich result. This list is constantly growing as Google adds more support and rich results based off schema.org vocabularies.

Google's Rich Result Search Gallery

Clicking any of the “Get started” buttons in the search gallery will take you to a rich results documentation guide that will show:

  • the required and recommended attributes to be eligible for a rich result
  • JSON-LD code examples for that rich result
  • tips on troubleshooting errors in your code
  • quick links to the Rich Results Testing Tool
  • examples of what the rich results might look like when the structured data is properly implemented.

Before moving onto implementation and writing the code, we need to ask ourselves a question.

Am I creating a “zero-click” listing, and is that okay?

Rich results can be amazing. They make us stand out from the competition, help build a brand’s reputation, and can help improve click-throughs from organic search results.

It’s important to note that there can be a downside to being awarded a rich result – the “zero-click” listing.

This phenomenon is usually a result of being featured in a quick answer at the top of a search result that thoroughly and concisely answers a searcher’s question so well that the searcher decides they don’t need to click on the result to learn more.

As Google expands into Question and Answer and FAQ rich results we could see even more questions being answered in the search result, negating the need to click deeper in the page.

Depending on the type of content your website produces, zero-click results might not be right for you. For example, content publishers could see a reduction in incoming revenue if users no longer need to click into the site to get the information they seek. Likewise, traffic to pages with frequently asked questions about products or services could decrease if people are finding answers in the search result.

Ultimately, your organization will have to determine if the zero-click result could negatively impact business. If the rich result is not a good fit, you should clearly communicate the potential impact to traffic so that everyone involved can make an informed decision.

Create and deploy structured data code

At this point we have:

  • Matched our webpage main topic to an entity on schema.org
  • Reviewed associated attributes and secondary entities
  • Identified the type of rich snippet and required attributes needed to be awarded a rich result

Now we have identified all the entities, attributes and requirements we need to write, test and deploy the structured data into our HTML.

Google’s preferred implementation syntax is JSON-LD. This syntax easy to learn for anyone already familiar with JavaScript, it makes nesting entities easy since it is not interleaved to the page text, it provides a concise block of information for search engines and web agents to consume, is the easiest syntax to troubleshoot for errors, and it is Google’s preferred syntax – so it will be my focus in this article.

JSON-LD, when paired with schema.org vocabularies, can be included in the HTML either in the <head> element of the document (most search engines expect the code to be found here), or near the closing </body> tag if concerned about the extra code negatively impacting page load times.

<script type="application/ld+json">
{
 "@context": "https://schema.org",
 "@type": "WebSite",
 "url": "https://www.brightedge.com/",
 "potentialAction": {
  "@type": "SearchAction",
  "target": "https://www.brightedge.com/search/node/{search_term_string}",
  "query-input": "required name=search_term_string"
 },
 "mainEntity": {
  "@type": "Organization",
  "name": "BrightEdge Technologies, Inc.",
  "@id": "https://brightedge.id.com",
  "logo": "https://www.brightedge.com/sites/all/themes/custom/brightedge_theme/logo.svg",
  "url": "https://www.brightedge.com/",
  "contactPoint": [{
   "@type" : "ContactPoint",
   "telephone": "1 (800) 578-8023",
   "name": "BrightEdge US & Corporate HQ",
   "contactOption" : "TollFree",
   "areaServed" : ["US", "CA"]
   },{
   "@type" : "ContactPoint",
   "telephone": "+44 203 884 0370",
   "name": "BrightEdge Europe",
   "areaServed" : ["UK", "BE", "BG", "CZ", "DK", "DE", "EE","IE", "EL","ES", "FR", "HR", "IT", "CY", "LV", "LT", "LU", "HU", "MT", "NL", "AT", "PL", "PT", "RO", "SI", "SK", "FI", "SE", "IS", "NO", "LI", "CH"]
   },{
   "@type" : "ContactPoint",
   "telephone": "+81 3 5847 8233",
   "name": "BrightEdge Japan",
   "areaServed" : "JP"
   },{
   "@type" : "ContactPoint",
   "telephone": "+61 (0) 289737441",
   "name": "BrightEdge Australia",
   "areaServed" : "AU"
  }]
 }
}
</script>

Example JSON-LD syntax with Schema.org vocabulary

It should be clear now why you should format the entity data before writing the JSON-LD code – it is very easy to create templates that allow me to copy and paste the pertinent information into the code block.

If you aren’t comfortable writing your own code, there are free online generators and third-party vendor pay tools that may be of help to you. If you’ve written your own code, or used a tool to generate the code block for you, your next step is to head over to one of Google’s structured data testing tools:

  • Google’s Structured Data Testing Tool (SDTT)
    This was the first testing tool Google released are still supporting for the time being. The tool allows you to inspect a specific URL or to copy and paste the code directly into the tool, and will highlight any missing required fields, missing recommended fields, and highlight when the code has errors.
  • Google’s Rich Results Testing Tool (RRTT)
    While not officially set to replace the SDTT yet, this tool has received most of the recent updates including providing examples of the rich results your structured data could be awarded. Much like the SDTT, you can inspect an individual URL, or you can copy and paste the code into the tool directly.

*Tip – while both tools do their best to identify syntax errors and tell you where the errors are, they are usually one line off. For example, if the tool is reporting an error on line 38 try looking for the error starting with line 37 and work your way backwards until you find it.

It is worth noting that for organizations using a CMS with plugins it is still a good idea to test your code before publishing if possible.

If you are using a CMS like WordPress or Drupal and you want to test your structured data before publishing live, you can copy and paste the HTML directly into tool. This allows you to test for errors before publishing the page.

Once you are satisfied with the test results it’s time to publish your page and track the performance. Search Console has structured data reports to let you know how many pages and how many structured data errors Google has encountered.

Since Google updates guidelines and attributes often, routinely checking the GSC rich results and structured data reports will help you stay up to date on new features, requirements and opportunities to earn rich results.

Recap

The best way to get started with structured data on your website is to:

  • Review the content on your website you want to:
    • Identify the important entities to define
    • Identify the most important attributes those entities have for your audience
  • Review the entity types on schema.org to find as close a match to your content entities as possible
  • Check Google’s Structured Data Developer Guide and Rich Result Search Gallery to identify what attributes will make your content eligible for rich results
  • Create and deploy your structured data code in JSON-LD syntax and publish your page to the internet
  • Monitor results in GSC

Though structured data is not a silver bullet that will zap you to the top of any search result, it will help search engines better understand your offerings by providing more information about your organization and the products and services you offer. ­­­

This additional information can better connect you with your target audiences by helping you stand out in search results with rich results, better control your brand’s Knowledge Graph listing, and help you optimize your site for voice search which could result in improved organic performance for your brand.

Live Event Structure Data Markup

ajenkins
ajenkins
M Posted 6 years ago
t 9 min read

Offline events have had no other option than to cancel due to COVID-19, and with good reason. In this time of crisis, safety and social distancing are of the utmost importance. However, there may still be an opportunity for event creators to "go online."

Events held exclusively online are becoming more common and perhaps you're thinking of hosting your own. If so, do yourself a favor and add this line item to your event plan - markup event pages with structured data. As you’re likely aware, using structured data helps Google understand the content of your site and may enable special search result features.

So, what structured data types do I advise? For your virtual event, consider adding both Event and Video structured data to your website. Let's review the benefits of each, confirm Google’s requirements, and then look at what implementation may look like for you:

Event Structured Data

What’s in it for you and your attendees?Event structured data following COVID-19 - BrightEdge

The event experience makes it easier for people to discover and attend events through Google Search results and other Google products. This feature brings some key benefits:

  • More interactive results: Your events can be eligible to be displayed in the event experience on Google, featuring your logo, description of the event, and more.
  • Increased chances of discovery and attendance: People have a new way to interact with your event posting and click through to your site.

(source: https://developers.google.com/search/docs/data-types/event)

NOTE: If you need to convince stakeholders of the importance of structured data, lead with this – beyond our own website, Google will also crawl/gather event details from 3rd party event websites. If their details are outdated and inaccurate (which occasionally happens), and you’re not sharing current and accurate event details via structured data, attendee experience and overall attendance may be negatively impacted due to conflicting dates and times, inaccurate pricing information, poorly written event descriptions, etc.

What are the requirements?

To be eligible for display in Google’s enhanced search results, the following properties are required:

  • location
  • name
  • startDate

The recommended properties below can be added as well. They enable a higher degree of customization within rich results and may provide a better overall user experience:

  • description
  • endDate
  • eventAttendanceMode (although not required to appear in enhanced results, for events held exclusively online, consider this a property required)
  • eventStatus
  • image
  • offers
  • offers.availability
  • offers.price
  • offers.priceCurrency
  • offers.validFrom
  • offers.url
  • organizer
  • organizer.name
  • organizer.url
  • performer
  • performer.name
  • previousStartDate

How do I implement event structured data?

Implementation is quite easy thanks to JSON-LD (Google’s preferred structured data over Microdata and RDFa). Once you’ve selected the applicable properties for your event, incorporate JSON-LD structured data snippet into the <head> section of your event page. If you’re hosting a free online event, it may look something like this:

<html>
  <head>
    <title>Our Big Event</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Event",
      "name": "The Big Company Event 2020",
      "startDate": "2020-07-21T09:00:00-07:00",
      "endDate": "2020-07-21T17:00-07:00",
      "eventStatus": "https://schema.org/EventScheduled",
      "eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
      "location": {
        "@type": "VirtualLocation",
        "url": "https://theurlwhereattendeescanjoin.com/"
        },
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "description": "Join us for our big 2020 event!",
      "isAccessibleForFree": true,
      "organizer": {
        "@type": "Organization",
        "name": "Your company name",
        "url": "https://www.companyhomepage.com"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

 

NOTE: Be sure to test the accuracy of your code snippet with Google’s Structured Data Testing Tool prior to implementation and post launch.

 

Video Structured Data

What’s in it for you and your attendees?

Livestream example for structured event data - BrightEdgeThe LIVE Badge! Google GA’d this feature in December 2018, and if you haven’t adopted, now is the time.

What are the requirements?

To be eligible for Google’s LIVE badge, nest the following properties in your VideoObject:

  • publication
  • publication.endDate
  • publication.isLiveBroadcast
  • publication.startDate

Google also clarifies that if you're adding BroadcastEvent to livestream videos, you’ll need to follow these guidelines:

  • Don't use vulgar or potentially offensive language in the structured data.
  • To make sure Google crawls your livestream video at the right time, use the Indexing API. Call the API for the following events:
    • When the video goes live
    • When the video has stopped streaming, and the page's markup has been updated to indicate the endDate
    • Whenever a change has happened in the markup and Google needs to be notified

(Source: https://developers.google.com/search/docs/data-types/video#livestream-guidelines)

To use the Indexing API, follow the steps below.

  • Complete the prerequisites by enabling the Indexing API, creating a new service account, verifying ownership in Search Console, and getting an access token to authenticate your API call.
  • Send requests to notify Google of new, updated, or deleted web pages.

(Source: https://developers.google.com/search/apis/indexing-api/v3/quickstart)

 

How do I implement video structured data?

Once again, we’ll write the JSON-LD structured data snippet and incorporate into the <head> section of our livestream video pages. The result would look something like this:

<html>
  <head>
    <title>Our Big Event 2020 Keynote - Livestream</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "VideoObject",
      "name": "Keynote Presentation",
      "description": "Tune in to hear the latest about our company!",
      "thumbnailUrl": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "uploadDate": "2020-07-21",
      "duration": "T1H20M35S",
      "contentUrl": "https://www.example.com/video/123/file.mp4",
      "publication": {
        "@type": "BroadcastEvent",
        "name": "Keynote Presentation by XYZ",
        "isLiveBroadcast": true,
        "startDate": "2020-07-21T09:00:00-07:00",
        "endDate": "2020-07-21T10:20:35-07:00"
      },
      "interactionStatistic": {
        "@type": "InteractionCounter",
        "interactionType": { "@type": "http://schema.org/WatchAction" },
        "userInteractionCount": 150
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

 

That’s a wrap

I look forward to a time when mixed online/offline events are once again permitted. But in the meantime, take advantage of these structured data opportunities to boost event engagement and livestream views.

Featured Snippets are Valued by Google and Customers

gregalbuto
gregalbuto
M Posted 6 years 3 months ago
t 9 min read

Over the past few years, we have seen a number of changes to Google’s SERP. The search engine giant has worked to create a universal search results page that accurately targets the user intent, with the goal being that the user finds the SERP so helpful that they continue to return to the search engine whenever they have new queries.

Marketers and searchers alike have noted the increase in quick answers, featured snippets, and other formats, such as shopping and image results. As Google continues to increase the number of features that help it target the user intent, site owners themselves begin to see an increasing number of chances to get their pages highlighted on the SERP. Marketers who want to take advantage of these opportunities have turned to using structured markup to draw attention to different parts of their site and to make sure that the content is eligible for rich snippets when possible.

Here is what we wanted to discuss with our community regarding the recent developments when referencing these structured markups, user reactions to them, and why we believe they are beneficial for people to pursue.

Customer response to Google’s rich snippet changes

As Google has increased the rate of inclusion of featured snippets and various on-page answers, understanding how customers respond to it has become an important concern.

Users appear to generally appreciate Google’s efforts to better target their user intent and include answers right on the SERP. The majority of users report that these features do help them find what they are looking for and improve their experience on the SERP.

The general appreciation of rich snippet answers is also supported by changes in how customers engage with the SERP. More than half of the searches made on Google through a mobile browser no longer include another click to other organic content. In other words, customers are getting an increasing amount of information directly in the browser. For example, Google now answers simple questions and queries such as weather, contact information, definitions, and dates without having to click on a link.

As featured snippet answers have changed user’s behaviors, marketers also need to consider how these answers will impact their strategies and ability to get out in front of the competition.

How brands can respond to this increase in rich answers

As brands consider the best methods for responding to these changes, they want to first articulate their goals for particular searches. As customers behaviors change, an increasing number do not click over to outside content. Therefore, brands will need to think about factors such as:

  • What potential gains can the brand achieve from gaining a featured snippet, even if they do not have traffic come to their site from the search. Do not forget the importance of building trust, brand awareness, and brand reputation, all of which can come from having your page featured in a snippet.
  • The potential losses the brand would experience if they did not optimize for the rich answer, but left the opportunity wide open for the competition to seize.

Given the potential build for brand reputation and to regularly outrank the competition, marketers should generally carefully consider the importance of optimizing for rich snippet answers, including the addition of structured data to their page.

Google’s support of rich snippet structured data

As Google appears to notice users’ appreciation of the featured snippet answers as well, they have made some movements to lend additional support to site owners who use structured markup.

Specifically, the search engine added to the Google Search Console a new report that provides users with additional information about their pages that have structured data for reviews or ratings. This report, known as the Review Enhancement Report, makes it easy for users to see any mistakes or corrections that need to be made.

If you spot an error through the report and correct it. You can also use the report to validate your changes, which will trigger Google to recrawl the content and note the corrected issue.

Users will also now have access to a Performance Report, which will specifically help you see the performance of the pages that have been marked up with ratings and reviews structured data. You can see the traffic and click through rates for these pages, as well as filtering and identifying the queries that bring your pages with the structured data the most traffic. This will make it easier to see how customers respond to the ratings and how they might help bring more leads to the site.

The ratings and reviews markup offers sites a considerable amount of value. As many as 90 percent of customers report that they will check online reviews before making a purchase. Featuring reviews and ratings with your brand online can easily boost credibility and encourage more people to click on your links.

Google’s support for this form of structured data also helps to indicate that the search engine appreciates these benefits offered to customers. The new report in the search console makes it easier for brands to ensure that they have the structured data set up correctly and ready to help customers.

Our recommendations for our community

With customers’ appreciation of rich snippet answers and Google’s additional support for them, we recommend that our community implement structured data whenever it would make sense for their site. Seizing opportunities on the SERP to build brand recognition and awareness through having featured snippets and other rich answers can help your organization thrive, even as search continues to change.

Google’s support for the review and ratings structured data may also indicate additional support and reports for more structured data options in the future.

The SERP and Google continue to change and mature with technology and user expectations. Organizations need to be cognizant of the importance of trust and reputation in buying behavior, and many of these changes provide opportunities for sites to capitalize on them. Brands that understand how to capture these windows will thrive as we see the continued importance of adaptation on the SERP.

,