SEO Code – On this occasion I will explain how to install an automatic meta description and keywords on blogspot templates. This automatic meta blogspot useful to make your blogspot more seo friendly.
You don’t need great pains to put the meta description and keywords in each post. This meta will change automatically according to the post title.
How to install an Automatic Meta Description and Keywords for Blogspot in each post
1. Log in to blogger
2. Go to design> Edit HTML
3. Find the code like this:
3. Remove it and replace the code with the code below
4. Save Changes
I saw lots of examples on how to add meta title/description based on the post title for Blogger/Blogspot. but I couldn’t find one for using labels/Tags as meta keywords for each post.
After searching I found [Changing the Blogger Title Tag ] which describes how to use the post title as the header. although now that could be done by less code like this
b:if cond='data:blog.pageType != "index"'>
So instead of using “data:blog.pageTitle” you use “data:blog.pageName” for post & archive pages. Otherwise, for pages like index/label pages “data:blog.pageTitle” will do the job.
But as far as I see at the very brief Blogger documentation. This is the only way to use labels as meta keywords..
Enough talking.. Here is the code to do it.. which you should place instead of the Head tag..!
The Code is commented and it also outputs the Title and Meta Description tags(using Post title) for your convenience..
b:if cond='data:blog.pageType == "item"'>
b:section id='meta1' showaddelement='no'>
b:widget id='Blog2' locked='no' type='Blog'>
b:includable id='backlinks' var='post'/>
b:includable id='post' var='post' />
b:includable id='comment-form' var='post'/>
b:includable id='backlinkDeleteIcon' var='backlink'/>
b:includable id='postQuickEdit' var='post'/>
b:includable id='commentDeleteIcon' var='comment'/>
b:includable id='feedLinksBody' var='links'/>
b:includable id='comments' var='post'/>
b:includable id='main' var='top'>
b:loop values='data:posts' var='post'>
<meta name="keywords" content="b:loop values='data:post.labels' var='label'>data:label.name/>b:if cond='data:label.isLast != "true"'>,/b:if>/b:loop>" />
b:include data='blog' name='all-head-content'/>
b:if cond='data:blog.pageType != "index"'>
meta name='description' expr:content='data:blog.pageName' />
meta name='keywords' content='your,blog,keywords!!' />
meta name='description' content='your blog description!!' />
Some Issues you should be aware of ):
1- XHTML validation will give your warnings about these issues :
- Meta Keywords tag Appears before the Head tag.
Why we have to put that code before the head tag? you have to ask ):
well.. You can’t place a widget outside of a section, you can’t place a section inside head tag. and Post lables must be called inside of ‘Blog’ widget.
- Meta Keywords will be surrounded with Div tags which should not appear there.
why? Cause Widget and sections Tags are auto. converted to div tags by Blogger..!
2- Some Meta tags analyzers will warn you that they don’t see meta keywords (Cause it was outside of the head).. But Most search engines would be able to find your meta keywords..
As you can see that’s why I’m separating the code into 2 blocks:
first one outside the Head tag to output Post Meta keywrds.
And in case an engine didn’t like those meta keywords, you still have the title and description where they should be.
3- After Adding that code , you will get errors when trying to do anything in the ‘Page elements’ and clicking save. the Only solution is cut Block1 from the template & save, do what you need in ‘page elements’ & save. paste Block1 back in the template.
It is the only way, until Blogspot pay attention to the issue!
To edit your Blogspot template
- Go to Layout > Edit HTML > Check ‘Expand Widget Templates’, and don’t forget to save a backup before you do anything..
- Don’t forget to remove those comments.
- Replace those Static Blog meta tags content with real ones.
I’ve adjusted the code to show a title in archive page that is different than index page title. as requested by Silver Bullet .
I corrected the code to show different title in label pages. It’s considered as an ‘index’ page but it has a different title. So, we should give it a different title! thanks to GunGz .