Methodology

How we score your site.

Full transparency. Every check, every weight, every data source — public. If you don't trust how a score is calculated, the score doesn't matter.

The headline 0-100 score

We run 70+ checks across 6 categories. Each check produces a 0-100 sub-score and is multiplied by a category weight. The final number is the weighted average rounded to the nearest integer.

score = Σ (check_score × category_weight) / Σ category_weight

When a check can't run (e.g., PSI rate-limited, or robots.txt not reachable), its weight drops out of the denominator entirely — we never penalise the score for our own inability to measure.

The 6 categories

Weights reflect importance for organic search in 2026. Mobile-first because India (and the world) is mobile-first.

Technical

weight 3,650 · 28% · 21 checks

robots.txt, sitemap.xml, canonical tags, HTTPS, mixed content, redirects, language declarations. The plumbing that makes Google's crawler trust your site at the protocol layer.

Data sources
  • Our HTML parser (cheerio)
  • robots.txt + sitemap.xml HTTP probes

On-page

weight 4,200 · 33% · 23 checks

Title tag length + uniqueness, meta description, H1/H2 hierarchy, image alt text, internal links, word count, keyword density. The content-quality signals Google uses to match queries.

Data sources
  • Our HTML parser
  • Lighthouse rendered-DOM (reconciles JS-rendered sites)

Schema

weight 1,000 · 8% · 6 checks

JSON-LD presence, Open Graph + Twitter Cards, structured-data type coverage. Powers rich results in Google + better link previews on WhatsApp / LinkedIn / X.

Data sources
  • Our HTML parser
  • og:image HEAD probe (SSRF-protected)

Mobile / India

weight 1,500 · 12% · 5 checks

Mobile viewport meta tag, tap target sizing, mobile-friendly font sizes, hreflang declarations for en-IN, Indian phone-number format detection. Mobile-first because India is mobile-first.

Data sources
  • Our HTML parser
  • Lighthouse Mobile category (when PSI returns)

AEO (AI Search)

weight 1,950 · 15% · 6 checks

llms.txt presence, AI crawler accessibility (GPTBot, ClaudeBot, PerplexityBot, Google-Extended), JS-rendered content detection, AI-friendly schema (FAQPage, HowTo, Article), E-E-A-T signals. Most tools ignore this entirely.

Data sources
  • llms.txt HTTP probe
  • robots.txt for AI bots
  • Our HTML parser

Performance

weight 140 (target 1,800) · 4% · 17 checks

Real Core Web Vitals (LCP, INP, CLS, FCP, TTFB) from CrUX field data when available, Lighthouse lab data as fallback. Lighthouse Performance / SEO / Accessibility / Best-Practices scores. PSI is the slowest leg — runs in background after static checks.

Data sources
  • Google PageSpeed Insights API
  • Chrome UX Report (CrUX) field data
  • Lighthouse synthetic lab data (fallback)

Why mobile-first

We score the mobile view at 60% weight and desktop at 40% for PSI-derived metrics. Google indexes the mobile version of your site first as of 2018, and Indian internet traffic is ~78% mobile per Statcounter 2025. A site that scores 90 on desktop but 50 on mobile is failing for the majority of its users — our scoring punishes that imbalance.

Other tools (Lighthouse desktop reports, generic SEO checkers) often default to desktop. The result: false confidence.

What we deliberately don't do

  • We don't inflate the score to make you happy. Other free tools routinely award 85+ to sites that fail half the checks because their business depends on giving you good-feeling numbers. Our scoring is honest — if your H1 is missing, that costs real points.
  • We don't hide low-confidence data behind a paywall. Every check explains what it measured and how. If we can't measure something, we say so out loud, in the report.
  • We don't fake AI scoring.AEO scoring comes from real, observable signals (llms.txt, robots.txt rules for GPTBot et al, schema types known to be cited by AI engines) — not a heuristic dressed up with the word "AI".
  • We don't track you.No third-party analytics beyond Vercel's privacy-respecting page-view counter. No cookies for advertising. No selling your audit data.

Honest limits

Things this tool doesn't check (yet) — see the full list →

Run a real audit on your site

Every check we describe above runs on any URL you give it, in about 8 seconds. Then the slower Core Web Vitals data lands ~30 seconds later.

Run free audit