Incorrect post title markup is such a common problem with many Wordpress themes. And the use of <h1> to markup website or blog names seems to be a tradition that’s hard to give up.
If you think about the semantics of the HTML header tags <h1> and <h2>, <h1> is the main title of the page and <h2> is the subtitle.
So if on every page you have your blog name in <h1>’s, then semantically every page on your website is about your blog name, and your blog post just becomes secondary, rather than it being the true topic of that page.
There’s a problem. The post title is one of the most important pieces of information you can serve to the search engines about what an individual page is about. It should be marked up accordingly with <h1>, the most prominent header tag.
If you’re serious about SEO for your blog, you should be using <h1>’s for the post title on any page showing a single post. On static pages, your “About” or “Contact” should be in <h1>. While on a homepage showing multiple posts, it’s ok to use <h2> for each of the individual post titles.
So that might leave you thinking, “how should I mark up the title of my blog then?”. If you take a look at Darren Rowse’s problogger.net and Chris Pearson’s pearsonified.com, they’ve both used a separate <div> with its own id just for the logo itself, and in it put a link to the homepage. In the CSS, the background of the <div> is set to the logo of the blog.
The difference between them is that problogger has some text inside the link and pearsonified doesn’t. The text is then hidden using a text-indent: -5000px.
If you’ve noticed, my blog’s still incorrectly using <h1>’s for the name of the blog! I’ll be changing that soon.