Key takeaways
- A page should have one clear H1 that states its topic, with H2s for main sections and H3+ nested logically beneath them
- Headings are an accessibility requirement, not just an SEO nicety — screen-reader users navigate a page by jumping between them
- Never skip levels or pick a heading tag for its font size; hierarchy should mirror the outline of the content, not the design
- Clear, descriptive headings help Google generate featured snippets and help AI answer engines extract the right passage to quote
Heading tags look like a formatting choice, but they are structural markup that search engines and assistive technology both rely on to understand a page. Get the hierarchy right and it becomes easier for Google to summarise your content, for AI answer engines to quote the right passage, and for screen-reader users to navigate at all. Get it wrong — multiple H1s, skipped levels, headings picked for size instead of structure — and you work against all three at once. This guide covers how to use H1 tags correctly, how to build a logical H2/H3 hierarchy, and why headings matter as much for accessibility as for SEO.
Title tag vs H1 — a different job entirely
Before going further, it is worth separating two things that get mixed up constantly: the <title> tag and the H1. They live in different parts of the page and do different jobs. The title tag lives in the <head> and shows in the browser tab and the Google search result. The H1 lives in the <body> and is the visible on-page headline a visitor reads once they land. They can be worded identically, but do not have to be — the title tag is written for the SERP, the H1 for the page. We cover writing the <title> and meta description properly in Title Tags and Meta Descriptions That Earn Clicks; this article is only about the heading structure inside the page itself.
The H1: one clear statement of what the page is about
Every page should have exactly one H1, and it should state the page's topic plainly. Think of it as the headline a visitor reads first — not a place for cleverness or a second attempt at a meta description. "Heading Tags for SEO: A Complete Guide" is a good H1; "Welcome" or a repeated site tagline is not.
Technically, the HTML5 spec allows multiple <h1> elements nested inside <article> or <section> elements. In practice, this is a trap: most CMSs and page builders do not implement sectioning correctly, so multiple H1s usually just mean several competing "main headings" with no clear signal of which one represents the page. Stick to one H1 per page — it is the safer, more widely recommended approach, and it costs you nothing.
Note
An H1 is not the same as a large piece of bold text styled to look like a headline. If it reads like the page's main heading, it should be an <h1> in the markup — not a <span> or <div> with a big font-size class. Search engines and screen readers only see the tag, not the visual styling.
Building a logical hierarchy: H2, H3, and beyond
Once the H1 states the topic, everything else is a hierarchy of sub-topics beneath it. The rule is simple to state and easy to get wrong: headings should nest in order, mirroring the outline of the content — never chosen for font size.
- H2 — main sections of the page; your top-level outline points.
- H3 — sub-points nested under a specific H2, belonging to it, not to the page as a whole.
- H4–H6 — further nesting for genuinely deep content. Most marketing and blog pages never need past H3 or H4; reaching for H5 or H6 often signals the content should be restructured, not nested further.
The mistake to avoid is skipping levels — jumping from an H2 straight to an H4 because that is the font size you wanted, with no H3 in between. A sighted user skimming visually might not notice, but a screen-reader user who jumps from heading to heading hears a structure that makes no sense: a sub-section with no parent section. The fix is not to avoid deep nesting — it is to make sure every level you use has a parent at the level above it.
A simple way to sanity-check a page: write out just its headings, in order, with indentation for each level. Does it read as a coherent outline? If a heading feels out of place once you strip away the surrounding paragraph text, it probably needs to move or change level.
Tip
If you are ever unsure what level a heading should be, ask "what section does this belong to?" rather than "how big should this text be?" The answer to the first question gives you the correct tag; the answer to the second gives you a CSS class.
Headings are an accessibility requirement, not just an SEO nicety
This is the point most SEO advice skips: headings are not a ranking trick first and an accessibility feature second — for many users, they are the primary way of reading a page at all. Screen-reader software lets users pull up a list of every heading and jump directly to the section they want, the way a sighted user might scan and skim. If that list is a mess — three H1s, headings that skip from H2 to H5, headings that say nothing about what follows — the page becomes genuinely harder, sometimes impossible, to navigate.
This is not an informal best practice; it is built into the standard. MDN's documentation on heading elements is explicit that headings should convey document structure, not change text size, and the W3C Web Accessibility Initiative's guidance on headings treats correct heading structure as core to navigable, WCAG-conformant pages. Correctly nested headings are one of the simplest, highest-leverage accessibility wins on any page — free to implement, and they help sighted skimmers, search engines, and assistive technology all at once.
A broken heading hierarchy is very often flagged by both an SEO crawl and an accessibility audit, because it is the same underlying problem. Our accessibility basics checker flags heading-structure issues specifically, including skipped levels and missing H1s, alongside the other accessibility-overlap checks in the same crawl.
Keywords in headings — and how they feed snippets and AI answers
Headings are a good, natural place for the terms a reader would use to describe that section — not because stuffing them in tricks a ranking algorithm, but because a heading that clearly names its topic is genuinely more useful, and more likely to match what someone searched for or asked. "How much does Crawl Cove cost?" as an H2 above a pricing explanation is both good writing and good SEO. Repeating a keyword in every heading on the page, by contrast, reads as spam and gains you little.
There is a second, increasingly important reason to get this right: extraction. When Google builds a featured snippet, or an AI answer engine summarises your page, both look for a clearly bounded block of content directly under a heading that states what it answers. A well-formed H2: How much does Crawl Cove cost? followed immediately by a direct, concise answer is exactly the shape these systems are built to lift and quote. A real answer buried under a vague heading like "Details" is far harder to extract cleanly, even if the information is technically present.
Tip
Where it fits naturally, phrase an H2 or H3 as the actual question a reader might ask ("What is a canonical tag?", "How long should a title tag be?"). It reads well for humans and gives snippet and AI-answer systems an unambiguous heading-to-answer pairing to extract.
Common mistakes to avoid
| Mistake | Why it hurts |
|---|---|
| Multiple H1s | No clear signal of the page's main topic; confuses heading-list navigation for screen-reader users |
| Headings chosen for font size | Breaks the semantic outline even when the page still looks fine visually |
| Skipped levels (H2 → H4) | Screen readers announce a sub-section with no parent section; the hierarchy stops making sense |
| Empty or vague headings | "Details", "More info", or an H2 with no text tell a reader and a crawler nothing |
| Non-heading text wrapped in heading tags | Captions, labels, or button text marked up as <h3> pollute the outline with noise that is not actually a section |
| Keyword-stuffed headings | Reads as spam to visitors and rarely helps rankings meaningfully |
Heads up
The most common version of this is a template problem, not a one-off typo: a component (a card, a sidebar widget, a CTA block) that always renders its label as an <h3> regardless of where it sits on the page. Multiply that across a template used on thousands of pages and it becomes a site-wide hierarchy problem that no single edit fixes — it has to be corrected at the template level.
Auditing heading structure across a whole site
Reading one page's headings by eye is easy. Finding every page on a 5,000-URL site with a missing H1, a duplicate H1, or a skipped level is not — and it is exactly the kind of site-wide, structural issue that individual page reviews miss. Crawl Cove crawls the full site and reports the heading structure of every page — missing H1s, multiple H1s, and skipped levels — alongside the rest of its on-page checks, so you can fix the pattern at the source rather than page by page. The on-page SEO checker covers titles, headings, and content structure together, so a single crawl tells you whether a page's headings, title tag, and body content pull in the same direction — which ties back to getting search intent right in the first place, covered in Search Intent and Content.
Wrap-up
Treat headings as structural markup, not a font-size shortcut. Give every page one clear H1 that states its topic, build H2s and H3s that mirror the outline of the content without skipping levels, and write headings that describe what follows rather than padding them with keywords. Do that and you get three wins from one piece of work: a page that is easier for Google to summarise and for AI answer engines to quote correctly, and a page a screen-reader user can actually navigate — which, per WCAG, was never optional to begin with. Audit the whole site rather than a handful of pages, since heading problems are usually a template issue that repeats everywhere the template is used, and fix them at that level once you find them.
Frequently asked questions
- Can a page have more than one H1?
- Technically HTML5 allows it, but for SEO and accessibility clarity a single H1 that states the page's main topic is still the safest, most widely recommended approach.
- Do I need to use every heading level from H1 to H6?
- No — most pages only need an H1 through H3 or H4; use only as many levels as the content's structure genuinely requires, and never skip a level to reach a deeper one.
- Does keyword placement in headings still matter for SEO?
- Yes, in moderation — headings that clearly describe the content help both search engines and readers, but stuffing keywords into every heading reads as spam and can hurt more than it helps.