Direct answer: Across 10 sites and 36 article pages there are 94 headings (h1–h6): H1 appears on 28 pages, H2 on only 14 and H3 on 6; 22 pages have no H2 and 30 have no H3. Of the 28 pages with an H1, 16 have no H2 at all. Four pages have no headings, nine skip levels, and 11 pages with headings start below H1 (five start at H6).
The median page has just one heading: most articles have a title but no section outline.
Method: read h1–h6 in DOM order
The study reuses the 36 article pages fetched in study 45 on 2026-11-03 between 08:40 and 08:41 (10 sites; five JS shells excluded), with zero network requests. It records each heading's level and text in order, then counts pages per level, skipped levels, first-heading level and duplicate text.
| Item | Rule | Boundary |
|---|---|---|
| Skipped level | Adjacent heading increase >1 (e.g. H1→H3) | Same-level repeats do not count |
| First below H1 | First heading is not H1 | Pages with no headings excluded |
| Duplicate text | The same heading text appears more than once | Text only, position ignored |
| Page level | Includes headings in navigation and footer | Body vs template not separated |
Result: H1 is fair, H2 is largely absent
| Level | Pages with it | Total headings |
|---|---|---|
| H1 | 28 | 38 |
| H2 | 14 | 20 |
| H3 | 6 | 25 |
| H4 | 6 | 6 |
| H5 | 0 | 0 |
| H6 | 5 | 5 |
| Structural issue | Pages | Note |
|---|---|---|
| No H1 | 8 | Matches study 47 |
| No H2 | 22 | 16 of them have an H1 |
| No H3 | 30 | — |
| No headings at all | 4 | Three E16 pages, one E22 page |
| H1 but no H2 | 16 | Title only |
| Skip levels | 9 | Four E03 pages, five E09 pages |
| First heading below H1 | 11 | Excludes four headingless pages; five start at H6 |
| Duplicate heading text | 5 | All on E03 |
H2 count: zero on 22 pages
| H2 per page | Pages | Note |
|---|---|---|
| 0 | 22 | No sections |
| 1 | 12 | One second-level heading |
| 4 | 2 | One site |
Typical patterns: four E03 pages jump from H1 to H3; five E09 pages start at H6, then H2, H4, H1; five E14 pages start at H2; three E16 pages have no headings. All come from templates rather than individual editing choices.
What this means for acceptance
- Treat H2 as part of article structure. 22 of 36 have none, so long articles have no sections and AI or screen-reader extraction loses outline.
- Add H1 first, then H2. Eight pages lack an H1 and 16 have an H1 but no H2.
- Do not start at H2 or H6. Eleven pages begin below H1, five of them at H6.
- Avoid skipped levels. Nine pages show H1→H3 or H6→H2→H4→H1.
- De-duplicate heading text. Five pages repeat a heading, all on one site, but the template should still be checked.
Limits
- Page level: headings in navigation, footer and sidebars are included; body and template are not separated.
- Tags only: divs styled as headings are not counted, and visual size or position is not judged.
- Cached, zero-request: HTML fetched on 2026-11-03 08:40–08:41; later changes are not reflected.
- Content quality not judged: whether heading text is accurate or keyword-stuffed is not measured.
- 10 sites, 36 pages: a pilot, no industry claim.
Data and reproduction
Anonymised data: equipment-heading-outline-2026.csv (36 rows × 14 columns: H1–H6 counts, total, first level, skips, unique and duplicate text). The repository keeps docs/research/2026-11-heading-outline.csv.
Parser: scripts/heading_outline_probe.py; unit tests: scripts/test_heading_outline_probe.py (8 tests, no network). Run:
python -m unittest scripts.test_heading_outline_probe
Related: the article head metadata pilot, the social card pilot, and the article link structure pilot.
Sources and definitions
- Article cache: 36 pages from 10 sites in study 45 (2026-11-03 08:40–08:41), five JS shells excluded.
- Headings: h1–h6 read in DOM order and stripped to text.
- Skip: adjacent level increase >1; a first heading below H1 is counted separately.
- Scan: 2026-11-03, zero network requests.