You already know the importance of internal linking.
But have you heard of communicating the exact information via schema markup?
That’s right! Schema!
I’m not taking the piss!
What I'm about to show you is fantastic for homepages, ecommerce category pages, and informational articles.
Here's How it Works 👇
Look, schema.org has literally TWO item properties dedicated for describing internal links.
One is the significantLink schema property (see below).
And the other is relatedLink.
These two properties are perfect for niche websites, affiliates, ecommerce sites, and for those who need a turnaround in quality due to the helpful content update.
What I’m about to share with you is 100% legit.
We’re not stuffing your <head> with anything dodgy.
All you’re doing is communicating what is already in your body. And you’re going to communicate it in the most effective manner possible—through structured data.
So here is an example of what I’m talking about.
It is from my homepage.
I’ve marked up two of my primary navigation links as “significant links” and my podcast is described as a “related link”.
Now, here is a blog post that I’ve marked up with the same schema properties:
You’ll notice from the screenshot that the link to download the technical SEO checklist has been marked as a “significant link”, same as all the translated versions while the /learn/ parent category of the blog has been expressed as a “related link”.
Here’s the thing: if you were to go to this webpage, this is exactly what anyone and a crawlbot would see.
All I’ve done is markup content that exists.
“But what’s the difference between relatedLink and significantLink?”—you may ask.
That’s a good question and to be honest, I can’t find a definitive or official answer, but here’s my $0.02.
For blog posts and articles:
- Use relatedLink to communicate parent pages
- Use significantLink to communicate URLs that are directly relevant to the page’s context and content (typically, same as the on-page links).
For category pages (including ecommerce):
- Use relatedLink to communicate other parent category pages
- Use significantLink for corresponding products or pages.
It comes down to semantics.
Significant sounds stronger than related, so that’s why more “important” URLs (relative to the source page) are marked up as “significant links”.
Example - Applying Schema to an Adidas Product Page
Take a look at the following adidas.com.au product landing page.
You’ll notice that there is just one type of schema markup currently on the page. Interestingly, it's an FAQPage type which is technically incorrect (but that’s another rank for another day).
Let’s see how we can use JSON-LD to describe this Adidas product category page better.
1. First, we are going to classify the page as CollectionPage schema type.
Doing so allows us to describe more on-page elements whilst folding in the existing FAQPage schema (e.g., the name, the URL, and specify a unique identifier - #webpage).
Then, we’ll communicate that this particular category page is part of a wider adidas.com.au website.
2. Next, let’s repurpose the FAQPage schema and use markup to tell search engines that the FAQ accordion is not just a random element on the page, but rather, an essential part of the page.
We’ll do this by using the isPartOf connector to link FAQPage schema to CollectionPage (this is the exact same thing we did by connecting the page to the website).
Then, add the /runners/ and /home/ breadcrumb links as breadcrumb.
Then, we can describe the men’s shoes and women’s shoes category pages as related links for the CollectionPage.
Now, we can describe the main content of the page - the actual products!
In this instance, I’ve chosen to use ItemList instead of significantLink because it offers more descriptive properties.
And here’s the final result.
What you’ll notice in the above screenshot is that the schema.org validator has understood the PLP as FAQPage. But as you read the output, you’ll see that the JSON-LD communicates the following:
- Here is a CollectionPage, with this name, URL and ID, where 2 related pages have been specified.
- The page is part of a website with this URL, name and ID.
- On this page, there are 2 FAQs.
- And the main content of this page is the Products and these are their URLs, name and pricing/inventory information.
And this is the same JSON-LD visualized as a graph:
Will This Increase Rankings?
So by now you’re probably wondering if doing this will 🚀 your rankings.
After all, it looks like a fair bit of effort right?
Well, the answer is no.
It is unlikely you will see material increases in keyword rankings and organic traffic with this alone.
So why would you go to this effort?
Well, a fair few websites have been dinged since December 2022.
I’ve audited a few myself.
Most websites that have seen significant losses in traffic had unhelpful content and lots of it.
Some of these websites also had a long laundry list of technical SEO issues.
So when it comes to gaining Google’s trust again, you have to return to the fundamentals and having clean crawling and minimal rendering blockers will accelerate your recovery process. And structured data is the icing on the cake.
And for those of you who publish a lot, communicating important elements on your page with schema can reduce the resources required for Google to figure that out from purely the rendered HTML.
When it comes to SEO, any optimization is worth a test.
About the author
Daniel K Cheung is an SEO consultant and organic growth educator based in Sydney, Australia. Relatively new to the industry compared to most, he earned his chops agency-side, before going enterprise in-house.