Methodology
How your /100 score is computed
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.
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%)
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)
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)
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
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.