Content structure and structured data: Will they impact featured snippets?
In this article, I explore the difference between Structured Data and content structure as a continuation of John Mueller’s response in the Hangout. I also provide some advice on getting featured snippet tables that I’ve gleaned through research and rigorous testing.
As an SEO who is in Google’s trenches day in and day out, I’ve learned over time the importance of targeting featured snippet opportunities. This is especially the case if your client is already ranking on the first page of Google, but their content is not the page being featured.
One of my favorite of the different types of featured snippets, is when Google is showing a table in the search results already for your competitor’s site. I even made a video where I challenged myself to take a featured snippet table away from my biggest competitor, Amazon.
Thankfully, we won that battle and my table has survived to tell the tale:
Content Structure vs. Structured Data (in the Context of SEO)
The big question: is it a type of Structured Data or the structure of the content itself that helps a piece of content get featured?
I reached out to Knowledge Graph Strategist Aaron Bradley, who explained:
“No table data is “structured data” in the form of schema.org structured data prescribed by the search engines (note that Dataset provides a mechanism about describing a table, rather than of exposing property/value pairs in a table). In parsing tables, Google absolutely uses that tabular data to generate featured snippets, but the semantics Google uses to construct those snippets (i.e., the meaning of the table and its elements) are derived as a result of Google’s extraction process, rather than being based on explicit structured data.”
Aaron’s response points to the structure of the content being the contributing factor, which relates to how the table was built on the page with HTML.
Further to this, there is no specific featured snippet structured data markup that currently exists. It is, however, useful to be aware of the history of Google patents relating to this topic, as a hint to what the future could hold.
There is a big difference between structured data and content structure in the context of SEO. Structured data refers to when you implement a type of markup on a webpage, which helps to give additional details surrounding the page content.
Improved relevance and understanding of your content can result in both higher rankings on Google, along with having some control over SERP features such as rich snippets with reviews, information in the Knowledge Panel and much more. You can learn more about structured data in codelabs.
Content structure, on the other hand, relates to organizing the HTML on a page. This can be headings, the title tag and meta description, or alt tags for images. In the case of my featured snippet table, I used HTML with Bootstrap for easy CSS formatting.
For my page, I’m using both structured data and a clear content structure. In terms of structured data, I’m just using the LocalBusiness markup from schema.org with JSON-LD. Correct implementation can be tested through Google’s Structured Data Testing Tool, among others.
A featured snippet Case Study using the HTML for a <table>
The content within and surrounding my table resulted in us being able to steal the featured snippet away from Amazon. Let’s take a look at the HTML and analyze some of the important attributes that contributed to this.
1. The primary heading Google selected for their search results
The first important component of my content structure is the heading. I decided on a H2 in this case, as it was the second level in the heading hierarchy for the page. The current H1 for the page didn’t relate specifically to the information provided in the table, so the H2 made sense in this context. Here’s what the heading tag used in the featured snippet looks like on my page:
As I was targeting the keyword “portion size plate” (among others), I needed to at least have a variation of this within the H2. This helps to build relevance and gives Google confidence that the information within the table relates closely to the search term.
2. Additional content to help build context for my table
Originally, when I first tried to capture the featured snippet, all I had was the H2 and the table itself. This wasn’t enough for Google, so they decided to keep Amazon as the featured result. I needed to build more context surrounding my table to make it more appealing for Google.
I did this by adding additional text, along with an unordered list with bolded text. This helped give some additional detail – which ended up being the reason I was able to take the position and retain it long-term.
3. Arranging important information in a table
The table had a lot of different components. Ideally, I wanted it to look nice and engaging on the page, but also have some functionality that could assist with sales.
Most importantly, the table is built correctly with HTML, rather than fancy CSS that looks like a table but isn’t actually one. CSS tables are one of the things John said in the Hangout to avoid if trying to obtain a featured snippet.
Here’s what the columns look like, with bolding used as a visual preference:
And now the rows. The first row:
The second row:
And the third row, which has hyperlinks for the product pages embedded. I’ve never seen Google use this in the context of featured snippets, although it’s a nice feature to have for the user either way.
The fourth row. This is the last row shown in Google’s search results in the case of my featured snippet. Any information added to this section, along with the rows above, should be considered when trying to entice a visitor to click-through to the site.
The fifth row is completely hidden for the query. Similar to the information made visible above, the same consideration needs to be made for this content. Does the user need to see this in order to click on the result?
And the same goes for the final row. This section isn’t as important and aligned between two of the columns to make the table look tidier for the reader.
The HTML above is for a standard table with rows and columns, along with links to product pages when mentioned and bolded headings so they stand out more on the page. I also went for the striped rows version of the Bootstrap table as a design preference.
Here’s what the finished product looks like:
I’m now left with an easy-to-digest table that looks great on all devices and can be easily extracted by Google for the featured snippet. The result is that I’m now ranking in the top Organic position and also directly above that with the featured snippet.
Completing this task, among others, has allowed me to have some nice growth in the past few months on my site, as can be seen in the below Google Search Console screenshot:
In my experience, when you get a featured snippet added for your site, you’ll see a massive uptick in Impressions in particular (even if your Organic ranking remains unchanged). Clicks tend to follow a similar trend, though not at the same rate as Impressions.
This is mainly because users won’t always click on your result, although you’re much more likely to be considered in voice search (for which we don’t currently have a reliable reporting platform in SEO just yet).
The ideal situation is that your site will be ranking for different variations for the targeted featured snippet opportunity, not just an individual search term. Here’s some of the variations I’m currently maintaining in Australia and how they look on different devices:
Learn more about targeting featured snippets on Google
It can be incredibly difficult to win featured snippets. And just adding a table to your page without strategic direction won’t yield the same result I had in many cases.
The key is to get added to the featured result, then hold on to it long-term. Here’s a list of articles that I would consider a “must read” when learning how to get featured snippets:
- Featured Snippets Resource Center by Eric Enge
- Large-Scale Study: How to Rank for Featured Snippets by A.J. Ghergich
- How Google Pulls Structured Snippets from Websites’ Tables by Bill Slawski
- How Often Does Google Change Featured Snippet URLs? [Study] by Mordy Oberstein
- Searching For Buried Treasure – How To Find More Of Your Featured Snippets by Glenn Gabe
There is also this webinar on Search Metrics by Eli Schwartz that I listened to recently which is well worth tuning in for. Eli addresses an area that I hadn’t heard anyone speak about – the issue of getting featured snippets and not seeing the same increase in Clicks as you do with Impressions.
Eli’s approach views this as looking at getting featured as an advertising opportunity, similar to what you would do with paid advertising methods. A framework suggested was that these opportunities should be viewed as a Cost Per Impression (CPM) model, where you’re paying $x amount each time a user sees your search result and brand.
It is however important to understand how Google determines an Impression first. For example, if a user lands on the first page of Google, an Impression is recorded even when your result hasn’t been scrolled into view (it’s when the page loads).
Key takeaways from Google, featured snippet studies and the <table> case study
In summary, there are no concrete findings that suggest Google currently uses structured data to generate featured snippets. This has been confirmed through multiple studies and Google’s John Mueller has given confidence in this research by suggesting he believes this to be the case also.
Featured snippet tables are a fun SEO task to go after. The data you can provide Google, if completed correctly, can be used in a variety of ways. This is the same for the user. Who doesn’t like reading information in an organized table that is easy to consume?
I hope this article provides you with a nice collection of resources in going after these types of opportunities and allows you to have some confidence in your approach. Although the introduction of featured snippets on Google can be a bit of drag (fewer clicks), there’s plenty of traffic being left on the table if they are ignored.