TECHNICAL ON-PAGE & DOM DIAGNOSTIC ENGINE v7.0

Page Analyzer

Perform comprehensive technical audits on any web page. Inspect heading hierarchy, code-to-text density, meta tags, schema markup, and media assets in seconds.

DOM & Outline Diagnostics
Code-to-Text Telemetry
Schema & OpenGraph Audit
Link & Media Inspector
Target Page Inspector
{{ selectedLangObj ? selectedLangObj.name : 'Language' }} {{ (selectedLang || 'EN').toUpperCase() }}
All Languages
{{ l.code.toUpperCase() }} {{ l.name }}
Quick Demo:
{{ inputIsHttps ? 'HTTPS' : 'HTTP' }}
Favicon
{{ stepMessage }}
{{ currentTargetUrl || urlInput }}
{{ progressPct }}%
1 DOM & Outline
2 Code-to-Text
3 Schema & Meta
4 Media & Links
{{ t('analysis.pageAnalyzer.recentHistory', 'Recent Page Analyses') }} {{ history.length }}
{{ item.url }}
Score: {{ item.healthScore }}% ({{ item.healthGrade }}) Ratio: {{ item.ratio || item.codeToTextRatio || 0 }}% Words: {{ (item.words || item.wordCount || 0).toLocaleString() }} {{ formatDate(item.date || item.timestamp) }}

Complete Technical DOM & Hierarchy Extraction

Unpack all nested heading elements from H1 through H6, strong tags, and emphasis markers with real-time skipped hierarchy jump detection.

Code-to-Text Ratio Telemetry

Calculate the exact balance between clean textual content and bloated inline script or HTML markup to optimize page load speeds and indexation efficiency.

Schema JSON-LD & Meta Tags Inspector

Audit OpenGraph cards, Twitter preview cards, canonical declarations, and structured data schemas with 1-click JSON copying for search snippet readiness.

Link Architecture & Anchor Radar

Inspect internal vs external link distribution, nofollow vs dofollow ratios, and empty anchor tags in a high-speed data table.

Image Alt & Accessibility Audit

Detect missing image alt tags, next-gen WebP/AVIF formats, and lazy loading implementation without manual source code inspection.

Local Audit Memory (Zero Quota)

Save inspected pages automatically in your local session. Instantly revisit past technical audits with zero quota re-consumption.

{{ result.healthScore >= 85 ? 'Excellent Technical SEO' : (result.healthScore >= 70 ? 'Good SEO Structure' : (result.healthScore >= 50 ? 'Needs Improvements' : 'Critical Issues Detected')) }}
Favicon {{ result.domain }}
{{ result.isHttps ? 'HTTPS Secure' : 'Insecure HTTP' }} {{ result.isIndexable ? 'Indexable' : 'NoIndex' }} {{ result.doctype }}
{{ result.url }}
{{ diagnosticsCounts.total }} Total Checks
{{ diagnosticsCounts.pass }} Passed
{{ diagnosticsCounts.warning }} Warnings
{{ diagnosticsCounts.error }} Critical Issues
Technical SEO
{{ result.healthScore }}%
SEO Health Score (Grade {{ result.healthGrade || (result.healthScore >= 80 ? 'A' : (result.healthScore >= 60 ? 'B' : 'C')) }})
~{{ result.readingTime }} Min Read
{{ result.wordCount.toLocaleString() }}
Total Article Words
{{ result.counts.h1 === 1 ? '1 H1 Tag (Perfect)' : (result.counts.h1 === 0 ? 'Missing H1' : result.counts.h1 + ' H1 Tags') }}
{{ result.counts.h1 + result.counts.h2 + result.counts.h3 + result.counts.h4 + result.counts.h5 + result.counts.h6 }}
Document Headings (H1 - H6)
{{ ratioStatus.text }}
{{ result.codeToTextRatio }}%
Clean Code / Text Ratio
{{ topAwards.overall.badge }} #1

{{ topAwards.overall.title }}

{{ topAwards.overall.val }}
{{ topAwards.overall.hint }}
{{ topAwards.depth.badge }} Depth

{{ topAwards.depth.title }}

{{ topAwards.depth.val }}
{{ topAwards.depth.hint }}
{{ topAwards.ratio.badge }} DOM

{{ topAwards.ratio.title }}

{{ topAwards.ratio.val }}
{{ topAwards.ratio.hint }}
{{ topAwards.media.badge }} Assets

{{ topAwards.media.title }}

{{ topAwards.media.val }}
{{ topAwards.media.hint }}
{{ t('analysis.pageAnalyzer.radarTitle', '6-Pillar Technical SEO Radar') }} {{ t('analysis.pageAnalyzer.radarDesc', 'Live document telemetry vs 85% industry optimal polygon contour') }}
Page: {{ pureRadarSvg.domain }}
Optimal Benchmark (85%)
{{ spoke.label }}
{{ pureRadarSvg.healthScore }}% Grade {{ pureRadarSvg.healthGrade }}
{{ t('analysis.pageAnalyzer.tacticalBlueprint', 'Tactical Optimization Blueprint') }} {{ t('analysis.pageAnalyzer.tacticalDesc', 'Actionable deficit telemetry to reach 100% technical score') }}
Word Count {{ pageActionableBlueprint.wordCountDeficit === 0 ? 'Optimal' : '-' + pageActionableBlueprint.wordCountDeficit + ' Deficit' }}
{{ result.wordCount.toLocaleString() }} words Target: 1,200+
Headings Balance {{ pageActionableBlueprint.h1Deficit === 0 ? '1 H1 Tag (Perfect)' : (result.counts.h1 === 0 ? 'Missing H1' : 'Multiple H1s') }}
{{ result.counts.h1 }} H1 / {{ result.counts.h2 }} H2s H1 Target: Exactly 1
Image Accessibility {{ pageActionableBlueprint.imagesMissingAlt === 0 ? '100% Compliant' : pageActionableBlueprint.imagesMissingAlt + ' Need Alt' }}
{{ result.counts.images - pageActionableBlueprint.imagesMissingAlt }} / {{ result.counts.images }} images with Alt Target: 0 Missing
Schema Entities {{ pageActionableBlueprint.schemaEntitiesCount > 0 ? pageActionableBlueprint.schemaEntitiesCount + ' Detected' : 'Missing Schema' }}
{{ pageActionableBlueprint.schemaEntitiesCount }} types Target: Article / Org

Critical Deficits

{{ gapIntel.critical.length }} Action Items
High-severity technical issues that impair search ranking and crawl budget.
{{ item.title }}
{{ item.desc }}
Zero critical deficits detected! Core signals are sound.

Quick-Win Optimizations

{{ gapIntel.opportunities.length }} Opportunities
High-ROI enhancements to elevate search performance and accessibility.
{{ item.title }}
{{ item.desc }}
All optimization recommendations satisfied!

Technical Advantages

{{ gapIntel.advantages.length }} Strong Signals
Document strengths and best-practice compliance verified by audit.
{{ item.title }}
{{ item.desc }}
Analyzing document technical strengths...
{{ t('analysis.pageAnalyzer.payloadTitle', 'Code vs Text Payload Reactor') }} {{ t('analysis.pageAnalyzer.payloadSubtitle', 'HTML markup bloat vs clean indexed content volume') }}
{{ payloadRatioSvg ? payloadRatioSvg.totalKb : (result.textKb + result.codeKb).toFixed(1) }} KB Total
{{ payloadRatioSvg.textPct }}%TEXT RATIO
Core Document Telemetry Document specifications, encoding integrity & asset density
{{ result.counts.scriptsTotal + result.counts.stylesheetsTotal }} Assets
DOCTYPE & Encoding W3C Specification Standard
{{ (result.doctype || 'HTML5').toUpperCase() }} {{ (result.charset || 'UTF-8').toUpperCase() }}
Language & Direction Localization & Text Bi-Di Flow
{{ (result.lang || 'EN').toUpperCase() }} {{ (result.dir || 'LTR').toUpperCase() }}
Canonical Declaration {{ result.canonical ? 'Self-referencing canonical verified' : 'Missing canonical link tag' }}
{{ result.canonical ? 'Declared' : 'Missing' }}
Resource Overhead {{ result.counts.scriptsTotal }} Scripts • {{ result.counts.stylesheetsTotal }} Styles
{{ result.counts.scriptsExternal }} Ext JS • {{ result.counts.stylesheetsExternal }} Ext CSS
Technical Audit Checkpoints
{{ auditCheckpoints.passRate }}%
Pass Rate
{{ auditCheckpoints.passCount }} of {{ auditCheckpoints.total }} checks passed
{{ auditCheckpoints.warningCount }}
Warnings
Optimization recommendations
{{ auditCheckpoints.errorCount }}
Critical Issues
Need immediate attention
{{ cat.label }} {{ cat.passed }}/{{ cat.total }} ({{ cat.pct }}%)
{{ d.title }} {{ d.category.toUpperCase() }}
{{ d.detail }}
Recommended Fix: {{ d.recommendation }}
No diagnostics match the selected filters.
{{ t('analysis.pageAnalyzer.readabilitySuite', 'Readability & Cognitive Load Suite') }} {{ t('analysis.pageAnalyzer.readabilityDesc', 'Flesch Reading Ease algorithm, audience reading grade, and audio listening telemetry') }}
{{ readabilityMetrics.fleschScore }} / 100 Flesch Reading Ease {{ readabilityMetrics.fleschTier }}
{{ readabilityMetrics.audienceGrade }} Target Audience Grade
{{ readabilityMetrics.avgSentenceLength }} words Avg Sentence Length
~{{ readabilityMetrics.audioListenMinutes }} Min Audio Listen Time (150 WPM)
Clean Article Text & Editorial Telemetry
#{{ p.index }} • {{ p.wordCount }} words
{{ p.text }}
No paragraphs matched your search term.
{{ result.cleanText }}
Extracted Questions & FAQs {{ result.questions.length }} DETECTED

Discovered from JSON-LD FAQPage schemas and interactive DOM accordion components.

Q{{ qIdx + 1 }} {{ q.question }}
{{ q.source }}
Answer:
{{ q.answer }}
{{ filteredKeywordsList.length }} TOP KEYWORDS
{{ keywordsNgramFilter === '1' ? '1-Word Single' : (keywordsNgramFilter === '2' ? '2-Word Phrases' : '3-Word Phrases') }}
1-Word Single
2-Word Phrases
3-Word Phrases
Extracted Keyword / Phrase
Occurrences
Density (%)
Action
{{ k.phrase }}{{ k.count }}{{ k.density }}%
No keywords found matching query.
Google SERP Snippet Simulator
Favicon
{{ result.domain }}
{{ result.url }}
{{ result.title || result.domain }}
{{ result.description || 'No meta description provided for this web page.' }}
Title Tag Pixel & Char Allocation
{{ serpTruncationMetrics.titleChars }} / {{ serpTruncationMetrics.titleMaxChars }} Chars ~{{ serpTruncationMetrics.titlePixels }}px / {{ serpTruncationMetrics.titleMaxPixels }}px Truncation Hazard (+{{ serpTruncationMetrics.titleChars - serpTruncationMetrics.titleMaxChars }} chars)
Meta Description Pixel & Char Allocation
{{ serpTruncationMetrics.descChars }} / {{ serpTruncationMetrics.descMaxChars }} Chars ~{{ serpTruncationMetrics.descPixels }}px / {{ serpTruncationMetrics.descMaxPixels }}px Truncation Hazard (+{{ serpTruncationMetrics.descChars - serpTruncationMetrics.descMaxChars }} chars)
{{ filteredMetaTagsList.length }} META TAGS
{{ metaFilterGroup === 'all' ? 'All Groups' : (metaFilterGroup === 'og' ? 'OpenGraph (og:)' : (metaFilterGroup === 'twitter' ? 'Twitter Cards' : (metaFilterGroup === 'canonical' ? 'Canonical' : 'Standard Meta'))) }}
All Groups
OpenGraph (og:)
Twitter Cards
Canonical
Standard Meta
Property / Name
Content Value
Action
{{ m.name }}{{ m.content }}
No matching meta tags found.
{{ t('analysis.pageAnalyzer.orbitalTitle', 'Headings Orbital Architecture Sunburst') }} {{ t('analysis.pageAnalyzer.orbitalDesc', 'Concentric H1-H6 planetary hierarchy & semantic structural flow') }}
{{ headingsOrbitalSvg.totalHeadings }} Total Tags {{ headingsOrbitalSvg.jumpWarnings }} Hierarchy Jumps Flawless Hierarchy
{{ headingsOrbitalSvg.totalHeadings }} TAGS
Heading Levels Distribution (H1 - H6) Frequency breakdown across primary and secondary heading tiers
{{ result.counts.h1 + result.counts.h2 + result.counts.h3 + result.counts.h4 + result.counts.h5 + result.counts.h6 }} Headings
Hierarchy Health & Jump Radar Semantic document outline, heading jumps & typographical balance
{{ result.headingJumpWarnings === 0 ? 'Optimal Flow' : result.headingJumpWarnings + ' Jump(s)' }}
Primary H1 Anchor {{ result.counts.h1 === 1 ? 'Single unambiguous H1 landmark' : (result.counts.h1 === 0 ? 'Missing critical H1 tag' : 'Multiple H1 tags detected') }}
{{ result.counts.h1 }} H1 {{ result.counts.h1 === 1 ? '(Optimal)' : '(Review)' }}
Heading Flow Integrity {{ result.headingJumpWarnings === 0 ? 'No skipped levels (e.g. H2 directly to H4)' : result.headingJumpWarnings + ' hierarchy level jump(s) found' }}
{{ result.headingJumpWarnings === 0 ? 'Flawless Flow' : result.headingJumpWarnings + ' Skipped' }}
Bold & Strong Tags Key semantic terms emphasis volume
{{ result.counts.strong || 0 }} Tags
Emphasis & Italic Tags Secondary semantic vocalization
{{ result.counts.em || 0 }} Tags
Sequential Document Heading Tree (Sequential Order)
{{ h.tag }} {{ h.text }} {{ h.jumpNotice }}
No headings found in the page structure.
{{ filteredHeadingsList.length }} TAG TYPES
{{ headingsFilterTag === 'all' ? 'All Tags' : headingsFilterTag.toUpperCase() }}
All Tags
H1
H2
H3
H4
STRONG
Tag Type
Count
Content Preview / ValuesAction
{{ h.tag.toUpperCase() }}{{ h.count }}
• {{ item }}
No matching headings found.
{{ filteredKeywordsList.length }} KEYWORDS
{{ keywordsNgramFilter === '1' ? 'Single Words (1-gram)' : (keywordsNgramFilter === '2' ? '2-Word Phrases' : '3-Word Phrases') }}
Single Words (1-gram)
2-Word Phrases
3-Word Phrases
Keyword / Phrase
Occurrences
Density (%)
Action
{{ k.phrase }}{{ k.count }}{{ k.density }}%
No recurring phrases detected for this level.
HTML5 Standard
{{ result.charset || 'UTF-8' }}
Document Encoding & Standards
DOCTYPE {{ result.doctype || 'html' }}
Charset {{ result.charset || 'UTF-8' }}
Lang & Dir {{ (result.lang || 'en').toUpperCase() }} ({{ (result.dir || 'ltr').toUpperCase() }})
{{ result.isIndexable ? 'Indexable' : 'NoIndex' }}
{{ result.isIndexable ? 'Allowed' : 'Blocked' }}
Crawling & Indexation Directives
Robots Tag {{ result.robots }}
Self Canonical {{ result.isSelfCanonical ? 'Yes' : 'Different / None' }}
Hreflang Alternates {{ (result.hreflangList || []).length }}
{{ result.counts.scriptsTotal + result.counts.stylesheetsTotal }} Head Assets
{{ result.counts.scriptsTotal + result.counts.stylesheetsTotal }}
Head Script & Style Resources
External Scripts {{ result.counts.scriptsExternal }}
Inline Scripts / Styles {{ result.counts.scriptsInline }} / {{ result.counts.stylesheetsInline }}
Resource Hints {{ result.counts.resourceHints }}
Detected Third-Party Analytics & Marketing Trackers
{{ t.name }}
{{ t.type }}
Active
No common third-party analytics or pixel scripts detected on this page.
Contact Information & Social Intelligence Profiles
Email Addresses
{{ filteredContacts.emails.length }}
No email addresses detected on this page.
Phone Numbers
{{ filteredContacts.phones.length }}
No direct phone numbers discovered.
Social & Brand Channels
{{ filteredContacts.social.length }}
No verified social media profiles discovered.
Link Architecture Profile Internal navigation vs external outbound vs anchor routing
{{ result.counts.totalLinks }} Total Links
{{ linkArchitectureSvg.totalLinks }}TOTAL FLOW
Follow vs Nofollow Telemetry Link equity transfer signals and anchor text compliance
{{ (result.counts.missingAnchorLinks || 0) === 0 ? 'Anchors Clean' : result.counts.missingAnchorLinks + ' Empty Anchors' }}
Dofollow Equity: {{ result.counts.totalLinks > 0 ? Math.round(((result.counts.dofollowLinks || 0) / result.counts.totalLinks) * 100) : 0 }}% Nofollow Flow: {{ result.counts.totalLinks > 0 ? Math.round(((result.counts.nofollowLinks || 0) / result.counts.totalLinks) * 100) : 0 }}%
Dofollow Links (Equity Transfer) Search engines follow and pass PageRank to targets
{{ result.counts.dofollowLinks }} Links ({{ result.counts.totalLinks > 0 ? Math.round(((result.counts.dofollowLinks || 0) / result.counts.totalLinks) * 100) : 0 }}%)
Nofollow Directives rel="nofollow" crawl directives preventing equity leak
{{ result.counts.nofollowLinks }} Links ({{ result.counts.totalLinks > 0 ? Math.round(((result.counts.nofollowLinks || 0) / result.counts.totalLinks) * 100) : 0 }}%)
Anchor Text Accessibility {{ (result.counts.missingAnchorLinks || 0) === 0 ? 'All links contain descriptive anchor text or aria-labels' : result.counts.missingAnchorLinks + ' link(s) lack anchor or readable text' }}
{{ (result.counts.missingAnchorLinks || 0) === 0 ? 'Flawless Anchors' : result.counts.missingAnchorLinks + ' Empty Missing' }}
{{ filteredLinksList.length }} LINKS
{{ linksFilterType === 'all' ? 'All Links' : (linksFilterType === 'internal' ? 'Internal Links' : (linksFilterType === 'external' ? 'External Links' : (linksFilterType === 'anchor' ? 'Anchor (#) Links' : (linksFilterType === 'nofollow' ? 'Nofollow' : 'Missing Text')))) }}
All Links
Internal Links
External Links
Anchor (#) Links
Nofollow Links
Missing Anchor Text
Type
Anchor Text
Target URL
RelAction
{{ l.type }}(Empty Anchor) {{ l.text }}{{ l.href }}{{ l.rel }}
No matching links found.
{{ result.counts.imagesWithoutAlt === 0 ? '100% Compliant' : result.counts.imagesWithoutAlt + ' Missing Alt' }}
{{ result.counts.images > 0 ? Math.round((result.counts.imagesWithAlt / result.counts.images) * 100) : 100 }}%
Alt Attribute Health
WebP / AVIF / SVG
{{ result.counts.modernFormatImages }}
Next-Gen Image Formats
loading="lazy"
{{ result.counts.lazyImages }}
Lazy Loading Coverage
{{ filteredImagesList.length }} IMAGES
{{ imageFilterAlt === 'all' ? 'All Images' : (imageFilterAlt === 'missing' ? 'Missing Alt Tag' : 'With Alt Tag') }}
All Images
Missing Alt Tag
With Alt Tag
#
Preview
Alt Text
Source URL
FormatAction
{{ img.originalIndex }}Thumb Missing Alt {{ img.alt }}{{ img.src }}{{ img.fileType }}
No matching image assets found.
External Assets Inventory & Network Dependencies

Complete inventory of external JavaScript script libraries and CSS stylesheet assets discovered on this page.

JavaScript Files & Libraries
{{ (result.scriptUrls || []).length }} FILES
#{{ sIdx + 1 }} {{ su }}
No external JavaScript files detected.
CSS Stylesheets & Fonts
{{ (result.styleUrls || []).length }} FILES
#{{ cIdx + 1 }} {{ cu }}
No external stylesheets detected.

{{ (result.schemaTypes && result.schemaTypes.length > 0) ? 'Structured Data Markup Detected' : 'No Native Schema.org Markup Detected' }}

{{ (result.schemaTypes && result.schemaTypes.length > 0) ? 'This page declares ' + result.schemaTypes.length + ' structured entity type(s) via JSON-LD, qualifying it for rich search snippets in Google.' : 'Search engines rely on JSON-LD structured data to generate rich snippets, star ratings, and knowledge graph panels. A synthesized fallback schema is provided below.' }}

{{ ent.type }}
{{ ent.name }}
{{ ent.url }} {{ ent.description.length > 100 ? ent.description.substring(0, 100) + '...' : ent.description }}
{{ (result.schemaTypes && result.schemaTypes.length > 0) ? 'JSON-LD Source Code Viewer' : 'Synthesized Recommended Schema (Starter Markup)' }}
Synthesized from Metadata
Filter Schemas: All ({{ result.schemaTypes.length }}) {{ t }}
{{ filteredSchemasJson || '// No Schema JSON available' }}
Recommended for you

Tool Title

Tool Description

{{ isOutOfCredits ? t('quota.outOfCredits', 'Out of Credits!') : t('quota.title', 'Your Quota') }}

{{ t('global.loading', 'Fetching quota data...') }}

{{ badgeText }}
{{ quotaData.usedPlan.toLocaleString() }}
{{ t('quota.consumption', 'Consumption') }} / {{ quotaData.totalPlan.toLocaleString() }}

{{ descText }}