Heading Structure Checker
Free, no signup. See the heading outline readers and crawlers receive, spot skipped levels and empty headings, then preview a practical table of contents.
A calibrated check: multiple H1s and title/H1 differences are not automatic SEO errors. This separates those normal patterns from genuine outline problems.
The server fetches only the public URL; analysis happens in your browser. JavaScript-injected headings will not appear in this raw-HTML check.
Checks run from our server; we fetch the URL you enter and don't keep the results. Pasted HTML stays in your browser; URL mode sends only the URL to retrieve its HTML. Anonymous run-level outcome counters may be used for aggregate research; URLs, domains, IPs, and identifiers are never included, and no statistic is released below 100 runs.
Sample report
Illustrative example — generated from the HTML shown here
<h1>Technical SEO audit</h1>
<h3>What should I fix first?</h3>
<p>Fix pages that cannot be crawled or indexed before polishing metadata.</p>
<h2></h2> - Warning: H1 jumps to H3; the H2 level is skipped.
- Error: one empty heading creates an unlabeled section.
- Answer-ready candidate: “What should I fix first?” has a direct following paragraph.
- TOC preview: only labeled headings appear; headings without an ID have no durable fragment link.
How to use it
- Choose Paste HTML for a local or rendered fragment, or Fetch a URL for a public page's server response.
- Run the check and read the outline before the issue list. Confirm that the hierarchy matches the ideas on the page.
- Use the table-of-contents preview to spot vague labels and headings without durable fragment IDs.
- Review question headings with their following paragraphs; a question is only answer-ready when the next paragraph answers it directly.
Site passport Local context for this saved site
Local data
Saved targets, named lists, and recent check summaries remain only in this browser.
Heading outline
Table of contents preview
Checks
Question headings → answer-ready candidates
A question heading is only a candidate; the following paragraph should answer it directly and independently.
Rate this tool
What the results mean
- Pass means the observed raw-HTML pattern is structurally sound.
- Information supplies context, such as multiple H1s, without calling it an error.
- Warning identifies a likely usability issue worth reviewing, including skipped levels.
- Error identifies a clear defect such as an empty heading.
- Needs review means the response did not contain enough evidence for that check.
How it works
The checker parses the supplied HTML in your browser, extracts semantic h1 through h6 elements in document order, and builds a nested outline from their levels. The same detector registry evaluates missing, empty, repeated, and skipped-level patterns. It does not infer headings from bold or large text.
Features
- Paste and URL-fetch modes.
- Nested heading outline and practical table-of-contents preview.
- Calibrated findings that avoid labeling every multiple-H1 pattern an error.
- Question-heading candidates paired with the next paragraph.
Limitations
URL mode reads raw HTML, not the rendered DOM, so JavaScript-added headings are absent. The preview assesses structure, not whether the copy is accurate, useful, or aligned to search intent. It also cannot determine visual styling or screen-reader behavior beyond the supplied markup. Use Render Gap when headings may be injected by JavaScript →
Frequently asked questions
Is more than one H1 always bad for SEO?
No. Multiple H1 elements are valid in modern HTML and are not automatically an SEO problem. A clear primary page heading is still useful for readers, so the checker reports multiple H1s as context rather than treating them as an error.
Do heading levels have to increase one at a time?
A skipped level such as H2 to H4 usually signals a confusing document outline. It is not a direct ranking penalty, but correcting the hierarchy improves navigation and accessibility.
Why are JavaScript-injected headings missing?
URL mode analyzes the raw HTML response and does not render JavaScript. Paste the rendered HTML from your browser if a client-side application adds headings after load.
Does changing a heading tag improve rankings?
Not by itself. Heading structure helps communicate organization and meaning, but useful content and search intent matter more than changing an H3 to an H2 in isolation.
Feature requests for Heading Structure Checker
Upvote what you want most. New ideas can be submitted from the floating Feedback menu; requests appear here once approved, and the most-wanted rise to the top.
You won't be emailed about that request anymore.
Loading…
➕ Request a feature
New requests are reviewed before they appear here.
Informazioni sullo strumento
Incolla HTML o recupera una pagina pubblica per visualizzare la gerarchia dei titoli, individuare salti e heading vuoti e creare un indice pratico.
Funzionalità
- Modalità paste e fetch URL.
- Outline annidato da h1 a h6 e anteprima table of contents.
- Finding calibrati che non chiamano ogni pattern multi-H1 un errore.
- Candidati di domande associati al paragrafo successivo.
Come funziona
Incolla HTML locale/renderizzato oppure recupera una URL pubblica. Esegui il controllo e leggi l’outline prima dei finding; verifica salti, titoli vuoti, H1 multipli e domande con il paragrafo successivo.
Limitazioni
- La modalità URL legge HTML raw e non il DOM renderizzato: titoli aggiunti da JavaScript sono assenti.
- Valuta struttura e markup forniti, non accuratezza, utilità, search intent, stile visivo o comportamento dello screen reader oltre l’HTML disponibile.
Domande frequenti
Cambiare un heading migliora il ranking?
Non da solo. La struttura comunica organizzazione e significato, ma contenuto utile e search intent contano più del cambio isolato da H3 a H2.
I livelli dei titoli devono aumentare sempre di uno?
Un salto come H2→H4 segnala spesso un outline confuso; non è una penalità diretta, ma correggere la gerarchia migliora navigazione e accessibilità.
Più H1 sono sempre un problema SEO?
No. H1 multipli sono validi nell’HTML moderno; il checker li segnala come contesto, mentre un heading primario chiaro resta utile ai lettori.
Perché mancano i titoli inseriti da JavaScript?
La modalità URL analizza la risposta HTML raw senza eseguire JavaScript; incolla l’HTML renderizzato se l’app aggiunge titoli dopo il caricamento.