How to Add Markup on Site Navigation?

seo friendly blog navigation

We know that Markup is language which makes web language easy to understand by search robot. So tailoring all parts of our sites with Markup will help to make our site search engine friendly. I have already share couple of tutorial for applying Markup on your Blog. And today I will show you how to add Markup on a site’s navigation system.

This is really confusing about directly sharing site navigation with Markup, because you may be using different template with different coding. So you have to understand the basic rules of applying Markup on navigation. Once you understand then you can add Markup on any navigation system.

lease look at the below example of a navigation. This is a generic example of navigation. But in your Blog the script might be different.

<nav id='topnav'>
<ul class='bs-menu' id='topmenunav'>
<li><a href='Category/Label URL'  title='Navigation Alt Title'><span>WordPress</span></a></li>
<li><a href='Category/Label URL'  title='Navigation Alt Title'><span>Blogger</span></a></li>

Now look at the below script and find what differences you can see? I have added markup in this navigation just by adding few attributes. This is very easy to add.  

<nav id='topnav' itemscope='itemscope' itemtype='' role='navigation'>
<ul class='bs-menu' id='topmenunav'>
<li><a href='Category/Label URL' itemprop='url'  title='Navigation Alt Title'><span itemprop='name'>WordPress</span></a></li>
<li><a href='Category/Label URL' itemprop='url'  title='Navigation Alt Title'><span itemprop='name'> Blogger </span></a></li>

Adding Site Navigation Element on your Blog Menu

For making compatible navigation with markup first we have to add Site Navigation Element. In the above navigation script default code is <nav id='topnav'> and I have converted with below markup. But navigation script is same.
<nav id='topnav' itemscope='itemscope' itemtype='' role='navigation'>

Adding URL Property on existing navigation URL.

After adding site navigation element we have to add URL property which is help to apply markup on each URL of Label or Category. Now again look at the below part. Here is the URL part. For smooth navigation we add Label or categories or any page’s URL in navigation system. And for adding markup attribute you have to denote it by itemprop attribute.
  • Without Markup <a href='Category/Label URL' title='Navigation Alt Title'>
  • With Markup <a href='Category/Label URL' itemprop='url'  title='Navigation Alt Title'>
For adding small description about your Blog Label/Category I have added title='Navigation Alt Title' but this is not mandatory to add. You can either use it or not for but this is good for search engine.

Adding Name Property on existing navigation URL.

Name property generally used for item’s name. Now it’s time to make changes on Navigation item’s title. Suppose you are wanted to display Blogger label or category on your site. So the script might be like below which is without any markup
But search engine won’t understand what Blogger is? So I have added a name property of markup as a result now it will give information to search robot that this is your Blog Label or Category name (The name of item).  
<span itemprop='name'> Blogger </span>
You have to change all of your Navigation’s items one by one. If you have 2 navigation menu like my site then also add the same markup on second navigation menu.

I hope you have understood the tutorial and able to add markup on your site’s navigation. If you face any trouble then feel free to write me.


  1. Unknown
    vai, amar site tite alexa rank astece na keno? alexa te site add koreci tao kaj hosce na. lekha thake "No data available". ekta solution din pls.
    • BloggerSpice
      New site ekto somoy ney. Minimum 2-4 weeks lage rank show korte. R Alexa temon kono factor na. Search engine a kono effect nai. Ata Amazon er product. currently Google kono Rank kore na, tai Alexa ekto top a, but Actually site er kono value ba traffic increase kore na.
  2. "Warning: The navigation role is unnecessary for element nav" how to fix this?
    • BloggerSpice
      Hi Cara Manual :t
      I think in your Blogger theme Navigation role previously defined. So you don't have to use this code twice.
  3. Thank you for sharing this technical post. It helped me to create a schema navigation.
    • BloggerSpice
      You are most Welcome :)
  1. To insert a code use <i rel="pre">code_here</i>
  2. To insert a quote use <b rel="quote">your_qoute</b>
  3. To insert a picture use <i rel="image">url_image_here</i>
Go Up