What a treat! In this episode, we’re joined by special guest Daniel K. Cheung, an SEO educator and advisor known for his unique ability to make the complex seem simple — especially structured data. Tune in as we dive into the growingly important topic of schema with an added emphasis on scale.
Still have structured data questions after watching? Send them our way - along with any other SEO questions - at https://thegray.company/ask-seo-questions.
Daniel Cheung 0:18
Hello, hello. It's lovely to be here.
Begüm Kaya 0:20
Thank you so much. It's lovely having you. Would you like to give us a quick intro of yourself?
Daniel Cheung 0:24
Sure. Now quickly subjective, right? But, but here's the... here's the very short version. I'm Daniel, I've been in SEO for only five years. Learned, ground up, like most of you.
Daniel Cheung 0:39
Self-taught, knew very little. Still know very little. But now I work client-side for Adobe, but not the Creative Cloud side, I work on another cloud, which is more to do with the business.adobe.com side of things. So your AEMs, your customer data platforms, the B2B stuff.
Daniel Cheung 0:58
And I... well at the time of recording, I've been there for only four short weeks. So it's a lot of learning, a lot of absorbing. And prior to that, I was working in another enterprise, a telco here in Australia.
Daniel Cheung 1:10
Oh FYI, I'm based in Sydney, Australia. And yeah, that's probably all you need to know at this stage before I become very opinionated.
Sam Torres 1:20
Hahaha sounds great.
Begüm Kaya 1:22
Sam Torres 1:24
And I'm gonna... but I am gonna call you out on trying to say you don't know much - you have made phenomenal strides in your career. And I'm super excited to have you on here. Because your expertise is definitely one-of-a-kind. So do not sell yourself short.
Daniel Cheung 1:37
Thanks, Sam. I like... I'm not selling myself short. It's just I think, as we'll all agree here, the more you learn, the more you realize you're just scratching the surface, and especially when it comes to SEO, and don't even get me into machine learning.
Daniel Cheung 1:50
I don't even understand that stuff. But that's the stuff that we work with. So that's why I say 'I don't know much', but at the same time, I do know... enough.
Sam Torres 1:57
Hahaha fair. Well, I know today we're going to be talking about what I think is one of your favorite subjects...
Sam Torres 2:06
Schema, also one of mine. So, we ready to hop in and get started?
Daniel Cheung 2:15
Oh my god, yes. Let's have a drink. Yes.
Sam Torres 2:19
Hahahahaha that's fair!
Daniel Cheung 2:20
I wouldn't say 'I love schema'. Love is a very strong word. I love my wife, I love my dog.
Daniel Cheung 2:26
Schema is just something that I fell into, I just jumped into it, right? I... I fell into schema because of a very basic reason. I wanted to know how I can connect, or nest, FAQPage schema to the broader WebPage schema.
Daniel Cheung 2:41
And I knew this was a thing because back in my agency days a really smart guy told me 'You should nest schema', but no one... like when you Google 'how do you nest schema', you don't find any resources.
Daniel Cheung 2:52
So for the last three years, I've been trying to figure that out. And so come Christmas last year, I decided you know what, I'm going to learn this thing. Like I knew FAQPage schema. I knew how to 'abuse' it for CTR reasons.
Daniel Cheung 3:08
But again, I wanted to do schema, or semantic SEO, or entity-based search. The... you know... air quotes again... 'the right way'. And so again, I turned to Google. That's what all of us - and developers do. Right? We go to Google and ask how do you do something?
Daniel Cheung 3:24
And none of the stuff that I came across, showed me. They explain the abstract theory behind it. But when I actually wanted to know, 'how do I connect to certain things together', there was nothing that I could find.
Daniel Cheung 3:37
And so, me not knowing how to code, like literally, I do not know how to code. I realized, 'Okay, maybe it's time to dive in and learn a bit of JSON-LD'. I don't even know what that is. But apparently, that's the syntax.
Sam Torres 3:51
It is, yeah hahaha.
Daniel Cheung 3:52
Sam is probably cringing!
Sam Torres 3:54
No, you're fine hahaha!
Daniel Cheung 3:57
'Do you even SEO bro.' She's like 'Well I don't know...'
Sam Torres 4:00
I do not expect SEOs to understand JSON. In fact, I would say if you know what it stands for, I would be amazed because why would anybody need to know that?
Sam Torres 4:12
You don't... you just don't.
Daniel Cheung 4:14
What does the 'LD' stand for then?
Sam Torres 4:17
So actually, I have no idea hahahaha
Daniel Cheung 4:20
Begüm Kaya 4:24
Sam Torres 4:25
Daniel Cheung 4:29
Okay. Great was I... I didn't know that. Now I... now I know!
Begüm Kaya 4:39
Sam Torres 4:39
Okay. So this is why you got into it. You started digging because nobody else was really doing it. So with that knowledge - when you're looking at a site and trying to figure out schema opportunities, what does that initial audit look like for you?
Daniel Cheung 4:54
Okay, so, typically speaking, I wouldn't audit schema. It's very low on the scale of priorities.
Daniel Cheung 5:04
But recently because I have been, you know, pushing this whole semantic SEO agenda for so long on LinkedIn... that people come to me about it.
Daniel Cheung 5:12
And so a few months ago, a site - Bob's Watches - reached out to me and said 'Hey, our traffic's tanking, can you look into it'. And there were a whole host of issues.
Daniel Cheung 5:21
But one of the other things I'd also realized was, they were using different types of solutions - plugins, and otherwise - to generate, or dynamically generate, their schema, specifically product schema.
Daniel Cheung 5:33
And on certain pages, mostly their money pages, or money category pages, there were like 36 different products being described. And so I was like, it... in theory, this makes sense - like Google can make sense of this. But in essence, what you're describing and what you're communicating to a search engine is, this thing you've come across is 60... 36 products.
Daniel Cheung 5:57
Okay, so which one of it is important? Or what about the page itself? What about the other stuff? And so when I... you know, back to your question, Sam... how do I audit schema?
Daniel Cheung 6:05
It's, it's quite simple. You grab the page, you put it into Schema.org's validator tool, and then you see:
Daniel Cheung 6:12
A. - Are there any errors? If not great, move on.
Daniel Cheung 6:15
And then do you... then you look at the issues, because sometimes you can also have issues, but they're not necessarily errors.
Daniel Cheung 6:21
And then if they're no issues, great, so syntactically, that all makes sense. But then you look at it, and you take one huge step back and you go, 'Okay, what exactly is this structured data telling a search engine?'.
Daniel Cheung 6:32
And that's where I have to put my foot down. And this is where opinion comes in and says, 'Yes, you can get rich results from having your product schema, expressed a certain way'.
Daniel Cheung 6:44
But maybe the better way to do this, and, you know, there's a charged word here like, 'right way' of doing it, is to nest all that product within a schema type of let's say, collection page, so that on a very basic level for a search engine, it knows exactly what it's going to pass on that page before it renders it, and then go, 'Okay, it's here, cool. It's all good.'
Daniel Cheung 7:07
So that's how I would audit... audit schema. But let's be really honest here, schema isn't a direct ranking factor. And if you were to implement semantic SEO very well and invest 40, 60, 80 hours into it, you shouldn't see a huge increase in traffic or rankings. And so that's the interesting conversation of how do you get buy-in, like, 'What is the purpose of this anyway?'
Daniel Cheung 7:35
And that's a very different conversation, which maybe we'll dive into.
Sam Torres 7:39
Daniel Cheung 7:40
I don't want to, but I'm sure we will.
Begüm Kaya 7:42
Yes, we will hahaha.
Begüm Kaya 7:44
Let's take a look at the software solutions and creative approaches that you take when you're like implementing schema.
Begüm Kaya 7:51
I assume when you... you're using nested schema and graphs and stuff, it is very difficult and complex to like, automate them all, or like fit them into a tool that you're using. So probably you're using something custom, or at least you're sharing some sort of details with the developers. So walk us through that, please.
Daniel Cheung 8:13
That's a very good question. I don't use much-complicated tools. In my opinion, anyway. I essentially use Visual Studio Code or Visual Code Studio, one of those things. Hence, I'm not a coder.
Daniel Cheung 8:28
And that just puts interesting colors so that you know if you've written something right or wrong. But essentially, there are a multitude of software solutions that do this for you out of the box already.
Daniel Cheung 8:43
In fact, when I was first trying to learn how to connect one schema type to another, I came across Rank Math's premium tool. So this is more for your WordPress sites. And they have an ability where you can essentially build block-by-block or schema-type by schema-type of whatever you want.
Daniel Cheung 9:02
And that was like, interesting, but because I don't understand the syntax, or the vocabulary at that stage... how can you build something when you don't even know what each building block is.
Daniel Cheung 9:14
And so that's why I dove into the actual JSON-LD itself.
Daniel Cheung 9:18
But then you have WordLift - that is a tool that will actually build a knowledge graph using entities on your website itself.
Daniel Cheung 9:27
Then you have Schema App, which has been the solution for a very long time, that can do this for you at an enterprise level.
Daniel Cheung 9:35
And then, I guess, if we're talking about... if you want to look in the real world, how someone else has built this logic out and automated it, Investopedia has done it really, really well.
Daniel Cheung 9:46
I don't know how they've done it, but they have done it. If you go to any informational page that links to a money page, or even perhaps a commercial page itself, you'll see that almost every single component content-wise on that page has been marked up with schema, and it connects to each other.
Daniel Cheung 10:04
And so someone very smart has already designed what the logic looks like, and how, if it's put into a field, on the back end, whatever platform they're using, then that translates to X, Y, Zed type of schema and the properties that need to be tapped.
Daniel Cheung 10:28
Okay, then we're going to put that as FAQ schema, and then it's going to grab the first paragraph and put that as the answer. So there are, of course, ways to do this.
Daniel Cheung 10:39
And I think... again, I'm not a coder, but most developers, if you tell them what needs to be done, and what the variables are, it's a piece of cake. Right, Sam? It's a piece of... it's easy, right?
Sam Torres 10:49
Sam Torres 10:52
This... this part is... so I will say, working with your dev teams, I've generally had a lot of success, because, like you say it's a little bit easier.
Sam Torres 11:01
One of the biggest things I think that makes it easy is that we're not trying to dictate where in the page the JSON has to go. The biggest things I've seen, though, is a lot of the dev teams I've worked with - and maybe it's just because I'm also a developer, that they're like, 'Hey, I need you to write an example of what it should look like.'
Sam Torres 11:18
So usually, you know, Daniel, you're mentioning a lot of those great tools that will help auto-generate schema for you. There are tons of generators out there. I do feel you though on there's less available tools, I think, or like readily available when it comes to nesting things.
Sam Torres 11:36
Like just this past week, I had to write an example schema with a collection page, all of the nested products, and FAQ. Like... so I'm like...
Daniel Cheung 11:45
All of the nested products...
Sam Torres 11:46
'Were you watching me this week, is that what's happening?' Hahaha.
Sam Torres 11:51
Like pulling in pricing, and review information, all that good stuff. So, you know, usually, they do want to see an example.
Sam Torres 11:58
But I love that you just called out, like Investopedia does a great job. Yeah, there's, there's a lot of good examples out there, so you can always kind of lean on those.
Sam Torres 12:08
Now, you said you dug really into JSON. Is there ever a time that you were digging into microdata? Or RDFa?
Daniel Cheung 12:14
No, because I don't even know what that stuff is! Well, I do, but for some reason, JSON made sense, because, as you said earlier just now Sam - for devs, it's easier, because I've just learned that if you were to do microdata, or RDFa, it goes into the page source itself. And it can break things because of where it goes.
Daniel Cheung 12:35
Whereas what we're doing with JSON-LD, just, you shove it into a script tag, and then technically, you could put it anywhere - in the body, in the footer, preferably in the head. But you can go anywhere, and that makes it a lot easier because it's almost a separate thing that gets injected into another thing.
Daniel Cheung 12:51
Whereas if you're playing around with microdata, then there's all those interesting ItemProp things, then that can, you know...
Daniel Cheung 12:59
or, because of that, now thinking another step further is... let's say, another component on your webpage, updates automatically, and it, what... overrides all that microdata. Then it's like, 'Well, that sucks, doesn't it?' Because then you have to start all over again.
Sam Torres 13:16
Sam Torres 13:18
Yeah, so I remember when - because I'm old. But I remember when a... schema, the preferred method was microdata. And we had to write those into everything. And there was something that was nice about that, because like, you could manually do it in your blogs, or what have you.
Sam Torres 13:35
Sam Torres 13:47
But you know, that can obviously make it a little bit harder, can make it harder to diagnose when something's wrong, right? And really be able to... to figure out how to fix it. So that was kind of the nice part about microdata.
Sam Torres 13:58
I'll be honest, I have never messed around with RDFa, whatever. But yeah, I do... I like what you say about JSON, really, you know... it's more developer friendly.
Sam Torres 14:09
I think also, another reason it's always made sense to me is that it really is just that, well, it's JSON. So you have a characteristic and a value, or - it's really an attribute, and a value. And that just makes sense.
Sam Torres 14:22
Because you're like, now I'm describing my thing. And I'm describing the most important, or the priority data points, about my thing.
Sam Torres 14:29
And I think something that people miss, and I love what you're talking about with like semantically connecting these things when you create that web of understanding of your content.
Sam Torres 14:38
Even just as a marketer, now I suddenly have a better handle of what my website is about, and what am I talking about?
Sam Torres 14:43
And, you know, sometimes you're even also able to see like, 'Oh, there's no connection between topic A and topic D. How do I... how do I connect those so that this makes more sense and I can show more relevance?'
Sam Torres 14:56
I just love like the holistic view that you sometimes have to get, or honestly not sometimes, that you need to get to really effectively put this in and get your... your entity juice out of it, I guess is what we'll call it.
Daniel Cheung 15:08
Sam Torres 15:10
Yeah. I just coined it. It's mine! Hahahaha!
Daniel Cheung 15:14
I love the imagery! Now, let's say filtering's on hahahaha!
Begüm Kaya 15:18
Sam Torres 15:19
Hahaha fair enough!
Daniel Cheung 15:23
I mean... I mean, I want to take a huge step back here...
Begüm Kaya 15:26
Well you know, link juice, entity juice, you know, why not? Why not? By the way, I hate the phrase link juice.
Daniel Cheung 15:32
Sam Torres 15:33
Yeah, why not?
Daniel Cheung 15:34
I think you are listening and... and, you know, schema, it means a certain thing in the context of SEO. But it's not specific to SEO, because schema, if you actually Google it, is more about linguistics.
Daniel Cheung 15:51
And this goes back to my previous life where I was starting to be a speech pathologist. And that's when I first came across this concept of schema.
Daniel Cheung 15:58
And that is, it's a way to describe something. So let's, for example, imagine you're trying to explain to an alien what a dog is.
Daniel Cheung 16:09
It's an animal. Okay, but there are many types of animals. Okay, and four legs.
Daniel Cheung 16:14
But there are many animals with four legs, Okay, it has a tail. But at the same time, there's animals or four legs with a tail. And so the more specific you get, then that way of describing what it is, using those attributes, or properties - that is schema.
Daniel Cheung 16:28
And schema makes up the lexicon, or the words in our language. And for whatever reason, English is a really stupid and confusing language.
Sam Torres 16:38
Oh, it's terrible!
Daniel Cheung 16:39
Yet it is language. There's so much ambiguity. 'Dog' could mean many things. And so for a search engine, like, let's say Google. They... they've figured most of those things out.
Daniel Cheung 16:50
But let's say you are working on a specific vertical in finance, or health, or whatever. And you want to really drill down into what this page is about, or what your website in general is about.
Daniel Cheung 17:02
This is where schema comes in.
Daniel Cheung 17:03
You're trying to describe certain things so that Google doesn't have to rely on its assumptions on what it thinks you're doing... so that you're just connecting the dots for them, and so that they can help you.
Daniel Cheung 17:17
That is the purpose of schema. It's not about gaming the system to get certain higher click-through rates, or more visibility on the SERPs. Although that is something on a tactical level you can do.
Daniel Cheung 17:27
It's more about the essential optimization for a literal search engine itself. That's schema and that's semantic SEO.
Sam Torres 17:35
Yeah, I love that, because that's one of the things... Yeah, absolutely. Yeah.
Sam Torres 17:41
And the power of schema - like it's a closed language set. That's essentially what we're offering. And that's... there's so much power in that. Like, I remember, one of the first times I implemented it, it was like, I was able to go into... it was for a... a local service company that did house painting.
Sam Torres 17:57
And so we were able to drill down into, not only is it a local business, but you could actually specify 'house painter'.
Sam Torres 18:02
And this was also, so I'm gonna date myself, this is before Hummingbird. So before we had semantic search, and, you know... so this is the days of like...
Sam Torres 18:15
The many ways that people spell house, by the way - it's alarming how people spell house.
Sam Torres 18:21
Um, you know, you had to have a page dedicated to each way that house is spelled, like 'house painter'. I mean, it was ludicrous.
Sam Torres 18:30
Y'all should have seen when we had to do it for refrigerators. That was, I think I had like 30 different pages because "refrigerators" is just an impossible word to spell. But it still has no meaning to me.
Sam Torres 18:41
But like when we were able to do that, like you're able to drill down into... with such specificity about 'This is what this organization or this page is talking about'. And just have an understanding of like, 'I know that Google now understands that you are a house painter', because it's here and like that, it's very clearly documented.
Sam Torres 19:05
But yeah, I love your analogy of putting it with like, 'How would you describe a dog to an alien?' It's really just bringing all of that together. And I could... we could probably have a whole nother episode about how stupid the English language is. And actually, I would love to do that hahahahaha.
Daniel Cheung 19:23
It makes no sense!
Sam Torres 19:25
It really doesn't!
Daniel Cheung 19:26
And yet people understand it. So that... that's what Google is trying to achieve, or most search... most search engines are trying to achieve, through NLP, and all those words that I will say to make myself sound smart, but I actually don't know how they work.
Sam Torres 19:40
That's okay, you don't have to! Hahaha
Begüm Kaya 19:43
And I would have opinions as a non-native speaker on that. But yeah, as you said another episode, definitely.
Sam Torres 19:54
Let's do it!
Daniel Cheung 19:55
Well, you raise a very interesting tangential, yet very relevant thing is, as we are all aware, Google tends to serve English content better because it understands it better. But how do you apply schema to multilingual sites?
Daniel Cheung 20:11
Or, like, JSON-LD is written in English, right, Sam? Like you can't literally write it in another language, right? Can you? I don't know.
Sam Torres 20:19
Not with schema.org.
Daniel Cheung 20:19
Well, you can put it in the field, in the value. You can put in the value, but it won't make any sense to whoever's parsing it.
Daniel Cheung 20:26
So again, it comes down to this interesting dynamic of... maybe you could use English-based JSON-LD to describe your website that is in German, or in another language that serves your target audience very well.
Daniel Cheung 20:42
But Google doesn't quite figure it out, because it doesn't 'care' as much. For lack of a better word.
Sam Torres 20:49
I don't think you're wrong. I will say we've actually done some tests on that. So I will say from my experience, I learned yes, you go ahead and keep the JSON structure and you know, the... the attributes, those don't change.
Sam Torres 21:04
Like, it's still gonna be ID, name, URL, right? Postal address, right? It's just kind of a weird phrase in-and-of itself. But the values we did put in, when I put them in the actual language, we saw better success rates of that affecting SERP features, than if we translated them into English.
Sam Torres 21:29
So just a heads up.
Daniel Cheung 21:30
That is cool. I'm gonna use that. How does that play with hreflang? As someone who doesn't, very understand how hreflang should be done?
Sam Torres 21:40
Fair enough. So yeah, when we... so these are for international clients who have multiple versions of pages. So we did... we made sure that the hreflang was implemented correctly way before we tested structured data.
Sam Torres 21:56
But... and I will say the site that we did this test on was such a large site that they're href... I'm never... I always have a hard time saying this. Okay.
Sam Torres 22:07
Hreflang! I can type it. That's what matters. That one, we actually put it in the XML sitemap, because when we tried to link all the different versions, they actually had over 200 languages. So that would just make the HTML really large.
Sam Torres 22:26
So we did the XML sitemap implementation for it. So yeah, we made sure that that was all sound. And they had a large enough site that they had a custom CMS and all that kind of stuff that naturally linked things together.
Sam Torres 22:39
Actually, not naturally, it was a very manual process, but it happened. And so that's how we were able to test it.
Sam Torres 22:45
And yeah, we saw... or like we even have... they had some pages that were in English, but for different markets.
Sam Torres 22:53
So let's say it might be the English site for German users, because the content had to be a little bit different because of local laws. And also, the product itself is a little bit different from like the US version.
Sam Torres 23:06
So we definitely saw like, when that was in English, SERP features were okay. But the German version with the German notation did a lot better. So yeah, that was just the test that we ran. Hreflang... kind of like canonicals, should be treated separately than structured data, I think.
Sam Torres 23:30
So ideally, if you are having to implement structured data across the board for a multilingual site, whatever values would be populating your structured data would still be translated in each version.
Sam Torres 23:45
And like would be custom fields, or however you need to build it. So yeah, I don't know if that answers your question. But that's kind of the experience we had with it.
Daniel Cheung 23:55
Because that's what I need to do at Adobe hahaha.
Sam Torres 24:00
Daniel Cheung 24:03
Difficult, but yes, someone's done it before. So I... yes, I'll push ahead.
Sam Torres 24:07
Yeah. And actually, I... well, so that's the kind of work I love. I think it was really fun. It was very nerdy, but it was really fun to basically have all the spreadsheets and just like, 'All right, do I have all 262 versions of this done?'
Sam Torres 24:22
Also really fun because sometimes I would look at - like - the symbols and I'll just call myself out - I... I am a linguist. I speak multiple languages, but sometimes I would look at something I'm like, 'I have no idea what this is'.
Sam Torres 24:34
I don't... I couldn't even tell you what language it is hahaha. So yeah, sometimes that got difficult. But thankfully we work with really awesome people who know those things much better than me.
Begüm Kaya 24:50
Well, so we've been talking a little bit about like how the complexities and like, it should work as long as you are in control of what you're doing, and you can deliver it to the developers, yes.
Begüm Kaya 25:05
But are there any common shortfalls within schema implementation to steer clear of because of the potential issues downstream at scale?
Daniel Cheung 25:15
Many things can go wrong. And this is an interesting conversation I had very recently. And that was... and it's something that a lot of us as SEOs fall in a trap of, is that we don't have the correct KPIs. And so we default to traffic as being a success metric.
Daniel Cheung 25:31
But... but here's the thing, right? Most pages, let's say it's going after a large category or broad topic.
Daniel Cheung 25:36
It's going to get a lot of traffic, because let's say you have topical coverage, so it's going to get from the initial stage, top of the funnel, all the way to the bottom of funnel, if you've addressed those things.
Daniel Cheung 25:46
Now, let's say the purpose of that content is to lead toward a conversion.
Daniel Cheung 25:51
What if, through your structured data markup, you've specified who it is for, what it's about, and why it's important to that particular person or your ICP (Ideal Customer Profile)?
Daniel Cheung 26:03
And so Google - let's say, it treats all of those things as you've intended, and it goes, 'Okay, I'm going to cut out all the top of the funnel stuff because that's not your intended audience. I understand what this content is about and who it's for.
Daniel Cheung 26:16
And therefore, I'm going to serve it to people who are much towards the consumer... well, the comparison or the 'ready to commit' phase of their buyers' journey.
Daniel Cheung 26:25
And so suddenly, as we all know about head terms, and that broad topic, that's like 90% of the traffic. And so what if your page tanks, but your conversions go up? But you're reporting consistently on traffic, and then your VP or your client go, 'Why is our traffic tanking?'
Daniel Cheung 26:42
And you're like, 'Oh, shit.'
Begüm Kaya 26:47
Daniel Cheung 26:47
So what if we were doing all the right things? And we were achieving the goals, but because the story you've been telling and the reporting that you've been doing... has been wrong?
Daniel Cheung 26:59
Something to think about. That's what could go wrong.
Sam Torres 27:01
Sure. Yeah. So I'd say for us, whenever I do like a big structured data project, if you will, we usually look at CTR rates. Like that's what I'm trying to measure and see if that improves at all.
Sam Torres 27:17
Are there other metrics that are typically your like... obviously, conversions? You know, for most, I think for most SEOs were, you know, if your agency side is a lot of B2B, B2C, you're looking for eCommerce or transactions. Like, what are some of the other go-to metrics for you?
Daniel Cheung 27:38
Ah... I, let's say, well, for B2B or B2C, I like branded search, especially branded search plus a product. And if I see that, whether it's reflected in impressions, or clicks, or, hopefully, CTR, improve across time, as a result of all your initiatives, then that for me is a proxy to convey somewhat of a success.
Daniel Cheung 28:02
The other things all ladder up into that.
Daniel Cheung 28:05
And so for me, it's definitely the branded stuff. Because that's, typically when you think, again, of the multi-touch points that anyone makes when they make a decision.
Daniel Cheung 28:15
The last type of query they may search for, maybe three months later, or even two years later, is 'Oh, brand recall', and then what's the product or the solution? And so I like to measure that, as opposed to the generic, let's say informational pages, where we're trying to oh, get more clicks and impressions for generic queries.
Daniel Cheung 28:34
Yes, that's great. But what's the 'so what?' And that's a little bit more different?
Daniel Cheung 28:38
Well, I guess it depends on what stage of that business and SEO and all the marketing channels are at. Because there is a case to start talking about rankings and traffic. Because that's... you're at the beginning phase.
Daniel Cheung 28:51
But let's say it's an established brand, has product-market fit, has all that stuff, and they spend, you know, millions on paid. Then your success metrics...
Sam Torres 28:59
So they're called Adobe.
Daniel Cheung 29:01
Most brands hahaha.
Daniel Cheung 29:07
By the way, you should totally sign up for AEM! If... no, no (ha.)
Daniel Cheung 29:14
Ah... so yeah, it comes down to who is asking for progress, and tailoring that language to them. Because everyone asked for different things. And that may change.
Sam Torres 29:26
I think that's something across the board for SEOs. We need... we need to do better about answering the 'So what?' Right? And also keeping that as your North Star.
Sam Torres 29:41
Like there's... there's so many times where I've seen like, where I've seen people want to do this thing because it's considered best practice, and it's like, 'But what business goal are you helping?'
Sam Torres 29:53
Like that needs to come back to the bigger piece. And I think at that point, once we operate more like that, we may also see SEOs become more integrated into the business units and be less of like the 'Oh, those are the kids who play on Google all the time'. And, you know, sacrifice lambs, I don't know.
Sam Torres 30:11
Yeah, no goats were harmed in the making of this episode. Hmm. Soooo.
Sam Torres 30:18
Yeah, you know, because I do think there's just a lot about SEO that people don't understand. So, you know, our, almost our entire profession is treated like black magic.
Sam Torres 30:26
And I think there are, unfortunately, less great doers in our space that they are a little bit of doing that, like, snake-oil sales piece, right, that we have to overcome.
Sam Torres 30:40
And I will say, having done this for 13-plus years, it has definitely shifted, and I am seeing a lot less of that than I used to, which is really fantastic.
Sam Torres 30:50
But yeah, as we do better at really applying ourselves to the overall business goals, and really integrating ourselves into those we're going to see more support come through.
Sam Torres 31:02
Because it is just - and I'm totally biased, because I love it - but it is such a powerful channel, and such a powerful tool. And it's just, you know, for most of our clients, it's always the number one revenue generator.
Daniel Cheung 31:18
Sam Torres 31:19
Like I said, I've been doing this for 13 years. It always is.
Daniel Cheung 31:25
Yeah, and that's something that I think... when I was first starting out, and it makes sense, right? You're trying to learn all the things, you look for all the issues, and how to fix them.
Daniel Cheung 31:34
But what's the 'So what?' And it comes down to learning who is hiring you, who is actually... who's pitched, let's say, agency-side.
Daniel Cheung 31:43
Someone internally has pitched for a budget, and got it - and wants something. What does their skip-skip boss want?
Daniel Cheung 31:51
Like, what was the promise to be made? Have you even had that conversation? Because let's say an SEO manager or marketing manager has gotten, let's say, $60, $80k per year, for the next financial year - for an agency?
Daniel Cheung 32:05
And they're like, 'Okay, great.' And then most agencies will say 'Okay, let's do an audit.' Why? So what if you find all the things? What are all these things going to achieve?
Daniel Cheung 32:16
And that's the same thing with schema. Like for me... do I... what stage do I pitch schema as an independent consultant? At what point do I pitch schema internally here at Adobe?
Daniel Cheung 32:27
Those are the things that you need to be very careful of, and mindful of, when you're making recommendations.
Daniel Cheung 32:31
And back to your point, Sam, it's like, what I found successful, and this is something that I learned, possibly the hard way at my previous role at Optus was, you don't call things SEO.
Daniel Cheung 32:44
You find what other people care about - what are their big bets that they've promised their bosses, and you go... with your understanding of how web and humans work, how do you integrate SEO into those same things.
Daniel Cheung 32:58
Because digital web, and SEO, they're all interconnected. So don't call it SEO, necessarily. Get your stuff into their tickets, get your stuff into their priorities, and SEO will get served.
Daniel Cheung 33:09
And you can tell the success story from their perspective for them. And that's how you get that long-term cadence where SEO is not treated as a 'We tried, it didn't work.' It's more 'Oh, it works in different facets of our business. We love it.'
Daniel Cheung 33:26
And so it just becomes ingrained in that organization or business that, 'Okay, we don't truly understand SEO, there's that team or that person who does it.
Daniel Cheung 33:35
But they've been showing us results. We love them. We won't cut their budget. Yet. But we know they exist and the importance they carry.'
Daniel Cheung 33:46
And I think one of our biggest issues as SEOs - we try to explain everything, right? We try to cover our bases because 'it depends' doesn't help anyone. But then we go into this big manifesto of 'If X then Y, Y, then Zed', but sometimes just be simple.
Daniel Cheung 34:01
And that's where you can fall in the trap of oversimplifying things. But there's always context as to why sometimes you have to oversimplify and get to just 'the doing'.
Begüm Kaya 34:13
Well, so you recommend nesting SEO under different departments so that you can get buy-in?
Daniel Cheung 34:22
Actually, can you clarify what you're asking?
Begüm Kaya 34:25
That sounds a little similar to like schema strategy, that you have like nesting everything, like identifying the relationship...
Daniel Cheung 34:33
Begüm Kaya 34:33
... between different parts of your schema and webpage. So, within your organization, you are trying to nest schema under different departments whenever you're speaking to them, so kind of like wearing different hats to get buy-in and just justify what you're going to do and stuff.
Begüm Kaya 34:50
Love it. Great.
Daniel Cheung 34:53
Ok, I understand now. Yes. So, like Adobe and most enterprise or large organizations, different business units, different budgets different heads-of, and rolling out something sitewide rarely happens unless all the fires are burning, and this one solution will fix it.
Daniel Cheung 35:11
Schema is not going to fix most of those things, because we are addressing entities and relationships.
Daniel Cheung 35:16
Now, I... from my perspective for Adobe or the business.Adobe.com subdomain - does Google understand the entities related to it? Yes and no.
Daniel Cheung 35:27
Could it be improved? Definitely.
Daniel Cheung 35:28
How could we improve that? What are the levers at my control? Well, content is going to do that. The IA is relatively okay. I've been told that some people have fought the battles before me, and now I'm reaping the benefits. So the subfolder structures is relatively clean.
Daniel Cheung 35:43
And for context, you know, business, Adobe, it's an acquisition machine, it just buys products and then folds it into its main parent company.
Daniel Cheung 35:54
And so, for me, to get semantic SEO across business.adobe.com, and hopefully, even adobe.com, is I need to find one business unit that cares.
Daniel Cheung 36:07
It might not be the one that I'm directly working with, but it might be a tangential one somewhere else.
Daniel Cheung 36:13
And then help that SEO and their developers to get that live and measure that. And then report on the results on that through their team that flows across to mine. And then I can show, 'Hey, we did this, it took X-amount of resources. And across Y-timeline, we saw this difference.'
Daniel Cheung 36:32
And that's how I would build that business case or buy-in to roll it out for another business unit, and another one.
Daniel Cheung 36:38
Because every business unit, every subfolder, essentially, has its own goals. And they're... not really that... aligned. Yes, they all want to make more sales. But how they make that sale is very different. And so that I think makes sense for most large organizations.
Daniel Cheung 36:56
Now, if you're looking from a smaller business, where it's kind of one big line of multiple services or products, then that argument is maybe a little bit easier.
Daniel Cheung 37:07
But it comes down to again, to your forecasting, to your hypothesis of 'If I pull this lever, how long will it take?
Daniel Cheung 37:13
How much will it cost? And when can we start seeing that uplift? And what does that uplift mean and look like?' And that really applies to all types of marketing, right?
Sam Torres 37:25
Begüm Kaya 37:25
Sam Torres 37:26
Begüm Kaya 37:28
So with that, let me ask - what are the nuances worth noting specific to schema implementation for SaaS products? Because I think that's kind of like a connected but different sphere question that we can touch upon.
Daniel Cheung 37:43
So yes, SaaS products traditionally have had difficulty being described with schema. But there is. There's a schema type called WebApplication that you can use. It is a child of SoftwareApplication, that is a child of something else, and something else.
Daniel Cheung 38:00
But short story is everything comes to this thing called 'a thing', because that is what an entity is. So a web application is a sub- sub- sub- sub- subset of a thing, because it's literally a thing.
Daniel Cheung 38:14
And so with WebApplication, it comes with a few distinct and unique attributes that you can use to describe it. And the biggest challenge for SaaS products is that you want probably a rich result.
Daniel Cheung 38:29
You want when someone searches for your product and solution to have all this stuff showed up. And so how do you do that with structured data? Well use the WebApplication schema type, and then that allows you to describe certain things.
Daniel Cheung 38:43
But you don't describe it as a Product, per se, you describe it as an Offer. And if you have multiple Offers, and you use AggregateOffer, and that's the same with pricing and reviews.
Daniel Cheung 38:57
But essentially, that's how you get around the 'Oh, this is not... this is a service', like literally software as a service. But it's not quite a traditional sense of what Google understands as a service, like as a dentist, and as definitely not a physical product, like from eCommerce.
Daniel Cheung 39:12
And so WebApplication schema type is the best workaround - at the time of recording. It may change in time, and hopefully it does, that allows SaaS companies to mark up their products so that it tells search engines that this is actually a product, but it's not a traditional physical product.
Daniel Cheung 39:31
It's also a service that we offer, but it's not a traditional service. But when you combine the two, that's essentially what a SaaS product is. And that's how you can use schema to convey what that is.
Daniel Cheung 39:41
Now, how much does Google interpret that, or want to interpret that? That is a whole different discussion.
Daniel Cheung 39:48
But if you, at the beginning, describe those elements on each of your product pages for a SaaS then you are ahead of the competition, because you have conveyed certain elements of what you offer better than your counterparts.
Daniel Cheung 40:03
And that's always, you know, something nice to have.
Begüm Kaya 40:08
It really is challenging when you don't have specific SERP features that you can report on, isn't it?
Daniel Cheung 40:15
Yeah, like if you put it into Rich Results test that goes, yeah, there's code here, but we don't know what it is. It's like, 'Okay, great. Cool.'
Begüm Kaya 40:24
Sam Torres 40:25
Begüm Kaya 40:28
Definitely, definitely 'fingers crossed' situation. Yeah. Well, that was a wonderful way of putting it. And thank you for all the information.
Begüm Kaya 40:37
So wrapping up this episode, I am going to ask you what has been the biggest challenge or obstacle that you faced in structured data implementation. It can be... something, I mean... go wild! Whatever you want to cover for it.
Daniel Cheung 40:57
I guess I have two stories. One was when I... my first experience at an enterprise trying to test it. And so ironically, Optus was also using Adobe Experience Manager.
Daniel Cheung 41:11
However, the build that we got from the person who, well, the company, the consulting firm that built it, was not that great.
Daniel Cheung 41:19
Daniel Cheung 41:20
A, I didn't even know who the devs were and,
Daniel Cheung 41:21
B, I didn't know how to reach out to them, because they were a third-party. But I knew that I wanted to test certain things. I wanted to get those FAQ-rich results.
Daniel Cheung 41:30
And so the first test was, 'Okay, let's... I know that there's Google Tag Manager on this website. So if I can add a container and a tag to the existing thing, then maybe I can test it'.
Daniel Cheung 41:44
And so that's what I did. And of course, I don't have ownership of approving what gets pushed live in GTM. And so I'd explained that to an analytics person, and thankfully, they knew what I was trying to achieve, and it wasn't gonna break anything.
Daniel Cheung 41:57
And so they said, 'Okay, it's all good.'
Daniel Cheung 41:59
And so I wrote that in raw JSON, put it in a script tag, put it into GTM, they could push live, and then, unfortunately, that page for whatever reason, that page type never triggered rich results.
Daniel Cheung 42:12
But at least I could grab that JSON, put it into Rich Results, and screenshot the preview. So go, 'Okay, this is what it'll look like for this category page. If we had, you know, this cool rich result.'
Daniel Cheung 42:26
And then the product manager was like, 'Oh this looks awesome. Let's roll it out.'
Daniel Cheung 42:27
Okay, great. Next problem, how do we roll it out? Again, I'm not a developer, I have no understanding of AEM at this stage.
Daniel Cheung 42:36
... and to current day, still don't really know. (And someone who works at Adobe!) Oh, yeah, we're going there.
Sam Torres 42:47
It's only four weeks, you'll get it. You'll get it in the next four. It'll be fine!
Daniel Cheung 42:51
Yeah, yeah, yeah, I'll get there. It's like WordPress right now.
Sam Torres 42:57
Daniel Cheung 43:00
Daniel Cheung 43:00
And so somehow, I built a relationship with who our devs were, who were a third-party, and I was like, 'All I need is a way to inject something into the head.' And they were like, 'Okay, what do you mean?'
Daniel Cheung 43:14
I was like, 'Oh, I want to, you know, do all this JSON stuff.' I was like, 'Okay', but the Dev is like, 'So what do you need from me?' I was like, 'I don't know. But is there a way to add it in the page properties or shove it in there?' He was like, 'Oh, Okay. Do you want like a raw JSON field in the Page Properties?'
Daniel Cheung 43:00
And I was like, 'I don't know what that is. But yes, give it to me.'
Daniel Cheung 43:23
And so that got added. And so I already had like the JSON built out. And so FYI, raw JSON means it's not wrapped in the script tag. It's just the curly bracket stuff. Again, I don't know what that means, but that's what it is.
Daniel Cheung 43:45
So I had all those documents for a page, gave that to the next person who actually implements that stuff. And that is - different organizations are called differently, but it's called a producer.
Daniel Cheung 43:55
They copy and paste, put that in the page properties, and press live. And thankfully, through other initiatives with on-page content and internal linking, some of our product pages were already on page one.
Daniel Cheung 44:08
And so, really quickly, when it got recrawled, and Google's like 'Okay, let's add rich results to this stuff' I could show on live results, 'Hey, this is the stuff that I was talking about. What do you think?'
Daniel Cheung 44:21
At this stage, not much data, but you could show the impressions of FAQ stuff, rich results. And so product owners are really happy. Let's send that up to their boss.
Daniel Cheung 44:30
And that was how I tested it. And that's how it is now there on that website.
Daniel Cheung 44:36
Now coming full circle to Adobe, where I still don't understand how AEM fully works, but I want to roll out certain parts of schema... I am starting to have those conversations. But as expected, there are blockers.
Daniel Cheung 44:49
You get told 'no' a lot. And for good reasons. It's not part of their rollout plan. So I need to find a way to test it. Now obviously, we don't have Google Tag Manager, we have something else. So I need to figure out who owns that.
Daniel Cheung 45:03
And how do I inject stuff into that to create that test. But essentially, that's the same process and pattern that I'll follow. But essentially, you're testing stuff, measuring it, and telling the 'so what?'
Begüm Kaya 45:17
Sam Torres 45:19
Sam Torres 45:22
Yeah, so also, for those who are implementing scripts through... or JSON through GTM, I know it's not recommended. I get that.
Sam Torres 45:32
But frankly, sometimes I don't have another option. And for now, it still works.
Sam Torres 45:40
But as long as you also have the little extra that says, to add it to the rendering, that's an important part of the script.
Sam Torres 45:48
So maybe with this video, I'll include a few links that will take you to that because like, back in the day, you could just put in the script tag with the JSON, and that would work.
As promised: How to deliver schema markup via Tag Manager.
Sam Torres 45:56
Sam Torres 46:06
And it's really just that that shortened script version doesn't work anymore. But we still use it. When I can't... when I can't get devs on my side - because it happens, unfortunately. Yeah, we can still do that.
Sam Torres 46:20
But also it is kind of terrifying, because once a dev figures it out, they're like, 'You could literally change the entire website.'
Sam Torres 46:25
I'm like, 'You're right. I could. It's a good thing I'm not evil.'
Sam Torres 46:28
Yeah. But no, I love that - and wish you the best of luck. Hopefully, all will... actually, I know all will go well, you've got plenty of business cases and experience to make it happen. So.
Daniel Cheung 46:40
Sam Torres 46:42
Well, anything you want to add about schema before we wrap up?
Daniel Cheung 46:45
Sam Torres 46:47
The future of schema? How is AI going to affect it?
Daniel Cheung 46:51
Sam Torres 46:55
Small subject. Really small!
Daniel Cheung 46:57
Okay. Okay, if you want to learn schema... ChatGPT is great at giving you something.
Daniel Cheung 47:06
It may not be correct!
Daniel Cheung 47:07
But essentially... and the newer versions that can connect to the internet... scary. You can go 'Oh, here's a page, can you not... you know, figure it out?'
Daniel Cheung 47:17
So you go through a series of prompts, like 'What is this page about? Okay, now, can you explain this with schema.'
Daniel Cheung 47:21
And that's how you can start to learn schema by just seeing how a machine would translate it, or at least produce it.
Daniel Cheung 47:31
And then you can ask it, and this gets quite trippy, right? You go. 'Okay, now pretend to be a Googlebot.' And you're seeing this code, what is it telling you?
Daniel Cheung 47:38
And then that's how you start to learn. All this stuff is not just gibberish, it does make sense. And that's how you can start having fun with schema.
Sam Torres 47:49
I love that call out. I do want to offer though, remember that anything you put into ChatGPT then belongs to OpenAI. So be careful. Don't be like Samsung.
Daniel Cheung 48:03
Yeah. Just keep using Samsung, it's fine.
Sam Torres 48:04
And reveal parts of your source code. It's totally fine. Um, but this has been great.
Sam Torres 48:09
Thank you so much.
Sam Torres 48:10
Daniel, where can others find you on the internet and connect with you should they want to, or follow your brilliance, because really, your posts are fantastic and I love them. So.
Sam Torres 48:19
Everybody should follow you.
Daniel Cheung 48:20
Ok. You can find me by Googling my name, literally. No, that's a very snarky response of an SEO. No, so Twitter, LinkedIn, that's where I'm usually at, more LinkedIn these days. So if you search for Daniel K. Cheung, that's where you'll find me.
Daniel Cheung 48:37
Otherwise, I do have a YouTube channel called Scheming Schemas, where I pretty much show you the behind-the-scenes of me learning how to write certain schema, based on a problem I'm trying to solve. So it's mostly me swearing and trying to figure out why there's a missing comma somewhere. Ugh my...
Sam Torres 48:56
I know that pain, yes.
Daniel Cheung 48:57
What do commas mean? What... ugh?!
Begüm Kaya 49:01
They are very hard to identify!
Sam Torres 49:05
Or like one too many brackets? Yeah, yeah.
Begüm Kaya 49:08
Sam Torres 49:09
I feel you.
Daniel Cheung 49:10
That's what... again, if it's not sensitive information, you can put that into ChatGPT and it'll fix it for you.
Sam Torres 49:17
Begüm Kaya 49:19
Wonderful call out.
Sam Torres 49:20
Well thank you so much!
Begüm Kaya 49:22
Thank you so much!
Daniel Cheung 49:22
Thank you for having me. This was a... this was a lot of fun.
Sam Torres 49:25
Yes, we'll have to have you come back and let... give us the update on how Adobe is doing. As much as you know, you're allowed hahaha.
Daniel Cheung 49:36
Would you let SEOs describe how things are going?!
Sam Torres 49:40
Daniel Cheung 49:41
Fires! Fires everywhere!
Sam Torres 49:45
It only happens with every website. So it's fine. Well, thank you so much, and to our listeners like you for joining us and tune in next time for another episode of Opinionated SEO Opinions™.
Begüm Kaya 49:57
And if you have any questions, please send them our way at thegray.company/ask-seo-questions. and thank you so much for tuning in.