Content
Heading Structure Analyzer
See the outline your page actually has
Enter a URL and get every heading in document order with its level, the nesting tree they form, the places where a level is skipped or an H1 is missing or repeated, and the word count under each section.
Get early accessWhat it returns
- Every H1 through H6 in document order, with its level, its text, and its position in the page.
- The outline those headings imply, indented, so a section that reads as a subsection and is marked up as a sibling is visible at a glance.
- Each place a level is skipped, each missing H1, and each page with more than one H1, listed with the heading text so you can find it in the editor.
- Words under each heading, plus headings with no body text beneath them, which is how decorative headings and styled-up paragraphs get found.
When this matters
You take over a 4,000 word pillar page and cannot work out what it covers, because the subheads were styled by whoever typed them. Three different sections are H4s under nothing, the page title is a styled div and the only H1 is in the site header. Nothing is broken, but the page has no outline, so a screen reader user cannot skim it, a jump-link table of contents cannot be generated from it, and neither can you.
How to answer this today
Site audit handles the version of this that spans a site: it crawls your pages and reports the ones with no H1, with several H1s, or with headings that break their own nesting, so you can see whether the problem is one page or one template. Reading the full outline of a single URL, including the word count under each section, is the close-up view that audit list points you toward.
Site auditWhy this is harder than it looks
A skipped level is a hierarchy problem
Jumping from H2 to H4 breaks the document outline that assistive technology and table-of-contents generators rely on. It is not a ranking penalty, and we are not going to invent one. Fix it because the page becomes navigable, not because a search engine is keeping score.
Headings used as styling
A heading tag chosen for its font size, and a paragraph styled to look like a heading, both produce an outline that disagrees with the page a reader sees. Only one of those is visible in the markup, so the report has to show the text and let a human judge the intent.
Template headings versus content headings
Site headers, navigation blocks, sidebars and footers contribute headings that have nothing to do with the article. Counting them makes almost every page look like it has multiple H1s, so the content region has to be identified first.
HTML5 sectioning did not change the rules
The old promise that nesting article and section elements would recalculate heading levels was never implemented by browsers or assistive technology, and that part of the outline algorithm was dropped from the spec. Levels still mean exactly what the numbers say.