O/SEO/O™ E18: Opinions About Scaling Schema

Published on: 
July 14, 2023
Updated on: 
August 3, 2023
Sam Torres
Sam Torres
Begüm Kaya
Begüm Kaya

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

If you enjoyed this episode, we have plenty more opinions! Get them in your feed by following us on LinkedIn and Twitter.

Video Transcript

Begüm Kaya  0:07  
Hello everyone, welcome to another episode of Opinionated SEO Opinions™. And this time we are together with Daniel Cheung from Adobe. Hello, Daniel.

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 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  
Love it!

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  

Screenshot of the answer to the question "what is json-ld"? The answer, from Moz, is "SON-LD stands for JavaScript Object Notation for Linked Data, which consists of multi-dimensional arrays (think: list of attribute-value pairs).  It is an implementation format for structuring data analogous to Microdata and RDFa. Typically, in terms of SEO, JSON-LD is implemented leveraging the vocabulary, a joint effort by..."
Yes, we too had to Google this. Credit Alexis Sanders & Moz.

Sam Torres  4:25  
And I can write in JavaScript, but I have no idea what the LD means in it. It's not important.

Daniel Cheung  4:29  
Okay. Great was I... I didn't know that. Now I... now I know!

Begüm Kaya  4:39  

Question #1

What does the initial discovery and audit phase look like for schema implementation?

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'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  
For sure.

Daniel Cheung  7:40  
I don't want to, but I'm sure we will.

Begüm Kaya  7:42  
Yes, we will hahaha.

Question #2

What types of creative approaches or software solutions come into play when implementing schema at scale?

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:19  
And I believe Lidia has also done that, to some extent for Sanity for some of their product pages where you can have... it will go... 'oh, this is a question-based heading.'

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  
Generally? Yeah.

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  
Sure does!

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  
You know, trying to add JSON, I think, you know, if you don't write JavaScript, which... you know, I firmly believe that SEOs do not 'have' to have those skills to be successful. 100%.

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  
Entity juice!

Sam Torres  15:10  
Yeah. I just coined it. It's mine! Hahahaha!

Trademarked, ya'll.

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  
Why not!

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

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  
You're amazing.

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.

Question #3

Are there any common shortfalls within schema implementation to steer clear of because of potential issues downstream?

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  
Yes, always.

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 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, and hopefully, even, 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  

Question #4

What are nuances worth noting that are specific to schema implementation for SaaS products?

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  
Yeah hahaha.

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.

Question #5

What's been the biggest challenge or obstacle you've faced in structured data implementation?

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  
And so

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  
Exciting process.

Sam Torres  45:19  
Love it.

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  
And now you need an extra part that says, that basically says to inject it through JavaScript, such as... It... a lot of people thought that meant that it wasn't working anymore.

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  
Thank you.

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  
Hummm. (laughter.)

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.

Screenshot of a headline about Samsung & ChatCPT. Text: "Samsung Bands Staff's AI Use After Spotting ChatGPT Data Leak. Employees accidentally leaked sensitive data via ChatGPT. Company preparing own internal artificial intelligence tools."
... woof.

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 and thank you so much for tuning in.

Work With Us
We’ll help craft, teach, and carry out SEO roadmaps that check all the boxes.