Free tool
Content structure score, check by check
A content structure score rates whether a page's passages can be lifted into an answer. This free analyzer fetches a real page and reports that score's parts one by one: heading outline, paragraph lengths, lists and tables, each against a threshold stated here and quoting the passage it is about. No sign-up, nothing tied to you.
Inputattensira.com/guides/ai-search-visibility-guide/passages-that-survive-extraction
- H1
- Exactly one
- ✓ Passes
- Heading outline
- H1 → H3: a level skipped
- — Fails
- Body
- 2,260 words in the main content, 15 headings
- ✓ Passes
- Median paragraph
- 23 words, none past 150
- ✓ Passes
- Lists and tables
- 13 lists, 1 table
- ✓ Passes
- Question headings
- 2 of 15
- ◐ Weak
7 days free · card required
Check a page
Seconds, on our server · Free, no sign-upThe page is fetched and its DOM measured. You are not asked to describe your own page. Free, no sign-up, the full result is shown.
Or try the page we ran it on:
Your result appears here
- Heading outline
- one H1, no skipped levels
- Paragraphs
- median length, over 150 quoted
- Lists and tables
- how many
- Question headings
- how many of all
Inputattensira.com/guides/ai-search-visibility-guide/passages-that-survive-extraction
- H1
- Exactly one
- ✓ Passes
- Heading outline
- H1 → H3: a level skipped
- — Fails
- Body
- 2,260 words in the main content, 15 headings
- ✓ Passes
- Median paragraph
- 23 words, none past 150
- ✓ Passes
- Lists and tables
- 13 lists, 1 table
- ✓ Passes
- Question headings
- 2 of 15
- ◐ Weak
What does it measure on a page?
The heading outline
Exactly one H1, no skipped levels, a heading at least every 300 words, and how many headings are phrased as questions.
Paragraphs
The median paragraph length, and every paragraph over 150 words, quoted.
Lists, tables and body text
At least one list or table, and enough body text to measure at all.
What does it find on one of our own guides?
We ran it on attensira.com/guides/ai-search-visibility-guide/passages-that-survive-extraction, the guide chapter about how passages get extracted.
One real error: the chapter goes from its H1 straight to H3s. The cause is not the chapter. It is the template every guide renders through, so the fix is one change in one file, and it fixes every guide at once.
That is the useful habit with this tool: when the same finding appears on every page of a type, fix the template, not the pages.
The run is the result panel at the top of this page. Read on 4 Oct 2026.
What does it strip first, and why is there no score?
The tool fetches your URL, strips the navigation, header, footer and sidebars, then measures what is left: the heading outline, the paragraph lengths, the lists, the tables and the word count. Every finding below comes from that measurement. You are never asked to describe your own page, because an assessment of your content that you supplied the answers to is a quiz, not an analysis.
There is no score. Eight independent structural facts cannot be added into one number out of a hundred without a weighting, and any weighting we chose (how much a missing H1 counts against a long paragraph) would be a number we made up and you acted on. Each check reports pass, warning or error, names the rule, and quotes the text it failed on.
Which rules and thresholds does it apply?
This is the complete rule set. Nothing is applied that is not listed here, and every threshold is stated so you can decide whether you agree with it.
| Check | Threshold | Why it matters |
|---|---|---|
| Exactly one <h1>single-h1 | Threshold1 | Why it mattersThe H1 is the one unambiguous statement of what the page is about. Zero leaves it to guesswork; several leave it contested. |
| No heading level is skippedheading-hierarchy | ThresholdEach heading is at most one level deeper than the one before it | Why it mattersSkipping from H2 to H4 breaks the nesting a parser uses to work out which passage sits under which topic. |
| At least one heading per 300 words of body textheading-density | Threshold≥ 1 per 300 words | Why it mattersHeadings are the boundaries an extractive answer is cut along. Long unbroken runs of text give it nowhere to cut. |
| Median paragraph lengthparagraph-length | Threshold≤ 80 words | Why it mattersOur stated target, not a measured limit: a short paragraph can be quoted as it stands, while a long one has to be cut or summarised first. |
| Paragraphs over 150 wordslong-paragraphs | Threshold0 | Why it mattersA single paragraph carrying several distinct claims cannot be cited for any one of them. |
| At least one list or tablelists-and-tables | Threshold≥ 1 | Why it mattersA list or a table can be lifted without rewording; the same facts in a paragraph usually cannot. |
| Headings phrased as questionsquestion-headings | Threshold≥ 1 | Why it mattersPeople ask assistants questions. A heading that matches the question makes the passage under it an obvious answer. |
| Body text present and substantialbody-length | Threshold≥ 300 words | Why it mattersBelow roughly 300 words there is usually not enough on the page for anything to be extracted from it. |
Who fixes a finding that lives in a template?
Inside Attensira, heading levels in a content file are safe hygiene: in Act mode a change that only moves levels, not words, opens as a pull request on its own. A page template is source code, which the crew never edits in any mode, so a template-wide finding reaches you as a task instead. What counts as safe, and what is refused.
DoGuide chapters skip from H1 to H3Do on your side · guide chapter template · every guide
Each chapter goes from its H1 straight to H3 section headings. Render the section headings as H2 in the chapter template; the words stay the same, and every guide is fixed at once. Your choice: done or dismiss.
Web engineer · would hand you an inbox row like thisExample · the kind of change this finding calls for, not one that shippedWhy does structure matter for what gets quoted?
An assistant answering a question does not read your page the way a person does. It looks for a passage that answers the question on its own, without the surrounding context, and it prefers passages it can reproduce without rewriting. Structure is what makes such passages exist.
Concretely: a heading tells a reader, or a model, what the text beneath it is about, so a heading phrased the way people ask turns the paragraph under it into a candidate answer. A short paragraph can be quoted as it stands; one that runs three hundred words and carries four claims has to be cut or summarised first, and a summary is no longer your wording. A table of specifications or prices states its numbers without anyone having to interpret prose.
None of this makes a thin page worth citing. Structure decides whether good content is usable. It cannot manufacture something worth using.
How do you fix each failure?
- No H1, or several. Give the page one H1 that states its subject in the words a reader would use. Demote the extras to H2. Do not use the H1 for your logo or site name.
- A skipped heading level. Often a heading chosen for its font size rather than its depth. Fix the level and style it with CSS. The heading outline above reports the same defect in more detail if the outline is tangled.
- Too few headings for the length. Add a heading wherever the subject changes. If you cannot name a section, that is usually a sign the section is doing two jobs.
- Long paragraphs. Split at the point where the paragraph starts making its second claim. Put the claim first and the qualification after it, so the first sentence stands alone.
- No lists or tables. Anything you wrote as "first… then… finally" or as a prose comparison is already a list or a table pretending not to be one.
- No question headings. Take the questions your sales team actually gets asked and make them headings, then answer each one in the first sentence beneath it.
- Very little body text. Structure cannot help a page with nothing on it. That is a content problem, not a markup one.
Questions people ask about this check
Why does the word count look lower than my page?
Navigation, headers, footers, sidebars, forms and scripts are removed before counting, and if the page has a <main> or <article> element only that element is measured. The number describes the article, not the template around it.
Does passing every check mean I will be cited?
No. These checks establish that a quotable passage could exist and that a parser can find it. Whether an assistant then uses it depends on whether the crawler was permitted, whether the page answers a question people ask, and whether it is the best source available on that question. This tool covers none of those three: it measures whether a quotable passage can be found.
My page is a landing page, not an article. Do these thresholds apply?
Partly. The H1 and heading-hierarchy checks apply to any page. The length and density thresholds assume a page written to be read and quoted, so a short landing page will report warnings that are correct measurements and wrong advice for that page. The thresholds are printed above precisely so you can make that call yourself.
Do you store the pages I analyze?
No. The page is fetched, measured inside the request and the result returned to your browser. There is no account, no email field and no saved history. The shareable link re-runs the same measurement.
This checks the page. Attensira's crew changes it.
7 days free · card required