You are here: Home » Building Traffic » Post Titles, Page Titles & Title Elements – Why POSH matters

Post Titles, Page Titles & Title Elements – Why POSH matters

by Dave Doolin on October 31, 2009 · 23 comments

(Reading time: 4 – 6 minutes)

Have you heard that WordPress gives 85% SEO, right out of the box? Do you believe that?

It’s true.

And it’s partly because of plain old semantic HTML, commonly referred to as “POSH.” POSH is a really easy concept to understand, if you know even a little bit about HTML.

The basic idea driving POSH is that the header and other structural elements should be used to support the document semantically, not just visually. Thus, the main idea – headline or title – should be encoded in the most important elements of the web page such as <title> elements or <h1>. Less important ideas, phrases or keywords are expressed in
less important elements, such as <h2>, <h3>, or <h4>.

Here’s where WordPress is brilliant:

WordPress displays <title> elements and <h1> elements on web pages according to context.

Remember, a web page is something the browser displays on your computer screen. A WordPress Post is a special type of web page delivered by WordPress. (I’m going to start capitalizing “Post” and “Page” to indicate context.)

The simple rule WordPress is demonstrating in both cases is one <title> and one <h1> element on each web page. Let’s see this rule in action for two cases using WordPress Posts:

  1. Front web page with a list of Posts
  2. Single post web page

Front page lists posts

I’m taking this information directly from the source code view of the front page:

Single post page

  • <title> WordPress Architecture – The Building Blocks of Web Publishing | Website In A Weekend. Note the suffix append after the vertical bar “|” is handled by (in this case) by All In One SEO. Your theme may have similar capability.
  • <h1> “WordPress Architecture – The Building Blocks of Web Publishing.” This is the same as the <title> element, but it doesn’t have to be! There’s some evidence for better keyword coverage – thus better traffic – using a slightly different title for the web page than for the article.
    • <h2> Subsections within article: Programming language background
    • <h2> Basic Wordpress, or Wordpress straight out of the box
    • <h2> &c.

There you have it: one <title> and one <h1> for each web page, value depending how the web page is displayed.

I can hear you now: “Why does all this matter?”

It matters because WordPress gets POSH right, and that’s about 85% of your SEO effort according to Matt Cutts of Google.

POSH – Required reading

The canonical reference for POSH has to be the microformats.org POSH wiki entry. Everything on microformats.org is worth reading carefully. Semantic web technology is coming. Be ahead of the power curve.

From POSH – Plain Old Semantic HTML: Here’s the meta description (what you know as “SEO Description”):

Teach people how to use plain old semantic HTML to create valid, well-structured, accessible and interoperable websites.

The comments on the article are very good, consider taking a few minutes to read them carefully.

No list of references on semantic HTML would be complete without the Wikipedia entry. This Wikipedia entry is a little weak, but there you have it.

Here’s a whole blog devoted to Plain Old Semantic HTML. There’s a lot of really good information on this blog, most of dated a couple of years back, but still valid.

Going the extra mile…

I could make a 5 minute screencast on this topic. It would take about an hour (I’ll have to script it to get it under 5 minutes). Is it worth it? Who wants it? Here’s what I’ll do: if I get 5 comments with “Make a screencast!” or similar, I’ll fire up my microphone and Behringer mixing board and make a really short screencast showing exactly what this is all about.




Would you like more? Send me a letter...
"Hi Dave,
Website In A Weekend seems pretty cool. I'm serious about this WordPress and web stuff, and I'd like to keep up with it. My name is and my email address is . I'm comfortable with email newsletters. I know you will protect my privacy, and that I can unsubscribe at any time. "

{ 22 comments }

jan geronimo October 31, 2009 at 8:36 am

First vote for screencast! Go for it, Dave. :)
jan geronimo´s last blog ..When Quitting is the Only Sane Option Left My ComLuv Profile

DiTesco October 31, 2009 at 3:08 pm

Second vote for screencast. Go David go, hehe. Maybe the ladies can vote too:)

Great explanation BTW. I have heard Matt Cutts saying that 85% of SEO is taken care by WP automatically. Did not know for sure what he was saying, I thought it was because of the All-In-One SEO plugin. good to know.
DiTesco´s last blog ..Thanksgiving Giveaway – The $1.500 Bonanza My ComLuv Profile

Dr Wordpress! October 31, 2009 at 4:04 pm

@jan – Vote #1

@DiTesco – Vote #2… I heard Matt say that live when I attended his session at WordCamp SF 2009. There’s an article buried in my archives about that.

If you want to see a stunning example of how title and h1 are weighted, do 2 google searches:
First: “Choose WordPress Theme”
Second: “Evaluate WordPress Theme”

I have some SEO work ahead of me.
Dr Wordpress!´s last blog ..WordPress Architecture – The Building Blocks of Web Publishing My ComLuv Profile

Blake @ Props Blog Rewiews October 31, 2009 at 4:49 pm

Ugh. I just finished my article is this is far more relevant to what I was saying than the initial link I used.

I just recently found out how important all this stuff is. Why did you have this post for me 3 months ago?

p.s. Vote 3 here! Do it up!
Blake @ Props Blog Rewiews´s last blog ..5 Twitter Newbie Mistakes To Avoid My ComLuv Profile

Spiritual bisnis internet seo October 31, 2009 at 11:39 pm

WordPress gives 85% SEO, i believe that
when i created one page without article its indexed at page 3 at google :)
Spiritual bisnis internet seo´s last blog ..7 Menu Update Terbaru Google My ComLuv Profile

Extreme John November 1, 2009 at 7:13 am

Dave I really have to say you write some of the most informative and most well written posts I have seen out of just about every site that I visit.

Now if only you could fix my Thesis theme :) haha
Extreme John´s last blog ..Why Does Facebook Hate Me? My ComLuv Profile

Dr Wordpress! November 1, 2009 at 10:17 am

@Blake – Vote #3

@Spirit – This is going to get harder and harder to do as the search engines refine their algorithms.

@EJ – Thanks! I tend to use the defaults on just about every piece of software I own. Too many years of too much programming. Now I just can’t be bothered. It’s not the programming itself, it’s the maintenance work keeping up with it!
Dr Wordpress!´s last blog ..Big Shakeout Coming in MMO Blogosphere – You ready for it? My ComLuv Profile

Sean November 3, 2009 at 1:16 pm

Question, a little in depth:
You are using blog post titles with subheaders on your single post web pages, but if your blog post titles are on your main blog page (and archive lists, etc), it would make sense that the subheaders are .
Since subheaders are hardcoded into the post content, how would this be changed for web pages that display lists of posts with the entire post content, rather than just a teaser?
You seem to be getting around this by only displaying titles and teaser text on your web pages that display lists of posts. I display the entire post on my post list web pages, any suggestions for how to achieve this?
Sean´s last blog ..Why Printmaking? (A Study in Polarity) My ComLuv Profile

Sean November 3, 2009 at 1:19 pm

[reposted comment, I didn't think the header tags would process, since they aren't allowed. I hope this works...]
Question, a little in depth:
You are using blog post titles with subheaders on your single post web pages, but if your blog post titles are on your main blog page (and archive lists, etc), it would make sense that the subheaders are .
Since subheaders are hardcoded into the post content, how would this be changed for web pages that display lists of posts with the entire post content, rather than just a teaser?
You seem to be getting around this by only displaying titles and teaser text on your web pages that display lists of posts. I display the entire post on my post list web pages, any suggestions for how to achieve this?
Sean´s last blog ..Why Printmaking? (A Study in Polarity) My ComLuv Profile

Sean November 3, 2009 at 1:22 pm

[ok, sorry for the mess, code tags don't seem to process in comments]
Question, a little in depth:
You are using H1 blog post titles with H2 subheaders on your single post web pages, but if your blog post titles are H2 on your main blog page (and archive lists, etc), it would make sense that the subheaders are H3.
Since subheaders are hardcoded into the post content, how would this be changed for web pages that display lists of posts with the entire post content, rather than just a teaser?
You seem to be getting around this by only displaying titles and teaser text on your web pages that display lists of posts. I display the entire post on my post list web pages, any suggestions for how to achieve this?
Sean´s last blog ..Why Printmaking? (A Study in Polarity) My ComLuv Profile

Dr Wordpress! November 3, 2009 at 8:20 pm

@Sean – I was wondering who was going to ask this question.

In short, there is no good way to do what you’re thinking given how (I think) WordPress uses markup.

I’d have to take a real good look at formatting.php to say for sure.

It’s a hard problem. Actually, it’s not that hard, but nobody will do the small amount of work it takes to understand logical versus visual markup. WordPress does pretty good though.
Dr Wordpress!´s last blog ..Top 5 Biggest Lies About Blogging for Money My ComLuv Profile

Sean November 4, 2009 at 7:33 am

It is a pretty problem since the headers are written into the the_content template tag. A filter would have to be written of some sort to change the contents of a post. Or a plugin written to do some sort of replacement, and use some other notation to indicate that certain text is a subheader.
The more I think about this, the weirder a problem it is. It seems to require a higher level of semantic meaning in the code. Something would have to be run to think figure out what semantic meaning to give the element based on it’s location.
Just thinking out loud. Is there a meta-semantic markup?
Sean´s last blog ..Why Printmaking? (A Study in Polarity) My ComLuv Profile

Dr Wordpress! November 4, 2009 at 8:07 am

@Sean – You are getting closer to understanding why MS Word set document processing back 15 years, and why people such as myself succumb to rage (I’m not joking) when forced to use it.

It turns out that documents of all sorts have fairly specific structures. These structures can be described with a fair amount of precision (e.g., “lede,” “topic sentence,” &c). The infrastructure supporting these structures such as titles, header and sectional dividers of various sorts can also be fairly precisely described.

And it’s all out the window with visual markup.

With logical markup, what you want to do is easy. Consider (in markdown format):

= title =
* section
** subsection
** subsection

How this displayed in HTML would be easy… if the document were stored as a tree (that’s a data structure). Then, formatting in HTML is just a shift right or a shift left in tag hierarchy. Simple. Trivial.

Being stored as a flat file full of HTML, not so simple. It’s not too hard, just tedious, messy and full of edge cases… if you assume the HTML is well-formed. If it’s not well-formed, get’s ugly.

There are people spend a lot of time pondering these problems. I am not one of them.
Dr Wordpress!´s last blog ..Black Magic SEO! Vampire Weekend sucks SERPs My ComLuv Profile

Putra Eka February 12, 2010 at 8:54 pm

I like using wordpress very much, because with their seo friendly structure
Putra Eka´s last blog ..Selamat Tahun Baru Islam 1 Muharram 1431H dan Selamat 1 Tahun Pengangguran Diriku :) My ComLuv Profile

Heather March 22, 2010 at 1:13 pm

Damn, only 3 votes prior to this. Vote four is mine!

… Now to go promote the article so you have to do it. Muhahaha.
Heather´s last blog ..Webcomic: The Mayans Day 3 My ComLuv Profile

Dave Doolin March 22, 2010 at 1:17 pm

You have a cunning and devious mind. I like it.

Heather March 22, 2010 at 1:19 pm

Extra traffic can’t hurt your approval of the situation either. ;)

Either way, it amuses me.
Heather´s last blog ..Webcomic: The Mayans Day 3 My ComLuv Profile

Todd July 19, 2010 at 9:14 am

Does it matter if the subcontent is defined by “lower” ordinal numbers of elements — for instance if my post is:

I do this because in the theme I’ve chosen I don’t like the and styles of subheaders.

Todd July 19, 2010 at 9:15 am

Ack – the comment engine didn’t use my tag examples (for good reason probably). I mean if I use “h4″ instead of “h2″ for subheads after “h1″.

Dave Doolin July 21, 2010 at 7:15 pm

Todd emailed me, the tags were getting munged:

I was wondering if it mattered that my post are structured like this:
<title>
<h1>
<h4>
<h4>
<h4>

I use the <h4> subheaders because I just don’t visually like the style of the h2 and h3 subheads in my Wordpress theme (they’re grey on white background). Does that question make sense?

My reply:

You really ought to restyle h2 and use it. It will help long term with SEO.

Just copy the style for h4 into the the style for h2.

Technically, I don’t really know if this matter or not. Google and other search engines could go strictly by the nesting in the DOM, so h4 nested directly under h1 would imply an equivalent weight to the h2 that “ought” to be there, or they might take a look at the actual tag on the element, i.e., h4, and weight that as if h2 and h3 were implicitly defined.

I don’t really know how this could be tested, either, without running a lot of independent tests across similar keywords in similar types of articles.

For all I know, Google publishes how they do this, but I suspect it’s either trade secret, or something they tinker with on a (semi-)regular basis, in which case it wouldn’t matter what they said today, could be different tomorrow.

@jeffreycloud July 19, 2010 at 7:46 pm

It took 20 comments to get 5 votes? Really? This is vote #5.

Dave Doolin July 21, 2010 at 7:10 pm

Ok, I’ll put this into my tasking system and get a screencast out sometime in the next couple of weeks.

Comments on this entry are closed.

{ 1 trackback }

Previous post:

Next post: