Audit H1-H6 heading hierarchy, WCAG 2.2 accessibility, and SEO structure. Detects 35+ issues including skipped levels, multiple H1s, ARIA mismatches, and AI Overview readiness.
Audit H1-H6 heading hierarchy, WCAG 2.2 accessibility, and SEO structure. Detects 35+ issues including skipped levels, multiple H1s, ARIA mismatches, and AI Overview readiness.
Concurrently inspects structural hierarchy, content quality, WCAG 2.2 accessibility, HTML5 landmark semantics, and AI Overview snippet readiness.
Detects skipped heading levels (H2 β H4), missing or multiple H1s, ARIA level overrides, hidden headings, and low-contrast DOM elements with prescriptive fixes.
Constructs an O(n) parent-child JSON hierarchy representing the document's true reading flow with node-level issue attribution.
Analyzes conversational question patterns, listicle formats, deep-link anchor ID coverage, and Flesch readability scores for generative search citations.
Combines ultra-fast Cheerio HTTP parsing (~300ms) with automatic stealth Playwright browser escalation for client-hydrated SPAs and anti-bot challenges.
Templates & workflows
Audit heading hierarchy, WCAG 2.2 compliance, and HTML5 landmark semantics across core marketing and documentation pages.
{
"urls": "https://infisical.com/\nhttps://n8n.io/\nhttps://www.browsermesh.in/",
"timeout": 30,
"scrapeMode": "auto",
"concurrency": 8,
"enableSeoInsights": true,
"extractAriaHeadings": true,
"includeHiddenHeadings": true
}Lightning-fast pure HTTP scan across large catalog or blog pages to identify missing H1s, skipped levels, and duplicate headings.
{
"urls": "https://example.com/blog\nhttps://example.com/docs\nhttps://example.com/pricing",
"timeout": 20,
"scrapeMode": "http",
"concurrency": 15,
"enableSeoInsights": true,
"extractAriaHeadings": false,
"includeHiddenHeadings": false
}Audit dynamic React, Vue, Next.js, and client-rendered SPAs using stealth Playwright Chromium to evaluate hydrated headings and CSS opacity.
{
"urls": "https://appsmith.com/\nhttps://linktr.ee/linktr.ee\nhttps://cult.fit/",
"timeout": 35,
"scrapeMode": "browser",
"concurrency": 4,
"enableSeoInsights": true,
"extractAriaHeadings": true,
"includeHiddenHeadings": true
}Heading Structure Analyzer
An enterprise-grade, high-performance H1βH6 heading hierarchy linter, WCAG 2.2 accessibility auditor, and SEO content architecture analyzer for BrowserMesh.
Inspects, visualizes, and audits heading structures across static HTML and client-hydrated Single Page Applications (SPAs). Simultaneously executes a 35+ rule diagnostic engine covering skipped hierarchy levels, missing or multiple H1s, ARIA heading overrides, HTML5 landmark semantics, DOM nesting bloat, and 2026 AI Overviews / Search Generative Experience (GEO) snippet readiness.
The premier modern alternative to Screaming Frog SEO Spider (Β£209/yr), Sitebulb ($162β$420/yr), Ahrefs Site Audit, and WebAIM WAVE.
<h2> jumping straight to <h4>), and empty heading tags across catalog pages.aria-level mismatches.Inspects document outlines across 5 specialized diagnostic layers simultaneously:
h2 $\to$ h4), detects multiple H1s, identifies inverted outlines, and catches empty headings.aria-hidden tags, aria-label overrides (Label in Name), aria-level conflicts with native tags, and inaccessible image-only headings without alt text.what, how, why), listicle numbered formats, deep-link anchor ID coverage, and readability metrics.<main>, <header>, <nav>, <aside>, and <footer> landmarks, flags inappropriate interactive parent wrappers (<button>, <label>), and detects deep DOM bloat.Detects and provides prescriptive remediation instructions across 35+ specific issue types:
no_headings, missing_h1, missing_h1_start, skipped_level, empty_heading, empty_heading_no_aria, image_heading_no_alt, aria_level_mismatch, heading_role_override, heading_inside_heading, all_headings_hidden, inappropriate_parent.multiple_h1, h1_too_short, h1_too_long, heading_too_short, heading_too_long, duplicate_heading, aria_hidden_heading, hidden_heading, aria_label_override, excessive_depth, h1_wrong_landmark, missing_main_landmark, no_landmark_structure, most_headings_hidden, eaa_compliance_risk, keyword_stuffing.heading_inside_link, similar_headings, heading_opacity_zero, screen_reader_only, multiple_h1_sectioning, missing_anchor_ids, question_format, numbered_heading, all_caps_heading, generic_heading, vague_pronoun, negative_sentiment, excessive_dom_depth, div_instead_of_section, missing_semantic_context, missing_nav_landmark, no_power_words_h1, low_readability.Builds a complete hierarchical parent-child JSON tree representing the document's true reading outline, with automated issue attribution at every individual node level.
auto / http / browser)CloakBrowser) for client-hydrated SPAs and dynamic JavaScript DOMs.critical: max 60 pts, warning: max 25 pts).info notices (such as HTML5 block links and catalog menu similarities) never deduct points.{
"urls": "https://example.com/blog\nhttps://example.com/pricing\nhttps://example.com/about",
"scrapeMode": "auto",
"extractAriaHeadings": true,
"includeHiddenHeadings": true,
"enableSeoInsights": true,
"concurrency": 8,
"timeout": 30,
"limit": 100
}
https://example.com, http://blog.example.com/post-1example.com (automatically normalized to https://example.com)https://example.com/docs/api/v1/endpoints#overview127.0.0.1, localhost), and cloud metadata IP addresses (169.254.169.254).[
{
"url": "https://infisical.com/",
"pageUrl": "https://infisical.com/",
"domain": "infisical.com",
"statusCode": 200,
"status": "healthy",
"title": "Infisical | Open Source Secret Management Platform",
"h1": "Open Source Secret Management",
"headings": [
{
"hasAnchor": true,
"tag": "h1",
"level": 1,
"text": "Open Source Secret Management",
"html": "<h1 class=\"text-4xl font-bold tracking-tight\">Open Source Secret Management</h1>",
"position": 0,
"depth": 5,
"ariaHidden": false,
"isHidden": false,
"parentElement": "div",
"parentSemanticTag": "main",
"isInLandmark": true,
"landmarkType": "main"
},
{
"hasAnchor": true,
"tag": "h2",
"level": 2,
"text": "Centralize secrets across your infrastructure",
"html": "<h2 id=\"centralize\" class=\"text-2xl font-semibold\">Centralize secrets across your infrastructure</h2>",
"position": 1,
"depth": 6,
"ariaHidden": false,
"isHidden": false,
"parentElement": "section",
"parentSemanticTag": "section",
"isInLandmark": true,
"landmarkType": "main"
}
],
"hierarchy": {
"text": "Document Root",
"level": 0,
"tag": "root",
"id": "root",
"html": "",
"position": -1,
"items": [
{
"text": "Open Source Secret Management",
"level": 1,
"tag": "h1",
"id": "open-source-secret-management",
"html": "<h1 class=\"text-4xl font-bold tracking-tight\">Open Source Secret Management</h1>",
"position": 0,
"items": [
{
"text": "Centralize secrets across your infrastructure",
"level": 2,
"tag": "h2",
"id": "centralize",
"html": "<h2 id=\"centralize\" class=\"text-2xl font-semibold\">Centralize secrets across your infrastructure</h2>",
"position": 1,
"items": [],
"issues": []
}
],
"issues": []
}
],
"issues": []
},
"metrics": {
"total": 11,
"h1Count": 1,
"h2Count": 6,
"h3Count": 4,
"h4Count": 0,
"h5Count": 0,
"h6Count": 0,
"maxDepth": 3,
"headingsWithIdCount": 10,
"anchorCoveragePct": 91,
"avgHeadingLength": 38
},
"audit": {
"score": 100,
"grade": "Excellent",
"totalIssues": 2,
"criticalCount": 0,
"warningCount": 0,
"infoCount": 2,
"issues": [
{
"type": "no_power_words_h1",
"severity": "info",
"message": "H1 does not contain high-engagement power words",
"recommendation": "Consider adding persuasive power words (e.g. \"Complete\", \"Guide\", \"Proven\") to boost CTR."
},
{
"type": "missing_nav_landmark",
"severity": "info",
"message": "No heading found within a <nav> landmark element",
"recommendation": "Consider providing accessible headings for navigation sections."
}
]
},
"accessibility": {
"wcagLevel": "Pass",
"eaaCompliant": true,
"hiddenCount": 0,
"ariaIssues": []
},
"seoInsights": {
"hasQuestionHeadings": false,
"hasNumberedHeadings": false,
"hasAnchorIds": true,
"aiOverviewReadiness": "High",
"questionHeadingCount": 0,
"anchorIdPercentage": 91,
"avgHeadingLength": 38,
"powerWordCount": 0,
"readabilityScores": [
{ "heading": "Open Source Secret Management", "score": 85 },
{ "heading": "Centralize secrets across your infrastructure", "score": 78 }
]
},
"scrapeMode": "http",
"error": null
}
]
While HTML5 formally introduced the outline algorithm allowing an <h1> per <section> or <article>, search engines (Google, Bing) and screen readers overwhelmingly favor maintaining a single primary H1 per document. Multiple H1s dilute topic authority and confuse assistive technology users navigating page outlines.
Skipping heading levels (e.g., jumping from <h2> directly to <h4>) violates WCAG 2.2 Success Criterion 1.3.1 (Info and Relationships). Screen reader users rely on headings to build mental models of content hierarchies; skipping levels implies missing sections or broken content structure.
In 'auto' mode, if static HTTP extraction yields 0 headings or detects client-side hydration shells (<div id="__next">, <div id="root">), the plugin automatically escalates to stealth Chromium (CloakBrowser). It renders the live DOM, executes entrance animations, and audits hydrated headings accurately.
<a><h2>...</h2></a>) allowed?Yes. The W3C HTML5 specification (Β§4.5.1) explicitly permits block-level anchor links wrapping headings. The analyzer recognizes valid HTML5 block links and issues an educational info notice (heading_inside_link) rather than penalizing the audit score.
This workflow executes natively within your local or peer BrowserMesh node using real Chromium browser automation. It navigates dynamically rendered single-page applications, executes interaction logic, avoids cloud proxy fees, and extracts clean structured datasets directly to your local machine with complete security and privacy.
Unlike legacy cloud scraping APIs that impose expensive per-request markups and risk IP bans, BrowserMesh routes execution through authentic residential environments. You pay zero cloud data transfer fees, experience full anti-bot stealth emulation, and retain 100% ownership of your extracted datasets without vendor lock-in.
3 records Β· 15 nested fields Β· real execution preview
Combine complementary browser automation and auditing workflows to verify site health, infrastructure, and search engine crawlability with 100% local execution.
Scan websites and XML sitemaps to detect 404 dead links, broken anchors, and redirect loops with zero cloud markups.
Discover who hosts any website. Detect cloud infrastructure, CDN edge networks, IP geo, and DNS routing instantly.
Audit on-page SEO factors, meta tags, heading structures, Core Web Vitals, and SERP snippet previews with local privacy.
Explore our comprehensive guides or reach out directly to our engineering support team.