Heading Checker
See the heading structure of any page as an outline. Find a missing or repeated H1, skipped levels, empty, hidden and duplicate headings, and sections with almost no text, then fix them with clear instructions.
- Full H1 to H6 outline
- Finds skipped and empty headings
- Export as Markdown or CSV
Checking the rest of the head? Use the Meta Tag Checker, or run a full audit with the On-Page SEO Checker.
The heading problems that hurt SEO and accessibility
A clean outline helps search engines understand the page and helps screen-reader users move through it.
The H1
Whether there is exactly one, whether it is empty, hidden, too long or in the footer, and whether it fits the title tag.
Level order
Whether the first heading is the H1 and whether levels step down one at a time, with no jumps from H2 to H4.
Empty and hidden
Empty headings, headings hidden with CSS, and headings that contain only an image.
Duplicates
The same heading text used more than once, which makes sections hard to tell apart.
Navigation noise
Headings used for menu and footer labels, which clutter the outline.
Content depth
Long pages without subheadings, and headings with almost no text under them.
Heading best practices at a glance
These guidelines work for search engines and for people using assistive technology.
| Rule | Good | Why it matters |
|---|---|---|
| H1 count | One per page | A single main topic is clear to crawlers and screen readers. |
| H1 length | 15 to 70 characters | Long H1s are cut on mobile and dilute the topic. |
| Level order | H1, then H2, then H3 | Skipped levels break the outline that assistive tools build. |
| Heading text | Short, specific phrase | Headings are scanned. A paragraph in a heading is not. |
| Duplicates | Each heading unique | Repeated headings blur the sections. |
| Use | Structure, not styling | Use CSS for size. Use headings for meaning. |
How to check a page's headings
Three steps from a URL to a clean outline.
Enter a URL or paste HTML
Fetch a live page or paste the source of a draft.
Read the outline
Look at the tree. Does it read like a table of contents for the page?
Fix the flagged items
Work through the list, then run the check again to confirm the structure.
How to write headings that work
A few habits keep headings useful as a site grows.
Lead with the topic
Put the main keyword in the H1 in a natural way, and write H2s around the questions people ask.
Think in outlines
Plan the headings before writing. If the outline reads well, the page usually does too.
Style with CSS
If a heading needs to look smaller or larger, change the CSS, not the heading level.
Help screen-reader users
Many people jump between headings to scan a page. Clear, ordered headings make that fast.
Use questions for AI answers
Headings phrased as questions, followed by a direct answer, are easy for search engines and AI tools to quote.
Re-check templates
A theme change can break headings on every page at once. Check one page per template.
What a heading checker does and why page structure matters
Headings are the h1 to h6 tags that mark the title of a page and the titles of its sections. Together they form an outline: one h1 for the main topic, h2 tags for the main sections, and h3 tags for the parts inside them. People skim a page by that outline, screen readers list it, and search engines read it for clues about what each section covers.
A heading checker reads that outline back to you. It lists every heading in order, draws the tree, and flags what breaks it: a missing or repeated h1, a jump from h2 to h4, an empty heading, or a menu label coded as a heading. Most of these problems come from themes and page builders that choose a tag for how it looks instead of what it means, so a page can look fine and still have a broken outline.
Headings are not a ranking trick. Google can use the h1 as one source when it writes the title link for a result, and WCAG asks that headings describe the topic or purpose of the content below them, which accessibility audits check. The real payoff is a page that is easier to read, scan and quote. Fixing headings costs little, which makes it one of the first things worth checking on any page.
When to run a heading check
Run it whenever a page's structure could have changed, and at least once per page template.
Before you publish
Paste the draft's HTML to see the outline before it goes live. A missing h1 or a long section with no subheading is easy to fix at this stage.
After a theme or builder change
A new theme can swap heading tags on every page at once. Check one page per template, such as the home page, a post, a product and a category.
During an SEO audit
Find templates that put the logo, menu or widget titles in headings, and pages with several h1 tags or none. One template fix often repairs hundreds of pages.
In an accessibility review
Read the outline the way a screen reader user would meet it. If it makes no sense without the visual design, the structure needs work.
When rewriting a page
Check that every section has a heading that states its topic. Clear sections are easier for readers to scan and for AI answers to quote.
To study a competing page
Enter a competitor's URL to see how it organises the same topic, which questions it answers under its own headings, and where your page has gaps.
Heading mistakes and how to fix them
Almost every heading problem comes from picking a tag for its size instead of its meaning.
Using headings for styling
What goes wrong: A theme or builder uses an h2 or h4 because the text size looks right, so the outline jumps around and no longer reflects the content.
The fix: Choose the tag by meaning, then set the size with CSS or the builder's typography settings. A smaller h2 is better than a mis-levelled h4.
No h1, or several
What goes wrong: The logo, a slider caption or a widget title is coded as the h1, or the real page title is a plain div. HTML allows more than one h1, but a single clear one is simpler for everyone.
The fix: Make the page title the one h1 and recode the rest. In WordPress the post title field normally outputs the h1, so check the theme template if it does not.
Skipped levels
What goes wrong: Going from h2 straight to h4 leaves a hole in the outline. Screen reader users who move level by level can think a section is missing.
The fix: Add the missing level, or change the h4 to an h3. If you want the smaller look, adjust the size in CSS.
Menu and footer labels as headings
What goes wrong: Navigation, footer column and sidebar titles coded as headings fill the outline with entries that have nothing to do with the page's topic.
The fix: Use plain text styled with CSS, and label navigation regions with aria-label instead. The tool marks these headings so you can find them.
Empty or image-only headings
What goes wrong: An empty heading adds a blank entry to the outline. A heading that holds only an image has no text unless the image has alt text.
The fix: Delete empty heading tags. If a heading is an image, give the image descriptive alt text so the heading has a readable name.
Vague or repeated headings
What goes wrong: Headings such as "Overview", "Details" or "Read more", repeated through a page, do not tell a reader or a crawler what each section is about.
The fix: Write a short, specific phrase for every heading, such as "How to check redirect chains", and make each one different.
Heading terms explained
- Heading (
h1toh6) - An HTML element that marks a title and introduces the section below it.
h1is the highest level andh6the lowest. - H1
- The top-level heading, normally the visible main title of the page. It should describe the same topic as the title tag.
- Page outline
- The nested list formed by all the headings in order. Assistive technology builds it, and this checker shows it as a tree.
- Skipped heading level
- A step down of more than one level at a time, such as an
h2followed by anh4, which leaves a gap in the outline. - Title tag and H1
- The title tag appears in browser tabs and search results. The
h1is the headline on the page itself. They can differ in wording but should cover the same topic. role="heading"- An ARIA attribute that makes an element act as a heading for assistive technology, with
aria-levelsetting its level. The checker lists these alongside real heading tags. - Landmark
- A named page region such as the header, navigation, main content or footer. Screen readers can jump between landmarks as well as between headings.
- Thin section
- A heading with very little text under it. The checker flags these because a heading with nothing beneath it often points to a stray or unfinished section.
Related tools, guides and services
Headings are one layer of a page. These cover the others.
Meta Tag Checker
Check the title tag and meta description that sit alongside your h1.
On-Page SEO Checker
Get a full on-page score that includes headings, content and links.
ToolReadability Score Checker
See how easy the text under your headings is to read.
GuideSEO audit errors that matter
See where heading problems rank among the issues a crawler reports.
ServiceOn-page SEO service
Get headings, titles and content structure reviewed and fixed for your site.
CourseSEO course
Learn on-page SEO step by step, from basics to advanced work.
Built by
Madhav Kushwaha
SEO, AEO, GEO & Digital Marketing Consultant in Kathmandu, Nepal, and trainer at ODcrU Academy and TechAxis Institute. Headings are the cheapest on-page fix and the one most often wrong, usually because a theme uses heading tags for styling. I built this checker to show the page the way a screen reader or crawler sees its outline, so the structure problems are obvious.
Heading Checker: Frequently Asked Questions
More free SEO tools
Headings, titles and links give a page its structure. These tools check each layer.