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 Dr Wordpress! on October 31, 2009 · 13 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.

Similar Posts:

Share and Enjoy:
  • Facebook
  • Twitter
  • StumbleUpon
  • Digg
  • Google Bookmarks
  • email
  • del.icio.us

{ 13 comments… read them below or add one }

1 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

Reply

2 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

Reply

3 Dr Wordpress!
Twitter: websiteweekend
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

Reply

4 Blake @ Props Blog Rewiews
Twitter: propsblog
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

Reply

5 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

Reply

6 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

Reply

7 Dr Wordpress!
Twitter: websiteweekend
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

Reply

8 Sean
Twitter: baddeacon
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

Reply

9 Sean
Twitter: baddeacon
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

Reply

10 Sean
Twitter: baddeacon
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

Reply

11 Dr Wordpress!
Twitter: websiteweekend
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

Reply

12 Sean
Twitter: baddeacon
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

Reply

13 Dr Wordpress!
Twitter: websiteweekend
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

Reply

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

CommentLuv Enabled

Previous post:

Next post: