Plain talk: 5 weighted axes, 28 concrete criteria, open data sources. If you can't reproduce the math, we failed to make it transparent.
Overview
Your overall score is a weighted average out of 100. GEO and Technical weigh the most (25% each) because they're the most structural signals — without them, neither Google nor AI engines cite you.
Technical
25 %
Content
20 %
GEO / AI visibility
25 %
Performance
20 %
Trust
10 %
If an axis isn't measured (e.g. Performance when PageSpeed is unavailable), it's excluded from the calculation. The average is rebalanced over the remaining axes — no fake 50/100 penalty.
Technical — 25 %
The indexing foundation: if Google can't crawl cleanly, nothing else matters.
HTTPS on the primary domain (impact 90/100)
Mobile viewport meta present (impact 80/100)
Canonical URL declared (impact 55/100)
robots.txt reachable (impact 50/100)
sitemap.xml reachable and well-formed (impact 60/100)
Hreflang for multilingual sites (partial credit otherwise)
Image alt-text coverage (impact 45/100 if <50%)
Content — 20 %
What Google reads in the SERP. Title + meta description + semantic hierarchy + useful density.
Title present, SERP-safe length 30-70 chars (impact 95/100 if missing)
Meta description present, 70-170 chars (impact 85/100 if missing)
Exactly one H1 per page (impact 80/100 if none, 55 if multiple)
At least 2 H2 for hierarchy (impact 40/100 if zero)
Word count ≥ 300 — except on contact / tool / legal pages (short by design, excluded from scoring)
GEO / AI visibility — 25 %
The SeAudit differentiator: the signals ChatGPT, Perplexity, Claude and AI Overviews consume to decide who to cite.
JSON-LD present (impact 90/100 if none)
Organization schema (impact 65/100 if missing)
FAQPage schema with filled acceptedAnswer (impact 70/100 if missing)
Q&A format in content (questions handled as sections)
Structured lists (citability signal)
llms.txt file at root (impact 35/100 if missing)
Article schema conditional (only on pageType=blog_post)
E-E-A-T signals: declared author + publication date (impact 50/100 if missing)
Performance — 20 %
Lighthouse mobile score via PageSpeed Insights v5 — a slow site loses both rankings and AI citations.
Lighthouse mobile performance score (impact 85/100 if <50, 50 if <75)
Largest Contentful Paint (impact 70/100 if >4s)
Cumulative Layout Shift, First Contentful Paint, INP reported
If PageSpeed couldn't respond (rate limit, downtime), the axis is marked "not measured" — no fake 50/100 penalty
Trust — 10 %
On-page authority signals that engines combine with your external backlink profile (not measured here).
Author declared (Person + sameAs to profiles)
Publication / modification date visible
Full Organization (logo, sameAs, founder)
Open Graph (og:title + og:image) for social sharing
What we don't measure (and why)
External backlinks — requires a paid third-party API (Ahrefs / Semrush) to be reliable. We leave that measurement to those tools and focus on on-page authority (E-E-A-T, schemas) which is in your hands.
Actual visibility in LLMs — querying ChatGPT / Perplexity 50 times per audit costs too much to stay free. We assess citability from on-page signals (FAQ schema, llms.txt, E-E-A-T), not a live measurement.
Actual organic traffic — that lives in your Google Search Console, not on the rendered page. The score reflects structural potential, not historical traction.
Application security — not our trade. HTTPS is checked because it affects ranking, the rest belongs to a dedicated security audit.
The "not measured" rule
When a signal couldn't be collected (PageSpeed rate-limited, page blocked by a firewall, axis not applicable to the pageType), we display "not measured" in the breakdown and rebalance the average. Better silence than a false penalty — an audit that lies loses all value.