Support » Themes and Templates » Why is h1 not used in most themes?

  • I read a blog post about things that influence Google indexing, and one of them was the use of h1 tags for headlines. But it seems to me that most (?? all??) WP themes use h2 for that instead of h1. Why is that? h1 isn’t that important?

Viewing 13 replies - 1 through 13 (of 13 total)
  • Well basically the heading tags should go from 1 at the top of your page and then get lower as you read down the page. This usually means that the blogs title in the header is h1 then the post/page titles are h2 and the sidebar titles are h3. That is best practice SEO wise.



    Forum Moderator

    That is best practice SEO wise.

    Sez who? 😉

    It’s perfectly legitimate to have 2 H1 tags on a page. It really depends upon how you view the primary heading tag in the overall architecture of the site.


    That is basic SEO knowledge as far as I an others are concerned. H tags are important in terms of SEO with H1 being the main keyword in the page and then h2 being more important than H3, h3 being more important than h4 and so on.

    My $0.02 CSS Basics – h1 should be applied to
    – Title of Post in single.php e.g.<h1>My Sweet WordPress</h1> with h2 and h3 headings in content where applicable
    – Title of archive.php or category.php e.g. <h1>Archive for Entertainment</h1> with list of post titles in h2
    – Title of main headline in index.php or home.php e.g. Breaking News: <h1>5,000,000 New Jobs In Kalamazoo</h1>
    Note: h3/h4 better used in sidebars



    Forum Moderator

    There was a major discussion on this in GAWDS (which includes a number of very senior SEO types) about 2 years ago and the consensus of opinion was that using 2 H1 tags on a page was not heresy, was still semantically correct and would not adversely impact PR. In fact, it could even improve PR if used in the way that mercime suggests.

    @mercime: If using H1 for the blog title and H2 for post titles, I prefer to use H2 on nav menus. Otherwise the logic structure would imply that the nav items are sub-sections of the page when, in fact, they relate to the entire site

    @esmi – no heresy in using 2 h1 tags – my personal preference is to use only one h1 for each webpage. I use h2 to highlight different sub-headings of the main content which better than using the strong tag. On the other hand, regular bloggers might not know about semantic or structural markups, so what they don’t know might not hurt them .. in the end, content is queen.

    You can always modify an existing theme to use it, or create yours. But as they said, SEO wise it’s not good to have more than one <h1> per page. It’s like, what’s the title of this document? If the <title> tag has the page title *and* the page name, then the <h1> tag will only have the title (maybe with a subtitle). That way, indexing will be more meaningful.

    Every other header for the page (like an index in a blog page has various headers, for *each post*) will be a <h2>. Maybe this is what you’re saying… but it is perfectly logical: the index/homepage with a list of posts should not use <h1> for everypost, because the Home page should be titled whatever your blog is titled, so the index.php template (or whatever other template you use for home page) should use <h1> in blog title or the relevant place. In single.php on the other hand, the <h1> will be the title of that post…

    Thanks and I appreciate al of these comments. My thoughts would have been alinged completely with mercime. But I believe my chosen theme, iNove, doesn’t do that unless I am misunderstanding it.

    As per eyko- yes, this is how my chosen theme is behaving. From an SEO perspective doesn’t that mean that blog entries are less likely indexed as they are h2? Maybe not.

    If you still want to use the iNove theme, you can still make it
    In style.css you can copy all declarations of
    .post h2 , .post h2 a.title , .post h2 a.title:hover , .post h2 .act a
    and paste to new declarations in style.css
    .post h1 , .post h1 a.title , .post h1 a.title:hover , .post h1 .act a
    Then replace all instances of h2 in post area title with h1 like so:
    <h2><?php the_title(); ?></h2>
    <h1><?php the_title(); ?></h1>

    While it’s true that Google may not be as strict re structural or semantic markups, having h1 for title of post is a very good thing and I swear by it 🙂 Good luck.

    Mercime- If I make this change, is it something that will be overwritten with a theme update of a wordpress update?

    If there is a theme update and you upload it, definitely yes because your old theme’s style.css will be overwritten by the new one. You will just need to keep notes of what changes you made to your style.css for future reference. Who knows, the theme author might include adding h1 tag in his updated version 🙂 WP version update will not overwrite your theme file.

    Good thread. I try to write my pages with users of screen readers in mind (which is largely equivalent to search engine bots). Here’s my question:

    I like having H1 be the blog name on my home page, and the posts on it as H2. (Fine, done, easy.)

    On post pages, I want the post title to be the H1 (easy, done), but now I’m unclear how to handle the blog name on these pages. I’m stuck on trying to picture it in a magazine or newspaper: If I’m flipping through the paper, the title of the article is the headline of the page, and the title of the publication appears much smaller. But in blogs, the title of the blog appears at the top (no argument with that). So, I’m still emphasizing the post title with H1, but the title of the blog doesn’t seem like any header level. Does anyone have any success or suggestions in handling this?

    My inclination is to create a div with the title “Blog title.”



    I’ve recently noticed that the headings output by WordPress are not consistent (I presume this is all controlled by the theme, I’m using the default). Different blogs will have different requirements which heading levels they use, whether to have a flat structure, or a very nested structure. But from the point of view of human readers or search engines it ought to be consistent and logically structured.

    I’m using <h3> for subsection headings within my posts because when I view the front page of my blog, or a particular post, WP outputs <h1> for the blog title and <h2> for the post title. So far so good. But if for example you click on a category link, you get <h2> used for the ‘Archive for the X Category’ heading and the post title is now <h3> which means that the <h3> headings in the post are now at the wrong level.

    Presumably I could fix this by messing with the theme, but it would be nice if the default theme did something more consistent out of the box.

    Posted an entry on my blog about this and other recent experience with WordPress.

Viewing 13 replies - 1 through 13 (of 13 total)
  • The topic ‘Why is h1 not used in most themes?’ is closed to new replies.