Usually, by default when you add a widget item like Link Units, Archives, Adsense, Pictures, etc in Blogger / Blogspot, it will be displayed in every page of the blog including the home page, permalink pages. This post explains how to show the Blogger / Blogspot widgets on your blogspot blog Homepage Only or Post Page Only.
Showing in only Homepage
As usual, if you want to add a new widget to your blog, just Sign into Blogger dashboard -> Layout -> Add a Gadget and select the type of gadget you need and Save the Changes. Go to the Edit HTML and click on the "Expand Widget Templates". Normally, the widgets in the template view starts with this one:
<b:widget id=
For example, the label widget looks something like this:
<b:widget id='Label1' locked='false' title='Title' type='Label'>
and html widget looks like:
<b:widget id='HTML1' locked='false' title='Title' type='HTML'>
Just below that widget id label, you can see b: includable tab like this
<b:includable id='main'>
Just we have add a small piece of code below that b: includable tag
<b:if cond='data:blog.url == data:blog.homepageUrl'>
and we have to close that b:if tag. Just add this code before the closing tag of b: includable, like this:
</b:if>
</b:includable>
So, the final code looks similar the below screenshot
Now, your desired widget can only be visible in Homepage.
Show in only Post PagesThis will allow you to show a specific widget in only the Post Pages and not in Homepage.
Just follow the same tutorial above but replace this code.
<b:if cond='data:blog.url == data:blog.homepageUrl'>
with this one:
<b:if cond='data:blog.pageType == "item"'>
Showing widgets on a specific blog post url:If you want to display a specific widget on a particular blog post, just simply follow the above tutorial, but replace this code:
<b:if cond='data:blog.url == data:blog.homepageUrl'>
with this one:
<b:if cond='data:blog.url == "Blog Post URL"'>
Read More