Methodology
How the scores are calculated
Generated from the engine at build time · 61 checks in single-page mode
The short version
A report runs 61 checks against one page. Each check passes or fails. Failures are weighted by severity, each category gets a score from its weighted pass rate, and the overall score is a weighted average of the categories. The “fix these first” list is every failed check sorted by severity weight × category weight. There is no machine learning, no curve and no per-site adjustment: the same page always produces the same score.
What runs in a single-page check
The engine is the one behind deepseoanalysis.com’s full-site audits. Single-page mode drops the checks that only make sense across a crawl (orphan pages, duplicate titles across pages, click depth, broken external links) and adds a handful of live probes that a crawler cannot do cheaply: host-variant redirects, compression, security headers, mixed content, favicon and social tags. Core Web Vitals come from the PageSpeed Insights API after the main report is done, so they never delay it.
| Category | Checks | Critical | Warning | Info | Weight in overall |
|---|---|---|---|---|---|
| Technical SEO | 18 | 4 | 10 | 4 | 25% |
| On-Page | 13 | 2 | 9 | 2 | 22% |
| Structured Data | 4 | 1 | 3 | 0 | 15% |
| Links | 1 | 0 | 0 | 1 | 15% |
| AI Readiness | 5 | 0 | 3 | 2 | 15% |
| CMS & Platform | 20 | 1 | 14 | 5 | 15% |
Weights are relative: only the categories that actually ran on your page are included, and the overall score is normalised by the sum of their weights. CMS checks, for example, only run when a platform is detected.
Severity weights
- Critical — weight 3. The page is unlikely to rank or be crawled correctly until this is fixed: missing title, robots blocking everything, no H1, broken canonical.
- Warning — weight 1. A measurable ranking or click-through cost: title too long, missing meta description, no Open Graph tags.
- Info — weight 0.25. Best practice with a small or indirect effect: breadcrumb schema, favicon, Twitter card type.
The formula
category score = 100 × (1 − Σ weight(failed checks) / Σ weight(all applicable checks)) overall score = Σ (category score × category weight) / Σ category weight fix priority = severity weight × category weight (highest first, top 5 shown)
A category with no applicable checks scores 100 and is excluded from the average. Checks that cannot be evaluated on a page (for example, the question-heading ratio when the page has fewer than three headings) are marked not applicable and do not count against you.
The AI-visibility (GEO) score
The AI-visibility score is separate from the SEO score and answers a different question: how likely is this page to be fetched, understood and cited by answer engines such as ChatGPT, Perplexity and Google’s AI Overviews. It is a weighted sum of six factors, each scored 0–100:
| Factor | Weight | What it measures |
|---|---|---|
| llms.txt signal | 22% | Whether the site serves an llms.txt file and whether it is well formed. |
| AI crawler access | 18% | Whether robots.txt allows the AI crawlers we probe (GPTBot, ClaudeBot, Claude-Web, PerplexityBot, Google-Extended, CCBot, Bytespider). |
| Structured data completeness | 18% | Presence of Organization and WebSite schema on the homepage, and Article, FAQ, Breadcrumb or HowTo schema on the page. |
| Answer structure and chunkability | 18% | Heading density, question-style headings, a summary near the top, and lists or tables an answer engine can lift. |
| Entity clarity | 13% | sameAs links, consistent naming between title, schema and visible text, an author, and about or contact pages. |
| Freshness signals | 11% | Published or modified dates in schema and in visible text. |
Factors score 80 or above as “good”, 50–79 as “warning” and below 50 as “poor”. The weights reflect what answer engines can and cannot do today: they cannot cite a page their crawler is blocked from, and they lift structured, question-shaped content far more readily than prose. Read more in the AI visibility guide.
What the score is not
- It is not a ranking prediction. A 100 means the page has no on-page or technical defects we can detect, not that it will rank; authority and content quality are not measured here.
- It is not comparable across tools. Other checkers weight things differently; compare a page against its own earlier reports, not against a score from another tool.
- It is not a site score. One page is audited. For a site-wide picture, run the full crawl at deepseoanalysis.com.
Every check, explained
Each check has a plain-language explainer covering what it tests, why it matters and how to fix it on the common platforms: browse the check explainers. If you think a check is wrong, tell us via the about page and we will fix the engine.