Some are not aware that there's a h1 tag. Some use is as they please. Others try to think what makes the most sense and act accordingly.
Let's see what is the best way to use the h1 heading tag on your website to appease both the humans and the search engines.
How is it supposed to be used?
Judging by the HTML 4.01 Strict specification:
A heading element briefly describes the topic of the section* it introduces.
*- bolding mine.
It means that not only a h1 tag can be used multiple times on a page, but it also determines a topical section of the page. Depending on the page type and structure, there may be several sections, so it can be pretty handy.
How to use the h1 heading tag?
So, as mentioned above, the right way to use h1 tag is to either describe a page or a section of a page, if the page has two distinct topics.
Of course, it may need some styling up with CSS, as default browser h1 styling leaves much to be desired, mostly. Especially, if you are using a custom theme design.
There are several cases, when a page can have numerous topics, and, thus, h1 tags:
- a homepage, introducing numerous site sections
- an index page, introducing categories (or a category page, introducing its subcategories)
- a page about something in general, then talking about different subtypes (for example a page about felines, first talking about them in general, then about wild cats, then about domestic cats)
For the title of each of the page sections, you'd rather be using the h1 heading tag.
Here's a desrcription of why the headings should be properly used from Web Content Accessibility Guidelines.
WCAG also has a test for the headings:
1. For each h1 element, find the header element that follows it.
1. The header following an h1 is h1 or h2.
1. Rearrange the header order so h1 or h2 elements follow h1 elements.
Any accessibility check may be performed after this test.
How not to use the h1 tag
Quite often, you will find that most WordPress and Drupal themes have h1 used for the site name (company name, etc). This is not the right way to use it, as every page has site name and, thus, the title does not describe anything page-specific.
Since we are talking about how not to use the h1 tag, you shouldn't use it only for the search engines - use it for the humans only by pointing out a heading, which describes a page or a page section.
Of course, the main reason to use the h1 right is the process of doing things right. A perfectionist that I am, it seems quite important.
Also, it gives people and spiders that can't see a chance to use the software to understand what the page is about. While using h1 for the page-specific titles may bring you a tiny little bit of traffic, you can create much better titles by writing them for the people.