Structured Data That Drives Results - Searchmetrics Summit 2018

Barry Adams explains how structured data markup like JSON-LD powers rich snippets in search results, boosting click-through rates. He covers high-impact snippet types from breadcrumbs to job postings, common implementation errors like malformed JSON, and emerging schemas to watch. Validation tools and ongoing monitoring are essential for maintaining markup that drives measurable traffic gains.
Chapters
Hey everybody. I got the unenviable task of keeping everybody awake this afternoon. This is one of the first of the last batch of speakers, and we all feel the pain a little bit. We're nodding off, the sun's shining outside, and we're like, why the fuck are we here, right? Hopefully we'll make this worthwhile. This is me in a nutshell. My name is Barry Adams. The accent's Dutch with the least Dutch name you'll ever find. Those logos are meant to impress you. Consider yourself impressed. Hands up here, who uses structured data on their websites? Okay, keep your hands up if you see really cool results off of that, like cool rich snippets and shit like that. There's only like one, the train line guy, obviously. What is structured data? Structured data comes in many different forms or formats. Basically it's data that's been organized organized in a sort of a repository, which is quite a generic term. But it's also because data, structured data, is fairly generic in and of itself. It is basically data that's been made machine-readable, which means machines can understand it. Machines like search engines, like Google. And that means they can use the data in all kinds of different contexts and formats. Structured data itself comes in many different shapes and sizes. The most obvious one has been around for a very long time. Like lists and tables, and of course databases have been around for a very long time as well. Yes, these are forms of structured data. This is data that's been formatted into a repository which makes it easier for machines to understand. Take, take like a table in Excel. There's rows and columns, there's headers, and that means that machines can more or less understand what the data means and how they can— Potentially use that. We are going to be talking about linked data. Today, which is a specific subset of structured data and the one that we as SEOs are most familiar with. Linked data is basically a method of publishing structured data so that it can be interlinked and becomes more useful through semantic queries. That semantic part is quite important. There's a reason that we use structured data and semantic data almost interchangeably when we talk about this stuff, because it's all about meaning. It's all about giving meaning to data so that machines understand it, what it is you're saying, and allow them to use it in the right context. We're going to be focusing here on search results primarily, but, you know, we're also talking a little bit towards the end about the future of how machines will be using this, primarily in voice search scenarios. Hopefully this will look familiar for most of you. This is a structured data snippet using JSON-LD, JavaScript Object Notation for Linked data. Quite a mouthful. It's been a W3C standard since 2014, Google recommended standard for markup since 2015, and I quite like it because it separates the markup from the main body of your web page in the same way that CSS, for example, separates the design of a web page from the main body of content. Sometimes it can be a bit of a pain if you have content that's embedded in a page and it might be much easier to implement it in, in like item prop HTML tags with microdata. But Google does recommend you use JSON-LD markup instead, ideally in the header of your web page, so that they can very easily extract it and understand what that page is about. There's a lot of different standards that Google recommend you use when it comes to linked data, and of course you can go all the way and try to implement each and every one of these. But should you, should you actually put in the effort to implement all of these snippets on your website? What are your rewards? What does actually pay off? Because, you know, us SEOs, we've been in this for a long time. We've heard the stories before. You know, we've had this carrot and stick approach before. Use this, it's gonna make everything better. It's gonna make the web a better place. Who remembers Google+? Authorship markup, right? Yeah, fuck you, Google. Thank you. I work in the news industry a lot. I have a lot of clients in news, and I've been telling them that they have to implement the news keywords meta tag, the only keyword type meta tag that still had any value. And then Google recently said, oh yeah, no, we stopped using that like last year, and they didn't tell anybody. Yeah, fuck you, Google. What actually drives results? What kind of snippets actually help make your website more successful. I'll show you some of the more obvious examples, then a few more that might be less obvious that you might be considering. And like I said, we'll wrap up with some forward-looking snippets that are in the pipeline that might change the way you optimize your content. Let's start with some of the obvious ones. I like this one. This is the breadcrumb list snippet. This indicates content hierarchy in your website in the form of breadcrumbs, breadcrumb trails. Which they're very quite subtle in search results. They're not obvious. They don't glare at you like review snippets, for example, do. But people glance through search results very quickly. They scroll down with their eyes very, very quickly. And we might think that, okay, people won't really absorb what they're seeing. But people who understand a little bit of neurology will understand that what the eye sees is much more than what the brain processes, actively processes. The subconscious mind will absorb everything that you see, and the conscious mind only focuses on like 1 or 2% of that. So someone scrolling through a search result, these fairly subtle rich snippets will have an impact. The subconscious mind will see that, and it might result in a higher click-through rate from that result to your website versus a competitor who doesn't have it, because it looks neat, It's clearly hierarchical content. People can in a glimpse see where that page sits in the structure of your website, and if it's a properly hierarchical page of the category of content that they're looking for. So it might be subtle, but it's powerful. This is not so subtle, but this is the one everybody wants. The review snippets. Everybody wants these fucking star ratings, right? I got them on my own website, example number 2. I'm nothing if not a self-promotional bullshit artist, so here we go. And they work, and I made that shit up. I totally made that number up. But it works, right? Google accepts it because it doesn't deviate significantly from what Google actually sees in my Google Maps listing, for example. You know, Google Maps, I pay people to leave me reviews and it's all 5 stars, it's fantastic. So I'm being a little bit modest by giving myself only a 4.8 here. 4.8. But let's be honest, I'm fucking awesome, so, you know. But it works. Now Google does penalize you if you spam this shit too much, if you try to push the boundary too much, so be careful with that. I'm not advocating you actively deceiving Google, wink wink, nice nice. But, you know, you can put this stuff in without having a direct correlation there with the content on your website. Now you should probably do that. You don't want to turn off your customers, and if you gather any form of reviews on your website in the first place, you definitely need to make sure that what the rich snippet says, what your structured data says, and what is actually on your website more or less matches up. Because that's the sort of shit Google will penalize you for if you go overboard. This is another one which I quite like, quite subtle. The product markup tends to be used in conjunction with the review markup, but doesn't have to be. You know, you don't, you don't have to give an aggregate rating. You can just use the product markup, and that can be quite powerful because again, it's a subtle one, but that in stock, for example, is a humongous trigger for people to like, oh yeah, you've got this product. The same with the price. That's a big trigger. People will click on that. People will go to your website versus maybe a higher-ranked competitor who doesn't have that snippet. It's subtle, but it works. It drives people to your website. And this one is massively underutilized— event markup. In fact, I have last year and this year, I think I've been into total 20, 25 different events. Not a single fucking one of them, including this one— sorry guys— has used that markup on their own website. And I think that's a missed opportunity right there, isn't it? Maybe some of them have used it, but it hasn't triggered the rich snippet, which is also one of the other slightly annoying aspects of all this, that you can implement this all you want, there's no guarantee you're gonna get the rich snippet. And I really, really wish I knew what made Google make a decision on the website to give it a rich snippet versus not giving it a rich snippet? I really, really want to know that. And, you know, people ask this of Googlers all the time, and you get these big waffly answers like, yeah, the website has to be authoritative and trustworthy and all that shit. Come on, give us a fucking straight answer for once. And they never do because, you know, they don't want to give away the secret sauce, right? But this is a good one. I like this sort of markup. It claims more on-screen real estate. It makes the result taller, which makes it harder to ignore, and it helps you stand out from your competitors. Also with this one, the video object markup. Now, for the screenshots of this one, I had to craft a search result that omitted results from YouTube.com because YouTube gets nearly all the video snippets out there with very few exceptions. So as a general rule, whenever I talk to clients and they talk about hosting video on the website, I tell them, use YouTube because the snippet's there. Besides, YouTube is like the world's second most used search engine. People do more searches on YouTube than they do on all of Google's competitors combined. So, you know, it's an extra opportunity for you to get more eyeballs on your video. But if you do have your own video hosting platform, and I actually went through an exercise with a client in the news industry who built their entire video streaming platform when Google was quite generous with giving video snippets in search results. And literally the week before they pressed the launch button, Google said, nah, we're only gonna do it for YouTube and a few trusted websites. Everybody else, fuck you. So they're like, okay, that's £300,000 we're never gonna get back. But they still run that video streaming platform on their website despite the fact they don't get these snippets anymore. These snippets are quite nice though if you do get them because especially the length there, people don't really want to click on your video result if they don't know how long it's gonna take to watch it. You know, if it's like a 45-minute video, people— I think you should sort of give them a heads-up warning before they go into that. Like, I'm not gonna watch that shit, give me a 3-minute soundbite. You know, we have short attention spans as people. So these snippets, do they actually work? Do they actually help drive more traffic to your website? The short answer is yes. I took this slide from a talk last week at Brighton SEO by Alexa Sanders, which if you don't follow her yet on Twitter, you really should. She's crazy smart, and she collected this from a series of implementations with the clients that she works with at Merkle. And they see across the board, in most cases, an uplifting click-through rate when you get rich snippets, when you get rich results. Some more than others. One of them was a negative one, which I find interesting. There's always an outlier. There's always something going wrong. This stuff is, you know, unpredictable, which is part of the fun, I suppose. Keeps us actively engaged, if not entirely sane. But it does show the power of that click-through rate improvement if you get the rich snippet. Also because we sort of suspect/know that Google uses those sorts of explicit signals when someone clicks through to a result as a quality factor. If someone clicks on a result and Google doesn't see them again, Google knows, well, that was probably the right result for that query. If someone clicks on a result, they come back to Google and then click on another result, and that happens often enough, it's a bit of a signal that the first result they clicked on but they kept bouncing back from might not be the right answer. So that improvement in click-through rate could help you actually achieve better rankings in the long run because it's a good usability signal, basically. So those are the obvious rich snippets. Those are the ones we know and love and everybody wants them. But hey, there's a couple of others. This is another one. Again, one of those ones that if you implement it, you're not guaranteed to get it. And again, it's very hard to predict if and when you get it. But now you use that same as to indicate your official company social media profiles. You might get them listed in the little Knowledge Graph box on the right-hand side of the search result if Google accepts it. But again, it's a big fucking if. What does happen, by the way, if you have like the contact point, that phone number becomes your contact point listed in your Knowledge Graph snippet. And you can put different numbers in there. You can have different numbers for customer service versus repair or versus media desk or whatever it is. And you can identify these in your structured data snippet so Google knows which numbers need to show for what kind of query. You also have the sitelink search box. Who here has a website that has one of these? Congratulations, Google is trying to steal your traffic. Having the snippet, having the structured data doesn't trigger the search box. Google triggers the search box based on other factors, and I have no fucking clue what those factors are. But if you do get them, you want that snippet, because if you have that sitelink search box and you don't have these search action structured data on your website, when someone uses the sitelink search box, they go to another Google result. And I've seen this on certain clients, and that Google result will show ads from one of their competitors. Hey, again, fuck you, Google. So as a standard recommendation, I say if you have an internal site search function, implement the Search Action Structured Data, even if you don't yet have the Sitelinks Search Box, even if you might never get it. It sort of is a preventative measure that if Google does decide your website deserves a Sitelinks Search Box, at least it's sent to your own internal search engine And not another Google search results page that shows ads from your competitors, right? Always good to implement and quite easy to implement as well. Local business— I'm giving away a little bit of my hobby here. John Hewitt Bar is my favorite pub in Belfast. It's, it's also a not-for-profit pub, which is one of the reasons I like it. All the profit goes into charities and the John Hewitt Society, and they serve a really mean pint of Guinness there. And this is one of those things that you probably want to implement, and it has a slightly invisible behind-the-scenes impact. This is just another quality signal, another verification signal, if you will, for your local business's presence. So it should match up exactly with what you have in Google My Business and Google Maps, exactly what you have on the big online directories, and it needs to contain the exact same information. And it shouldn't be on every single page on your website. You can either have it on the homepage or the contact page or both. Doesn't have to be on every page, but it's probably something you want to implement to send that signal to search engines that this is my official presence, my address, my contact details, etc. And it might help you claim a bit more visibility in Google Maps for local searches. Now, as we all know, Google is not content to just, you know, serve as a gateway of traffic. Google wants to be the end destination, which is where snippets like these come in. They're thinking like, you know what, job boards, Fuck 'em will take over that entire space. So Google in the US has started showing job postings directly in search results when someone searches for job, and then all the job aggregators come below there. This is not the first time they've done that. They've done it with flights, they're doing it with insurance and credit card comparison, all trying this shit out to see if they can make more money, you know. If you want to be part of that snippet, at the moment I think it's only in google.com that this is active. I couldn't get it to trigger in google.co.uk. You know, because if you, if you're not in there and Google decides to show job postings in search results that you're targeting, then you're sort of just fucked, right? There's no way you can compete unless you're part of that box, and then you have to use the markup. And I work with a few job sites, and Google is sending out notifications that, hey, you, we notice you're not using job posting markup. They're actively encouraging job aggregators to use this markup. Yes, please install this markup so we can steal all your fucking traffic. There you go. You don't really get a choice. It's the same with news publishers and accelerated mobile pages. You know, they don't want to, they have to, or you can say goodbye to all your mobile traffic. But don't get me started on that rant because we'll be here all fucking day. Let's talk a bit about implementation of structured data because this stuff is easy to get wrong. Can anybody spot the error here? This is an easy one. Curly quotes. The error is marked here, but this is actually the error, curly quotes. When I was doing this presentation, this is, I think, quite particular to Windows machines. Straight quotes get automatically corrected to curly quotes, and then you copy-paste from Word or whatever into your HTML editor, and then the curly quote errors pop in. Oh, cool. Thanks, Bill Gates. So that's an obvious one. This is another one that happens very often, one comma too many. If you end a specific type of structured data entity, the last one doesn't get a comma. It's one of those things that's part of the JavaScript standard, and because JSON is JavaScript notation basically, you sort of get that stuff creeping in there. This is also an error that I'm not sure if it's an error anymore actually, but it used to be targeted or triggered as an error in the Structured Data Testing Tool. Can anybody spot the problem here? It's a bit harder to see. This is about price and price currency. Ideally, you don't have the currency symbol in the actual price. The price value is just a numeric field, and then you have to identify price currency— GBP, euro, whatever— as a separate attribute in that particular snippet. And this is my favorite. Can anybody see the problem with this one? This is actual source code of a client of mine. I've had to sanitize it to protect the guilty and leave out any identifying remarks. But this is a website that relies entirely on client-side JavaScript rendering to show any content at all, including the JSON-LD snippet. In fact, I think they have the JSON-LD snippet triggered through Google Tag Manager. which in theory works great. In practice, yes, the structured data testing tool will probably pick it up, but you will never ever get a rich snippet, ever, in my experience. This— what we did with this client was very simple. We kept all the client-side rendering because the server-side rendering option was too expensive and for later down the line. The only thing we did is we put the JSON-LD markup for these pages in the header in the raw HTML. And literally 3 days later, we had all the review snippets back that they lost initially. 3 days later. That's the only thing we did. So, your markup needs to be in the raw HTML source code. Do not rely on JavaScript rendering for that shit to work. Do not use Tag Manager to inject JSON-LD markup because that will go wrong. You know, good old-fashioned HTML and CSS, nothing beats it. Thanks, Barry. So what's ahead? What's coming? What other cool stuff is down the road? I really like this particular standard, Speakable. It allows you to identify specific elements on your web page, like for example headlines or summaries, which you can identify with like CSS styles, CSS identifiers, as being speakable, as being something that can be read out loud by a voice assistant or Google Home or whatever it is. That is really cool shit. This stuff is, is pretty much there as a standard. It's very close to being accepted. And yes, because of the whole rise of voice search, one of the common themes throughout the whole day today, this is something you will want to keep an eye on. This stuff is powerful. This allows your content to be read out by machine systems in the right context. Or take this one, how-tos. An explainer with every little step of a how-to guide explained and identified in the JSON-LD snippet. Every step can then be, of course, used and reused, and someone can then also ask their voice assistant, you know, how do I do this? How do I change my car's tire? The system will know that. It doesn't have to guess anymore. This sort of adds on to the stuff that, you know, we already see with like bullet lists and tables that Google uses as featured snippets with some measure of effect. And I think with Structured Data, it's it will serve as a more explicit signal, a more trusted signal than just a bullet list, because it takes away a lot of the guesswork. You know, it is much easier for search engines to interpret and to implement. This extension of the news article markup is part of Project Trust, which was launched last year to battle fake news. Very topical topic at the moment. And it helps news organizations identify what kind of of content they're actually publishing. There are some news publishers who put news out there, but it's really opinion, so they should be using opinion news article for every single piece that they put out, but they probably won't. But it just adds that extra layer of trustworthiness, of context to your articles when you publish them, and again allows Google to more accurately evaluate what you're trying to say, what you're trying to publish. There's a lot more on the pending.schema.org website, by the way. I do recommend you keep an eye on that stuff because that's really interesting stuff what they're doing there and some really interesting new schemas that they're introducing and working on. And, you know, you don't want to be caught out by this. This is stuff that is very fast moving with new standards, new implementations on a weekly basis and absolutely worth keeping an eye out if you care about structured data at all. And only earlier this week we had this particular announcement from Google where you can use Google Actions And, you know, allow Google to do something with your content in Home Assistant context, in Home Assistant environments. The irony, I think, of this is, is that this isn't actually based on JSON-LD snippets. This is based on Google Docs, Google Sheets, to be precise. The initial standard relying on Google Sheets, which, like I said before, is a table and therefore structured data. Makes it machine-readable. And some of my clients have been triggered by Google to verify themselves as a provider of search actions in the directory, and that allows them to show up and be used for searches like, you know, what's the latest news about this or that topic. And earlier today, because, you know, we're on the cutting edge of SEO here, right? This was tweeted out by John Mueller. If you want to actually play around with structured data, they have a Code Labs environment. You can just Try stuff out, code your own little structured data snippet, see how it works. It's not as scary as it looks. It's quite simple and straightforward, fortunately. If I can do it, you can do it. Come on, people. Key takeaways here: this stuff can result in rich snippets. There's no guarantee, of course, that you get your rich snippets because we're still beholden to the Google gods. It does help search engines connect the dots behind the scenes, and that tends to result in other type of enrichments like a better Knowledge Graph, or, you know, better visibility in Google Maps or whatever it is. You will fuck up at some stage. It's just inevitable. Even when you use the Structured Data Testing Tool, which you always should, sometimes errors will creep in between testing and deployment to go live. So make sure you keep on testing that stuff regularly. Also keep an eye on the reports in Google Search Console on structured data. They tend to tell you when stuff gets really fucked up as well. And like I said, keep an eye on pending.schema.org. on the official Google documentation as well, because they do tend to update it regularly with new schemas, updated schemas, with tips on implementation and code examples. So, you know, there's nothing holding you back from trying this out yourself. Thank you very much. Thank you, Barry.
More from Barry

NewzDash Webinars: Barry Adams ON Advanced Tech SEO for News Publishers and LIVE Q&A









