Futuristic holographic 12-dimension website auditor dashboard with glowing metrics, neural network connections, and dark navy background with cyan neon accents
v3.9.1 — May 2026 · 100% Deterministic · Zero LLM Credits

Website Auditor
Scoring Guide

The complete reference for how our free website auditor evaluates your site across 12 dimensions with 188 factors. Every deduction, weight, and the composite algorithm — fully transparent.

All scores computed from HTML source, HTTP headers, and robots.txt — no external APIs, no AI inference.

How Scoring Works

Each dimension starts at 100 points. Points are deducted for missing elements, poor implementations, and security gaps. The composite score is a weighted average of all 12 dimensions.

Futuristic SEO analytics dashboard visualization with holographic search metrics, ranking data streams, and interconnected keyword nodes
Futuristic SEO analytics dashboard visualization with holographic search metrics, ranking data streams, and interconnected keyword nodes
31 factors evaluated
−20

Title Tag Presence & Length

The <title> element is the single most important on-page SEO signal. Google displays it in SERPs and uses it for ranking. Optimal length is 50–60 characters (Google 2025–2026 recommendation); shorter titles waste ranking potential, longer titles get truncated.

−10

Meta Description Presence & Length

Meta descriptions generate the snippet text in SERPs. A missing or poorly-sized description (optimal: 120–160 chars) leads Google to auto-generate snippets, often yielding lower click-through rates.

−1

Meta Keywords Tag

While no longer a direct ranking factor, Google still parses this tag for topical hints. A well-curated keyword list signals topical focus.

−15

H1 Heading (Count & Content)

Exactly one H1 per page is best practice. Multiple H1s dilute topical focus; a missing H1 removes the primary heading signal. We also check whether the H1 contains your primary keyword (h1ContainsKeyword).

−8

Heading Hierarchy (H2–H6)

We parse the full heading hierarchy (h2Count, h3Count, headingCount) and detect heading gaps — skipping from H2 to H4, for example, breaks semantic structure and confuses crawlers.

−12

Canonical Tag & Consistency

We verify hasCanonical, that canonicalMatchesUrl (self-referencing), detect multipleCanonicals (conflicting signals), and flag canonicalMismatch where the canonical points to a different URL.

−8

Open Graph Tags (Completeness)

We audit all OG tags: og:title, og:description, og:image, og:type, og:url, og:locale. Each missing tag (ogMissing) reduces social sharing effectiveness. We also check ogHasLocale, ogImageIsWebp, ogImageDimensionHint, and whether og duplicates the title/description (duplicateTitleAndOg, duplicateDescAndOg).

−6

Twitter Card Tags

Separate from OG, Twitter cards require twitter:card, twitter:title, twitter:description, twitter:image. We verify twitterCardType (summary_large_image is optimal) and flag twitterMissing tags.

−3

Social Sharing Completeness

We calculate ogSharingCompleteness (0–100) combining OG + Twitter Card coverage. We also detect social share widgets (hasSocialShareButtons, socialShareWidgets) that amplify content distribution.

−12

Image Alt Text Coverage

Every image needs descriptive alt text. We count imagesWithoutAlt and imagesWithEmptyAlt separately — empty alt="" is valid only for decorative images. Missing alt text loses both SEO image ranking and accessibility.

−10

Internal Link Architecture

We measure internalLinks, internalLinkRatio, internalLinkDensityPer1k (links per 1,000 words), and anchorTextDiversity. A ratio below 0.5 or density below 2 per 1k words signals poor internal linking.

−6

External Link Quality

We count externalLinks, externalLinksWithoutRel (missing noopener/noreferrer), and analyze the dofollowExternalLinks vs. nofollowExternalLinks ratio (externalLinkDofollowRatio). Excessive dofollow outbound links dilute PageRank.

−8

Broken & Empty Links

brokenAnchors (href="#" or empty href) and emptyLinks waste crawl budget and create dead-end user experiences. We also detect internalBrokenLinkPatterns for systematic link rot.

−4

URL Length & Structure

URLs over 75 characters are harder to share and may be truncated in SERPs. We measure urlLength and check keywordInUrl for topical relevance.

−8

Keyword Targeting & Density

We identify the primaryKeyword, measure keywordDensityPercent, keywordOccurrences, and detect isKeywordStuffed (>3% density). We also verify h1ContainsKeyword and firstParaContainsKeyword for topical reinforcement.

−10

Content Depth & Word Count

wordCount, paragraphCount, and avgWordsPerParagraph measure content substance. Pages under 300 words are flagged as thinContentSignal. We also check titleH1Overlap — high overlap suggests lazy optimization.

−5

Readability & Writing Quality

fleschReadingEase measures text complexity (60–70 is ideal for web). passiveVoiceRatio above 20% reduces engagement. contentReadabilityHints provide specific improvement suggestions.

−8

E-E-A-T Signals

We count eatSignalCount across: hasAboutPage, hasContactPage, hasTestimonialsPage, hasAuthorBox, hasTrustBadges, hasAuthorInfo, and hasExpertiseSignals. E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) is Google's quality rater framework.

−5

Robots Meta & Directives

hasRobotsMeta and robotsContent must not conflict (metaRobotsConflicts). A noindex in meta with an indexed canonical creates contradictory signals that confuse crawlers.

−3

Favicon & Touch Icons

hasFavicon and hasAppleTouchIcon affect brand recognition in browser tabs, bookmarks, and mobile home screens. Missing favicons look unprofessional in SERPs.

−3

Doctype & Charset

A valid doctype declaration and hasCharset (UTF-8) ensure proper rendering across all browsers and correct character encoding for international content.

−4

Deprecated HTML Tags

deprecatedTags like <font>, <center>, <marquee> signal unmaintained code and may cause rendering inconsistencies across modern browsers.

−5

Meta Refresh Redirect

metaRefresh redirects are discouraged by Google — they prevent proper HTTP status code handling, confuse crawlers, and degrade user experience.

−4

Redirect Chain Length

Each hop in a redirectChainLength wastes crawl budget and adds latency. More than 2 redirects signals poor URL management.

−2

Title–Brand Suffix Duplication

titleBrandSuffixDuplicated detects "| Brand | Brand" patterns where the brand name appears twice in the title, wasting valuable character space.

−1

Cloudflare Email Obfuscation

cfEmailObfuscationDetected with high cfEmailObfuscationCount can interfere with crawlers parsing contact information and may affect E-E-A-T signals.

−4

Zero-Click Optimization

zeroClickOptimized checks for TL;DR blocks (tldrBlockCount), definition lead paragraphs (definitionLeadParagraphs), and hasTableOfContents — content patterns that win featured snippets and AI Overviews.

−4

Entity Salience & Mentions

entitySalienceScore measures how prominently key entities appear. relatedEntityMentions and entityMentions help search engines build topical authority graphs.

−2

Bingeworthy Content Signals

bingeworthySignals detect internal content loops, "related posts" sections, and series navigation that increase session duration and pages per visit.

−3

Enhanced OG Image & Article Dates

ogImageUrl quality, articlePublishedTime, and articleModifiedTime provide temporal signals for content freshness in social shares and news carousels.

−3

Hreflang on Non-Canonical Pages

hreflangOnNonCanonical is a critical error: serving hreflang tags on non-canonical URLs creates conflicting language signals that can cause wrong-language pages in SERPs.

Futuristic website performance metrics dashboard with glowing speedometer gauges, Core Web Vitals indicators, and data flow optimization panels
Futuristic website performance metrics dashboard with glowing speedometer gauges, Core Web Vitals indicators, and data flow optimization panels
17 factors evaluated
−15

LCP Estimate (Largest Contentful Paint)

lcpEstimateMs is our proxy for the largest above-fold element render time. We estimate from hero image size, font preloading, render-blocking resources, and server timing. Google threshold: ≤2.5s good, ≤4s needs improvement.

−10

CLS Estimate (Cumulative Layout Shift)

clsEstimate proxies visual stability from images without width/height attributes (imagesWithWidthHeight), font loading strategy, dynamic content injection, and ad placeholders. Google threshold: ≤0.1 good.

−10

INP Estimate (Interaction to Next Paint)

inpEstimateMs proxies input responsiveness from JavaScript bundle size (totalJsBundleKb), long task script hints (longTaskScriptHints), third-party script count, and main-thread blocking indicators. Google threshold: ≤200ms good.

−5

HTML Document Size

htmlSizeKb over 100KB indicates bloated markup. Excessive inline styles (inlineStyles) and inline scripts (inlineScripts) inflate document size and delay first render.

−8

CSS Bundle Size & Optimization

totalCssBundleKb measures all CSS payload. renderBlockingCssCount identifies files blocking first paint. unusedCssHint detects dead CSS. criticalCssDetected rewards above-fold CSS inlining.

−10

JavaScript Bundle Size & Loading

totalJsBundleKb measures total JS payload. We check asyncScripts, deferScripts vs. renderBlockingScripts ratio. longTaskScriptHints identify scripts likely to cause long tasks (>50ms).

−8

Image Optimization

hasLazyImages, lazyImageCount, eagerAboveFold (should be 1–3), hasSrcset for responsive images, and hasWebpAvif for modern formats. imageFormats breakdown reveals JPEG/PNG legacy vs. WebP/AVIF modern usage.

−6

Font Loading Strategy

hasFontDisplay (font-display: swap/optional) prevents FOIT. fontPreloadMissed detects critical fonts not preloaded. variableFontsUsed rewards modern font technology. fontFileCount over 4 indicates excessive font requests.

−6

Resource Hints (Preconnect/Prefetch/Preload)

hasPreconnect, hasPrefetch, hasPreload, and totalResourceHints measure proactive resource loading. preconnectDomains and preloadTypes (font, script, style) show implementation depth. preloadFontCount validates font preloading.

−5

Async/Defer Script Optimization

renderBlockingScripts (neither async nor defer) delay parsing. The ratio of asyncScripts + deferScripts to total scripts indicates optimization maturity.

−6

Third-Party Script Impact

thirdPartyScriptCount and thirdPartyDomains measure external dependency load. Each third-party domain adds DNS lookup, connection, and TLS handshake overhead.

−5

CDN & Compression

cdnDetected and cdnProvider indicate edge caching. compressionType (br > gzip > none) directly affects transfer size. Brotli compression reduces payloads 15–20% more than gzip.

−6

Server Response Time (TTFB)

ttfbMs measures time to first byte. Under 200ms is excellent; over 600ms indicates server-side bottlenecks. httpVersion (HTTP/2 or HTTP/3 enables multiplexing).

−2

Server Timing Headers

serverTimingHeaders expose backend performance metrics (db, cache, render times) for debugging. Their presence signals performance-aware engineering.

−3

Framework Detection & SPA Analysis

isModernFramework, spaDetected, and jsFrameworkDetected identify React, Next.js, Vue, Angular, etc. SPAs require special SSR/SSG consideration for SEO and initial load performance.

−4

Analytics Setup Quality

We validate hasGA4Snippet, hasGTMContainer, ga4MeasurementId, hasEventTracking, and compute analyticsSetupQuality. Dual GA4+GTM setup without event tracking wastes data collection potential.

−4

Image Width/Height Attributes

imagesWithWidthHeight prevents CLS. Images without explicit dimensions cause layout shifts when they load, directly impacting Core Web Vitals CLS score.

Futuristic cybersecurity shield visualization with hexagonal encryption panels, lock icons, and holographic firewall defense system
Futuristic cybersecurity shield visualization with hexagonal encryption panels, lock icons, and holographic firewall defense system
18 factors evaluated
−25

HTTPS Encryption

isHttps verifies TLS encryption. Without HTTPS, browsers display "Not Secure" warnings, forms transmit data in plaintext, and Google applies a ranking penalty.

−10

Mixed Content

hasMixedContent detects HTTP resources loaded on HTTPS pages. Browsers may block these resources, breaking functionality and displaying security warnings.

−13

HSTS (Strict-Transport-Security)

HSTS forces HTTPS-only connections. We check hstsMaxAge (≥ 31536000 recommended) and hstsPreload (inclusion in browser preload lists for zero-trust-on-first-use protection).

−10

Content-Security-Policy (CSP)

CSP is the primary defense against XSS attacks. A missing CSP leaves your site vulnerable to injected scripts that can steal cookies, credentials, and user data.

−6

CSP Strictness Score

cspStrictnessScore (0–100) evaluates directive count, cspUsesNonce vs. cspUnsafeInlineCount, frame-ancestors restrictions, and default-src fallbacks. Nonce-based CSP is significantly stronger than unsafe-inline.

−7

Permissions-Policy Depth

permissionsPolicyFeatures and permissionsPolicyDepth measure how many browser APIs (camera, microphone, geolocation, payment) are explicitly restricted. Without this header, any embedded iframe can access sensitive device features.

−5

X-Content-Type-Options

The nosniff directive in headers prevents MIME-type sniffing attacks where browsers misinterpret file types, potentially executing malicious content.

−5

X-Frame-Options

Prevents clickjacking by controlling iframe embedding. DENY or SAMEORIGIN values stop malicious sites from framing your pages.

−5

Referrer-Policy

Controls how much URL information leaks via the Referer header. strict-origin-when-cross-origin balances analytics needs with privacy.

−8

Cross-Origin Policies (COOP/CORP/COEP)

hasCorsHeaders and cross-origin isolation headers protect against Spectre side-channel attacks by isolating your page's browsing context from cross-origin resources.

−8

Outdated Library Detection

jqueryVersion and outdatedLibraryHints detect libraries with known CVEs: jQuery <3.5 (XSS), Angular <1.8 (sandbox escapes), Bootstrap <5 (XSS via data attributes).

−8

Cookie Security

cookieSecurityIssues identifies cookies without Secure (sent over HTTP), HttpOnly (accessible to JavaScript), and SameSite (vulnerable to CSRF) attributes.

−8

Insecure Form Actions

formActionsInsecure counts forms submitting to HTTP endpoints, transmitting user data in plaintext — a PCI-DSS and GDPR violation.

−3

Subresource Integrity (SRI)

hasSubresourceIntegrity and sriCount verify that external scripts include integrity hashes, preventing supply-chain attacks where CDN-hosted scripts are modified.

−5

External Link Security

externalLinksWithoutRel counts links with target="_blank" but missing rel="noopener noreferrer", enabling reverse tabnabbing attacks.

−6

Privacy Policy & Cookie Consent

hasPrivacyPolicy and hasCookieConsent are GDPR/CCPA legal requirements. Non-compliance can result in fines up to 4% of annual global revenue.

−2

Rate Limiting

hasRateLimitHeaders (X-RateLimit-*, Retry-After) indicate protection against brute-force attacks, credential stuffing, and API abuse.

−6

Server/Technology Exposure

headers like Server, X-Powered-By, and X-AspNet-Version expose your technology stack, giving attackers a targeted roadmap of known vulnerabilities.

Futuristic artificial intelligence neural network with glowing synapses, connected document nodes, and schema markup visualization
Futuristic artificial intelligence neural network with glowing synapses, connected document nodes, and schema markup visualization
20 factors evaluated
−15

Structured Data for AI

hasSchemaOrg and schemaTypes provide machine-readable context. Without structured data, AI must infer meaning from unstructured HTML — a lossy process that reduces citation accuracy.

−20

AI Crawler Governance (robots.txt)

We check 12+ AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Amazonbot, Bytespider, etc.) across both meta tags (aiCrawlerBlocked) and robots.txt (robotsTxtAiCrawlerRules). additionalAiCrawlersAllowed and additionalAiCrawlersBlocked provide granular per-crawler governance.

−5

Robots.txt Deep Analysis

robotsTxtExists is foundational. We parse robotsTxtSitemapRefs (sitemap declarations), robotsTxtBlocksAssets (CSS/JS blocking hurts rendering), and robotsTxtBlocksAll (Disallow: / blocks everything).

−8

llms.txt File Existence

llmsTxtExists checks for /llms.txt — the emerging standard (proposed by Jeremy Howard) that tells language models how to access and interpret your content. Absence is now a significant penalty as adoption accelerates in 2026.

−3

llms-full.txt Companion File

llmsFullTxtExists checks for /llms-full.txt, the extended version containing comprehensive content for deep AI ingestion. Together, llmsTxtByteSize and llmsFullTxtByteSize indicate content depth.

−5

llms.txt Structure & Sections

llmsTxtSectionCount measures document organization. llmsTxtHasStructuredSections and llmsTxtHasMarkdownFormatting indicate proper Markdown structure that AI parsers can reliably extract.

−4

llms.txt Metadata Quality

llmsTxtHasTitle, llmsTxtHasDescription, llmsTxtHasVersionOrDate, and llmsTxtHasCanonicalDomain provide essential metadata that helps AI models understand your organization and content currency.

−4

llms.txt URL Inventory

llmsTxtHasUrlList and llmsTxtUrlCount indicate how many pages you've indexed for AI consumption. llmsTxtBrokenUrlPatterns detects URLs in llms.txt that appear malformed or incomplete.

−3

llms.txt Service & API Documentation

llmsTxtHasServiceList and llmsTxtHasApiDocs signal that you've documented your offerings in a format AI agents can parse for tool-use and function-calling scenarios.

−3

llms.txt Legal & Citation Framework

llmsTxtHasLicenseOrTerms, llmsTxtHasPreferredCitation, and llmsTxtHasContentGuidelines establish how AI models should attribute and use your content — critical for responsible AI adoption.

−2

llms.txt Contact & Discovery

llmsTxtHasContactInfo provides a feedback channel for AI developers. llmsTxtHasLinkToFull connects the summary to the full version. llmsTxtLinkedFromHtml and llmsTxtLinkedFromRobotsTxt measure discoverability.

−5

llms.txt Overall Quality Score

llmsTxtOverallScore (0–100) is our composite assessment. llmsTxtIssues and llmsTxtRecommendations provide actionable feedback for improving your llms.txt implementation.

−5

RAG-Friendliness Score

ragFriendlinessScore (0–100) measures how well content can be chunked for vector embedding. headingsWithIds and sectionAnchorsCount enable precise chunk targeting in Retrieval-Augmented Generation pipelines.

−3

Content Provenance Signals

hasProvenanceSignals detects attributions like "according to [source]" and "our research found" that make claims verifiable and citation-worthy for AI systems.

−12

Semantic HTML Elements

semanticElementCount vs. nonSemanticDivCount ratio reveals structural clarity. semanticElements (article, section, aside, figure, main, nav) provide meaning AI can parse without heuristics.

−8

FAQ/Q&A Content Patterns

faqCount, hasQAPattern, and definitionLists detect question-answer content — the most extractable format for AI citation and knowledge graph population.

−5

Freshness Signals

dateModified, datePublished, hasFreshnessSignals, and contentFreshnessSignal ("fresh"/"aging"/"stale") measure how current your content appears to AI models.

−5

Social Links & Entity Signals

hasSocialLinks and socialPlatforms help AI confirm your brand's entity identity in the Knowledge Graph, improving entity disambiguation accuracy.

−5

HTML-to-Text Ratio

htmlToTextRatio below 10% indicates markup-heavy, content-light pages. A 20–70% ratio indicates content-rich pages that AI models can meaningfully process.

−5

JS Content Dependency

jsContentRatio measures how much content requires JavaScript to render. AI crawlers generally do not execute JS, so high ratios mean AI sees an empty page.

12 factors evaluated
−15

Content Depth (Word Count)

wordCount under 300 triggers thinContentSignal. Pages over 1,500 words are 3× more likely to appear in AI-generated responses due to topical comprehensiveness.

−10

Structured Q&A Content

faqCount and hasQAPattern detect question-answer formatting — the highest-value content pattern for AI citation, directly matching user query intent.

−8

Entity Markup Strength

entityMentions and strong/em/mark tags highlight key entities. entitySalienceScore measures how prominently entities appear, helping AI extract knowledge triples.

−8

E-E-A-T Schema Signals

hasPersonSchema, hasArticleSchema, hasReviewSchema, and hasServiceSchema provide machine-readable E-E-A-T signals that AI models use to assess content authority.

−8

CTA Elements & Above-Fold CTA

clearCtaCount and hasAboveFoldCta measure conversion optimization. formUsabilityScore evaluates form UX. Three or more CTAs with action-oriented text indicate a mature conversion funnel.

−7

Trust Signals & Social Proof

hasTrustSignals, trustSignalTypes, hasSocialProof, and hasTrustBadges evaluate conversion confidence signals — testimonials, trust badges, client logos, and review counts.

−5

Citation Readiness

citationCount (5+ external citations), quoteCount (blockquote elements), and originalDataSignals demonstrate research depth that AI models prefer to cite.

−4

Statistics/Data Point Density

statisticCount measures concrete numbers and percentages in content. Data-rich content reads as authoritative analysis rather than opinion, increasing AI citation probability.

−6

Author/Expertise Signals

hasAuthorInfo, hasExpertiseSignals, and hasAuthorBox provide visible accountability. uniqueInsightPatterns detect phrases like "our research found" signaling first-hand expertise.

−4

Urgency & Value Proposition

hasUrgencyElements (limited-time offers, countdown timers) and hasValueProposition (clear benefit statements) are conversion accelerators that indicate commercial intent optimization.

−3

Speakable Schema

hasSpeakableSchema tells voice assistants which page sections are suitable for text-to-speech, optimizing for the growing voice search channel.

−3

Value Proposition in Headings

H1 should clearly communicate what you offer, for whom, and why it matters. We check for benefit-oriented language patterns in heading text.

Futuristic inclusive digital accessibility interface showing universal accessibility symbols as glowing holographic icons connected by light beams
Futuristic inclusive digital accessibility interface showing universal accessibility symbols as glowing holographic icons connected by light beams
15 factors evaluated
−10

Language Declaration (lang)

hasLangAttr and htmlLang are parsed by screen readers to select the correct speech synthesis voice. Without lang, every word may be mispronounced. hasLangOnParts detects partial language declarations for multilingual content.

−8

Skip Navigation Link

hasSkipNav allows keyboard-only users to bypass navigation menus (often 20+ links) and jump directly to main content.

−12

Semantic Landmarks

hasMainLandmark, hasNavLandmark, and hasFooterLandmark enable screen reader users to navigate by page regions using shortcut keys.

−15

Image Alt Text

imagesWithoutAlt renders images invisible to screen readers. imagesWithEmptyAlt (alt="") is valid only for decorative images — informative images require descriptive text.

−8

Form Labels & Usability

formsWithoutLabels vs. formsWithLabels ratio determines form accessibility. formErrorIdentification checks that error messages are associated with their respective fields.

−8

Focus Styles

hasFocusStyles verifies visible focus indicators — the only way keyboard users can track their position on the page. Custom :focus-visible styles are preferred over browser defaults.

−5

ARIA Implementation

hasAria, ariaCount, and ariaRoles provide accessibility metadata for custom interactive elements. ariaHiddenOnFocusable detects the critical error of hiding focusable elements from screen readers.

−8

Button Labels

emptyButtonCount counts buttons without text content or aria-label. These are announced as just "button" with no context, making navigation impossible.

−5

Color Contrast

contrastIssueCount and colorContrastHints detect WCAG 1.4.3 violations. 4.5:1 contrast ratio is required for normal text, 3:1 for large text (18px+).

−8

Video Captions

videosWithoutCaptions excludes 466 million people worldwide with hearing loss and misses indexable text content for SEO.

−5

CAPTCHA Accessibility

hasCaptcha without captchaHasAlternative (audio or logic-based) completely blocks blind users from completing forms.

−6

Duplicate IDs

duplicateIds break ARIA references (aria-labelledby, aria-describedby) and form label associations, causing assistive technology failures.

−6

HTML Validity / Nesting Errors

htmlNestingErrors (e.g., <p> inside <p>, interactive elements inside <a>) cause assistive technology parsing failures and unpredictable behavior.

−5

Tables & Iframes

tablesWithoutHeaders (missing <th>) make data tables unnavigable by screen readers. tablesWithCaption rewards properly described tables. iframesWithTitle vs. iframeCount measures embedded content accessibility.

−4

Tab Index Management

tabindexCount and negativeTabindex audit keyboard navigation order. Negative tabindex removes elements from tab order; excessive positive values create confusing navigation sequences.

Futuristic holographic globe with AI search engines orbiting, data streams flowing between continents for Generative Engine Optimization
Futuristic holographic globe with AI search engines orbiting, data streams flowing between continents for Generative Engine Optimization
11 factors evaluated
−10

Question-Answer Patterns

hasQAPattern and question-based H2/H3 headings with concise answers are the #1 content pattern cited in AI Overviews and Perplexity responses.

−8

Data/Comparison Tables

tableCount measures structured tabular data. Generative AI frequently cites tables for comparison queries ("X vs Y") because they provide pre-structured, extractable information.

−10

Content Depth (>1000 words)

wordCount over 1,000 with uniqueInsightPatterns makes pages 5× more likely to be cited by generative engines. thinContentSignal triggers at <300 words.

−5

List-Based Content

listCount and orderedListCount detect the second most-extracted content format by generative engines after tables. Numbered steps and bullet points are AI's preferred citation structure.

−18

Hreflang (with Self-Ref & x-default)

hasHreflang, hreflangValues, hreflangMissingSelfRef, and hreflangMissingXDefault are critical for international SEO. Missing self-referencing tags or x-default causes wrong-language content in localized AI results.

−4

Statistics/Data Density

statisticCount measures specific numbers and percentages. Pages with concrete data points are treated as more authoritative by generative engines than opinion-based content.

−3

Original Research Signals

originalDataSignals detect charts, figures, and data tables suggesting first-party research that generative AI models cite preferentially over derivative content.

−5

Content Freshness

contentFreshnessSignal ("fresh"/"aging"/"stale") based on dateModified and datePublished. Content over 1 year old is progressively deprioritized by generative engines.

−3

Unique Insight Patterns

uniqueInsightPatterns count phrases like "our research found," "we discovered," "based on our analysis" that signal first-hand expertise generative engines recognize.

−5

RTL & i18n Support

hasRtlSupport (direction: rtl for Arabic/Hebrew), hasCurrencyFormatting, and i18nSignalCount measure internationalization depth beyond basic hreflang tags.

−4

FAQ Count

faqCount directly measures the volume of question-answer pairs available for AI extraction. 5+ FAQs significantly increase citation probability.

Futuristic smartphone floating in space with holographic progressive web app interface expanding outward and responsive design grids
Futuristic smartphone floating in space with holographic progressive web app interface expanding outward and responsive design grids
15 factors evaluated
−25

Viewport Meta Tag

hasViewport is the most critical mobile signal. Without viewport meta, mobile browsers render at desktop width (typically 980px), making text unreadably small and buttons untappable.

−8

Viewport Zoom Restriction

viewportDisablesZoom (maximum-scale=1, user-scalable=no) prevents users from zooming, violating WCAG 1.4.4. Google penalizes zoom-restricted viewports in mobile-first indexing.

−8

Touch Target Size

smallTouchTargets counts interactive elements smaller than 44×44px (Apple HIG) / 48×48px (Material Design). Undersized targets cause accidental clicks and "fat finger" frustration.

−8

Fixed-Width Elements

hasFixedWidthElements detects elements with fixed pixel widths over 800px that cause horizontal scrolling on mobile — a severe usability failure.

−8

Web App Manifest

hasManifest enables PWA features: add-to-homescreen, custom theme colors, splash screens, and app-like display modes.

−3

PWA Install Readiness

installPromptReady requires manifest + service worker + HTTPS for the browser's PWA install prompt to appear.

−3

Manifest Icon Coverage

manifestIconsCount < 4 means distorted or missing icons across devices. Apple, Android, and Windows each need different icon sizes.

−5

Service Worker

hasServiceWorker enables offline capability, background sync, push notifications, and aggressive caching strategies for near-instant return visits.

−8

Responsive Images (srcset)

hasSrcset prevents mobile devices from downloading full-resolution desktop images, wasting 40–70% bandwidth on unnecessary pixels.

−5

Popup/Interstitial Detection

hasPopupOrModal triggers Google's intrusive interstitial penalty when popups cover more than 50% of mobile viewport content.

−2

Touch Feedback

touchFeedbackDetected (CSS :active states, tap-highlight) provides visual confirmation that a user's tap registered, reducing perceived latency.

−2

Safe Area Insets

hasSafeAreaInsets (env(safe-area-inset-*)) ensures content avoids notches, rounded corners, and home indicators on modern smartphones.

−2

Orientation Handling

hasOrientationHandling detects CSS @media (orientation: landscape) or orientation-lock meta tags for proper landscape/portrait adaptation.

−1

Hamburger Menu Detection

hasHamburgerMenu confirms mobile navigation pattern implementation, though we don't penalize for alternative patterns like tab bars.

−5

Page Weight (Sustainability)

estimatedPageWeightKb and sustainabilityScore evaluate total transfer size. Pages over 3MB are heavy for mobile data; under 1MB is lightweight. Lower page weight also reduces carbon footprint.

Futuristic voice assistant and answer engine interface with sound waves, featured snippet cards, and question symbols in dark space
Futuristic voice assistant and answer engine interface with sound waves, featured snippet cards, and question symbols in dark space
11 factors evaluated
−15

FAQPage Schema

hasFAQSchema is the most direct path to expandable FAQ rich results in Google. Combined with faqCount, we measure both schema implementation and content availability.

−10

Featured Snippet Readiness

Position-zero snippets capture ~35% of all clicks. conciseAnswerBlocks (40–60 word paragraphs after question headings) are the required format for snippet extraction.

−8

Speakable Schema

hasSpeakableSchema identifies which content sections voice assistants (Google Assistant, Alexa, Siri) should read aloud in response to voice queries.

−5

HowTo Schema & Patterns

hasHowToSchema enables rich step-by-step results. hasHowToPattern detects instructional content structure even without formal schema markup.

−4

Concise Answer Blocks

conciseAnswerBlocks count paragraphs between 10–50 words that directly answer questions — the exact format targeted by Google's snippet extraction algorithm.

−4

Direct Answer Patterns

directAnswerPatterns detect definitional statements ("X is defined as…", "X refers to…") that are the #1 pattern extracted for knowledge panel answers.

−5

Breadcrumb Navigation & Schema

hasBreadcrumbSchema and hasBreadcrumbNav enable breadcrumb rich results showing site hierarchy in SERPs, improving click-through rates by 20–30%.

−3

Voice-Ready Content Length

voiceReadyContentLength checks that paragraphs are under 30 words — the optimal length for voice assistant readback without losing listener attention.

−3

Video Content & Schema

hasVideoObject schema enables video rich results that appear in ~25% of featured snippet positions, capturing visual-first searchers.

−2

Definition Lists

definitionLists (<dl>/<dt>/<dd>) are semantic HTML elements specifically designed for term-definition pairs that answer engines can extract.

−4

Q&A Pattern Coverage

hasQAPattern combined with faqCount measures the breadth of question-answer content. 5+ Q&A pairs significantly increase chances of appearing in People Also Ask boxes.

Futuristic structured data visualization showing JSON-LD code blocks as 3D holographic cards with schema type connections as glowing lines
Futuristic structured data visualization showing JSON-LD code blocks as 3D holographic cards with schema type connections as glowing lines
12 factors evaluated
−30

Schema Presence

Zero hasSchemaOrg is the single largest penalty. Without any structured data, search engines and AI have no machine-readable understanding of your content type, author, or organization.

−8

Tier 1 Schema Types

missingHighImpactSchemas identifies absent Tier 1 types: Organization, WebSite, Article, Product, FAQPage, BreadcrumbList, LocalBusiness. schemaTier maps each detected type to its impact tier.

−3

Tier 2 Schema Types

hasPersonSchema, hasHowToSchema, hasServiceSchema, hasEventSchema, hasReviewSchema extend rich result eligibility beyond core types.

−8

Property Completeness

schemaPropertyCompleteness scores each schema type's property coverage (0–100%). An Organization with only a name is far less useful than one with address, phone, logo, sameAs, and foundingDate.

−3

JSON-LD Format

jsonLdOnly is preferred by Google. hasMicrodataOrRdfa is legacy — JSON-LD is easier to maintain, doesn't interfere with HTML structure, and supports server-side rendering.

−8

Schema Validity

schemaValidityHints detect JSON-LD parse errors, missing required fields, and type mismatches. Invalid schema is silently ignored by search engines. hasDeprecatedSchemaProperties flags obsolete properties.

−4

sameAs Entity Linking

hasSameAs and sameAsLinks count connections to Wikipedia, Wikidata, LinkedIn, and social profiles that help search engines disambiguate your brand entity in the Knowledge Graph.

−2

SearchAction Schema

hasSearchAction enables the sitelinks search box in Google — a search field directly in your branded SERP listing, increasing engagement.

−2

Action Schemas (Buy/Subscribe)

hasBuyAction and hasSubscribeAction signal conversion intent, potentially enabling direct purchase/subscribe rich results in AI-powered commerce.

−5

Rich Results Eligibility

richResultsEligible and additionalRichResults enumerate which rich results your schema qualifies for: FAQ dropdowns, star ratings, how-to steps, product cards, event listings.

−2

Nested Schema Depth

nestedSchemaDepth and schemaDepth measure nesting sophistication. Deeper nesting (author within Article, offers within Product, review within LocalBusiness) enables richer Knowledge Graph connections.

−3

Schema Type Count & Diversity

schemaCount and schemaTypes diversity measure implementation breadth. More distinct, valid types provide richer machine-readable context.

Futuristic local map interface with holographic building pins, star ratings floating above locations, and location data streams
Futuristic local map interface with holographic building pins, star ratings floating above locations, and location data streams
11 factors evaluated
−15

NAP (Name, Address, Phone)

hasNAP and napDetails consistency is the #1 local ranking factor. NAP must match your Google Business Profile exactly across all web presences.

−15

LocalBusiness Schema

hasLocalBusinessSchema and localBusinessTypes provide Google with structured business data: name, address, phone, hours, geo coordinates, price range, and payment methods.

−8

Phone Number

phoneNumbers with clickable tel: links are essential for mobile users and signal local business legitimacy. Multiple numbers may indicate multi-location businesses.

−5

Google Maps Embed

hasGoogleMapsEmbed provides visual location confirmation and helps Google associate your site with a specific geographic point for local pack ranking.

−5

Address Microdata

hasAddressMicrodata (PostalAddress schema) makes your address machine-readable for accurate parsing by search engines and mapping services.

−5

Geo Meta Tags

hasGeoMeta (geo.region, geo.placename, geo.position) meta tags explicitly declare your geographic targeting for regional search results.

−5

Opening Hours

hasOpeningHours is a top local ranking factor. Business hours appear prominently in local pack results and Google Knowledge Panels.

−5

Review/Rating Schema

reviewCountFromSchema and averageRating display star ratings in SERPs. Reviews are the #2 local ranking factor after NAP consistency.

−3

Service Area Schema

hasServiceAreaSchema defines your service radius beyond your physical address, critical for service-area businesses (plumbers, electricians, delivery).

−2

Multiple Locations

hasMultipleLocations detects multi-location business patterns that may need separate location pages for optimal local pack coverage.

−2

Email & Contact Methods

emailAddresses and additional contact methods (contact forms, chat widgets) provide alternative communication channels that improve local engagement signals.

15 factors evaluated
−10

Reduced Motion Support

hasReducedMotion checks for @media (prefers-reduced-motion). reducedMotionEnforced verifies that animations are actually disabled, not just detected. Users with vestibular disorders experience nausea from animations (WCAG 2.3.3).

−8

High Contrast Mode

hasHighContrastMode checks for @media (forced-colors) / @media (-ms-high-contrast) support. Users with low vision depend on forced-colors mode to make content readable.

−8

Link Distinguishability

linkDistinguishable verifies links are identifiable by more than just color (WCAG 1.4.1). Underline, font-weight, or border-bottom must supplement color changes.

−8

Text Resize (rem/em)

hasTextResize checks for relative font units. Pixel font sizes don't scale when users increase browser zoom to 200% (WCAG 1.4.4 requirement).

−5

Focus Not Obscured (WCAG 2.4.11)

focusNotObscured is a WCAG 2.2 criterion. Sticky headers, floating CTAs, and cookie banners can cover the focus indicator, making keyboard navigation impossible.

−5

Accessible Authentication (WCAG 3.3.8)

accessibleAuth checks that login forms support autocomplete attributes and password managers. Authentication must not demand cognitive function tests (WCAG 2.2).

−5

Dragging Alternatives (WCAG 2.5.7)

draggingAlternative verifies that drag-and-drop interactions have click/tap alternatives. Users with motor impairments cannot perform dragging motions (WCAG 2.2).

−3

ARIA Live Regions

ariaLiveRegionCount measures dynamic content announcements. Toast notifications, form validation messages, and chat updates are invisible to screen readers without aria-live="polite" or "assertive".

−15

Color Contrast Issues

contrastIssueCount from colorContrastHints measures WCAG 1.4.3 violations. Poor contrast affects 300 million color-blind users and 2.2 billion people with vision impairment worldwide.

−5

Cognitive Load Score

cognitiveLoadScore evaluates auto-playing carousels, excessive animations, information density, and simultaneous dynamic updates that increase cognitive burden for users with ADHD, autism, and cognitive disabilities.

−4

Heading Level Skips

headingLevelSkips (e.g., H2 → H4 skipping H3) breaks screen reader navigation and content hierarchy understanding.

−8

ARIA Role Validity

ariaRoleValidity audits all ARIA roles for correctness. Invalid roles (role="modal" instead of role="dialog") are ignored by assistive technology, breaking custom widget accessibility.

−10

Autoplay Media

autoplayMedia violates WCAG 1.4.2. Auto-playing audio/video is disorienting for cognitive disabilities and interrupts screen reader output. timeBasedMedia counts all time-based media elements.

−3

Timing Adjustable

timingAdjustable verifies that session timeouts and auto-advancing content can be extended or paused (WCAG 2.2.1). Users with motor or cognitive disabilities need more time.

−3

Form Error Identification

formErrorIdentification and hasErrorSuggestions check that form validation errors are clearly described and associated with the correct field (WCAG 3.3.1, 3.3.3).

Futuristic mathematical algorithm visualization showing the composite scoring formula with glowing equations, weight percentages as floating orbs, and letter grade scale

Composite Scoring Algorithm

Each dimension starts at 100, loses points for each failing factor, and clamps to [0, 100]. The composite score is a weighted average reflecting 2026 priorities.

// Each dimension: start at 100, subtract per-factor deductions, clamp to [0, 100]
dimensionScore = clamp(100 - sumOfDeductions, 0, 100)
// Composite Score — weighted average (weights sum to 1.00)
compositeScore = round(
SEO × 0.15 +
Performance × 0.14 +
Security × 0.10 +
AI_Readiness × 0.10 +
AIO × 0.09 +
Accessibility × 0.08 +
GEO × 0.08 +
Mobile × 0.08 +
AEO × 0.06 +
Schema.org × 0.06 +
Local_SEO × 0.04 +
WCAG × 0.02
)
// Final composite clamped to [0, 100]
finalScore = clamp(compositeScore, 0, 100)

Letter Grade Scale

A+
97–100
A
93–96
A−
90–92
B+
87–89
B
83–86
B−
80–82
C+
77–79
C
73–76
C−
70–72
D+
67–69
D
63–66
D−
60–62
F
0–59

Impact / Effort Ratings

Every recommendation in the audit report includes an Impact/Effort rating to help you prioritize fixes:

Impact: High
Fixing this will produce a large, measurable improvement in score, rankings, or user experience
Impact: Medium
Noticeable improvement; recommended but not urgent
Impact: Low
Minor improvement; address when convenient
Effort: High
Requires significant development time, architecture changes, or specialist skills
Effort: Medium
A few hours of work for a competent developer
Effort: Low
Quick fix — often a single line of HTML or a config change

Best Strategy: Start with High Impact / Low Effort fixes first (title tags, meta descriptions, missing headers). These deliver the biggest score improvements for the least work.

Methodology Note

All scores are computed deterministically from HTML source code, HTTP response headers, and robots.txt content. No external APIs, no AI inference, and no Lighthouse simulations are used. Core Web Vitals metrics (LCP, CLS, INP) are proxy estimates based on HTML structure analysis — for lab measurements, use Google PageSpeed Insights or Chrome DevTools.

© 2026 Digital Marketing Co. · DigitalMarketingCo.org · Scoring Guide v3.9.1

oDejar Mensaje de Voz