We want to guide the user from our informative content pages to the transactional pages and give a signal to the search engines which are the most important pages. That way, we can rank above our competition.
What is a hierarchical website structure?
It Is the most common way to structure your website. The approach is that a parent page is supported by subpages to enhance to authority of the parent page. This flows down throughout the whole architecture of the website.
This hierarchical structure ensures an easy to follow user journey as well as an easy understanding of the correlation of content for search engines.
The ‘classic’ website structure (hierarchy) approach with links
The most common (or most times the only) approach to achieve a structure on websites is via internal linking.
And don’t get me wrong here, I am not trying to bash internal linking, the opposite it is one of the most important tools an SEO has at his hands. I am a big fan of internal linking.
But there is one problem with it.
We use a lot of internal links. Navigational links, breadcrumbs, footer links, contextual links, widgets. This all sums up quickly and can muddy the waters in the approach to give a clear signal on which is the most important page we want to link to.
On the other hand we really want to link to other relevant pieces of content, to give the user more information about a certain topic, improve the time on site, increase our authority on a topic.
So we are in a bit of a pickle. How can we make certain the search engine understands what is the parent page to our content page and how can we make it understand the structure we set out?
I am not going into the age old discussion on how many links there should be on a page and where best to place them. This is covered enough and there is another way. You might have guessed it from the title – schema markup.
Schema markup: why you should think beyond the snippet
Most of us will use schema markup for different pages to increase the way the search engine understands our content and to enhance our ranking and the chance for a featured snippet.
For example if we mark up an FAQ page, we tell the search engine with help of the schema code what exactly the questions are and what our answer to the question is.
We verify that this is an FAQ page, the question and the answer. But that’s it.
A more sophisticated approach to the standard schema is to validate the entities of your content with addition ‘sameAs’ and ‘mentions’ ( a topic I covered in the article FAQ schema markup – and the trick you didn’t know ).
This will give a clear indication what your page is about and enhance the chance of getting a featured snippet or being featured in ‘People Also Ask’ on the results page.
But you give no indication what parent page the content sits under.
Use schema markup to indicate a planned hierarchy to your website
Other than with links, where we can only try to give a hint of what the parent page of any other content page belongs to.
With schema we can give a clear indication about this.
To do so we use the ‘isPartOf’ property.
As it states in the documentation of Schema.org (which I really recommend to have a look at), the property ‘isPartOf’: Indicates an item or CreativeWork that this item, or CreativeWork (in some sense), is part of.
This means we can indicate what parent page the content page (in our example a FAQ page) belongs to.
How to use the isPartOf schema to markup parent pages
To introduce the hierarchy we want on a website and therefore give the right amount of weight to pages like categories, products or other pages – what we call parent pages – we have to define the parent page in question in the schema code of the content page.
This might sound a bit confusing, but don’t worry we provide an example code you can download as PDF and, even better, we have a schema markup generator, which does all the work for you.
How to define the parent page with schema
We have to add a bit of extra schema code before the actual content markup. In this little bit of code we define the ID and the URL of the parent page.
For our example it looks like this:
“@type”:”Webpage”,”name”:”Example Parent Page”,”url”:”https://www.example.com”,
What does this bit of code do?
With “@type”:”Webpage”,”name”:”Example Parent Page”,”url”:https://www.example.com” we are declaring that this is a webpage, with a given name and the corresponding URL.
With “@id”:https://www.example.com#webpage” we are giving an identifier to the declared webpage which we then can insert in the content markup (in our example a FAQ page schema).
Connection content schema with parent page markup
To declare that the content belongs to the before defined parent page we have to put the following line of code in the schema of the content markup:
What does this line of code do?
It basically does what it says on the tin. It declares that the content it sits in is part of the before defined parent page.
Et voila: We have a clear indication of hierarchy defined by schema markup.
Here is the full schema markup with the hierarchy to the parent page and entities for our example page. You can download the script as PDF by clicking on the image.
Validate your structured data
I strongly recommend that you always validate your schema. Do this with the code snippet before you put it live and with the URL when it is live.
This is not only to ensure that the code is correct and working, but I find it a good way to double check that all the variables that are used are correct as well.
You will also see that the two snippets of code are validated into one schema code:
Use our free schema generator
Let us do the heavy lifting for you and use our structured data generator to easily create your schema markup in JSON-LD.
This is the first schema generator that lets you included the schema for entities and parent pages. Something no other schema generator does at the moment.
One more tool in your SEO toolbox
While this is not the holy grail that will catapult your websites on top of the SERPs (I know everyone is looking for that, but unfortunately that does not exist).
But using schema to indicate the hierarchy of your content is a very helpful tool to built topic clusters around hub pages. It gives search engines, in addition to internal linking, a clear signal on what the main pages of your website are. Pointing supporting content pages with a hierarchy to the main topic pages will increase the E-A-T for this pages.