What the headline score means
The headline is a weighted mean of the modules that apply to the input. Modules are grouped into six buckets. Each bucket is the mean of its scored modules. The bucket weight is then applied to the mean. If every module in a bucket is not applicable, the bucket is removed and the remaining weights are renormalised, so a text-only sample is not punished for missing page markup.
| Bucket | Weight | Modules in the bucket |
|---|---|---|
| Answer clarity | 25 | LCPS AEO GEO |
| Structure | 20 | TACS ASI SEO CPO |
| Evidence | 20 | IGS E-E-A-T FTSA ORIG |
| Readability | 15 | TLENS |
| Entity coverage | 10 | SECM ENT AENT |
| Hygiene | 10 | SMRC MCSA AI-DET AKW ASENT |
The exact formula is: for each bucket, average the finite module scores from 0 to 100; multiply that average by the bucket weight; sum the weighted averages; divide by the sum of the weights for buckets that had at least one scored module; round to the nearest whole number.
Scores are diagnostics, not a ranking factor. Google does not use this score. The tool is useful because the same input produces the same result and every deduction is tied to a rule you can inspect.
Grades, colour bands and short inputs
| Score | Grade | Label | Colour |
|---|---|---|---|
| 80 to 100 | A | Publish-Ready | Green |
| 65 to 79 | B | Near-Ready | Olive |
| 50 to 64 | C | Needs Work | Amber |
| Below 50 | D | Major Gaps | Red |
Inputs under 150 words are marked Provisional. The grade letter is hidden because a 40-word snippet cannot support a page-level judgment. Modules that need page markup, a focus keyword, media, or enough text are marked as not applicable rather than scored at zero. The score subtitle always states how many of the 20 modules were scored.
The 20 modules
Each module returns a score, a verdict, findings, and a recommendation. A module is a heuristic, not a measurement of a live search result.
| Badge | Module | Bucket | What it checks |
|---|---|---|---|
| IGS | Information Gain Score | Evidence | First-hand markers, original data, named sources, specific detail, and claims that go beyond a summary. |
| LCPS | LLM Citation Probability | Answer | Answer capsules, quotable sentences, entity definitions, statistic density, and self-contained passages. |
| AEO | Answer Engine Optimisation | Answer | Whether section openings answer the heading, and whether direct answers appear before the explanation. |
| E-E-A-T | E-E-A-T Signal Decomposer | Evidence | Experience, expertise, authoritativeness, and trust markers, each scored separately and then combined. |
| SECM | Semantic Entity Coverage | Entity | Expected entities and co-occurring concepts around the primary topic. Needs page markup or enough text. |
| TACS | Topical Authority Cluster | Structure | Heading depth, subtopic coverage, internal links, and the presence of a cluster rather than one isolated page. |
| ASI | Advanced Skimmability Index | Structure | Heading cadence, paragraph length, list and table use, and sentence variety. |
| SMRC | Schema Markup Readiness | Hygiene | JSON-LD types found in the page source. Needs raw HTML, not the editor body. |
| FTSA | Freshness and Temporal Signals | Evidence | Recent dates, time-sensitive language, and stale claims. |
| ORIG | Originality and Voice Check | Evidence | Specificity against generic filler, AI-slop phrases, and unsupported absolute claims. |
| MCSA | Multimodal Content Signals | Hygiene | Image, chart, video, table, and caption references. Needs markup or explicit media mentions. |
| SEO | SEO Structure Audit | Structure | Title, description, heading order, canonical, links, and basic indexability. Page checks need source. |
| ENT | Entity Salience Analysis | Entity | Whether the primary entities are named early, repeated enough, and connected to supporting entities. |
| GEO | GEO AI Citation Optimizer | Answer | Factual density, citation cues, direct answers, structure, and freshness for AI answer surfaces. |
| AI-DET | AI Content Detection | Hygiene | Burstiness, vocabulary diversity, and known AI phrasing. It is a signal, not proof of authorship. |
| TLENS | TextLens Readability Suite | Readability | Flesch reading ease, Flesch-Kincaid grade, Gunning Fog, SMOG, Coleman-Liau, Linsear Write, and ARI, combined into one score. |
| AKW | Advanced Keyword Intelligence | Hygiene | Exact-phrase density, placement across title, description, H1, H2, opening, slug and alt text, plus spread and overuse. Needs a focus keyword. |
| ASENT | Advanced Sentiment Analysis | Hygiene | Sentiment balance and tone consistency. Needs enough text to measure. |
| AENT | Entity Extraction and Semantics | Entity | Named entity extraction, type coverage, and semantic role in the text. |
| CPO | Cross-Platform Optimization | Structure | Mobile-readable blocks, heading order, image alt and dimensions, link hygiene, and table and media weight. |
Exact page audit
The exact page audit is separate from the 20 module score. It runs deterministic checks on the HTML you paste. It never adds or removes points from the headline score. That separation is deliberate: a missing canonical should not be hidden inside an averaged content score, and a writing-quality score should not fall because a template omitted a viewport tag.
Head and metadata
Title and description length, canonical, robots, Open Graph, Twitter card, viewport, hreflang, and JSON-LD syntax.
Images
Alt text, width and height attributes, lazy loading, and empty sources.
Links
Empty anchors, generic anchors, placeholder links, and blank-target safety.
Conversion and trust
Call to action presence, trust signals, pricing signals, and contact paths.
FAQ and schema
Visible questions compared with FAQPage questions. A mismatch is a fail, not a warning.
Source handling
Paste full page HTML for head checks. A body-only paste runs body checks and reports head checks as not run.
One audit panel goes further than the per-page link checks: the Internal Link Graph. It counts internal and external links, lists every unique internal target with the anchor text that points at it, and flags empty hrefs, in-page anchors, generic anchors such as "read more", image-only anchors, links that open a new tab without rel="noopener", nofollow on an internal link, and one anchor phrase pointing at several destinations. Paste one URL per line from a sitemap or a crawl export and it also lists the pages that no pasted link points at. Without that list, orphans are reported as not measured rather than as zero. URLs are compared by path, so a trailing slash, a query string, a fragment, casing and a missing scheme do not create a false orphan, and a relative link resolves against the canonical when the page provides one. The panel never moves the 0-100 score, and a target it cannot find in your list is described as missing from your list, not as a broken link.
The audit does not crawl the site, render JavaScript, fetch images, or measure server response. It cannot see content injected by JavaScript, CSS background images, iframes, or elements inside a cookie wall. A pass means the pasted markup satisfies the rule. It does not prove the live page is correct.
What this tool does not do
- It does not query Google, ChatGPT, Perplexity, or any search index. It does not know whether a page ranks or is cited.
- It does not measure real users, Core Web Vitals, backlinks, or competitor authority.
- It does not prove whether text was written by a person or a machine. The AI detection module reports patterns, not authorship.
- It does not store your content. Analysis runs in the browser. A URL import sends only the URL to a public reader service to retrieve the page.
- It does not replace a human edit. A high score on thin content is still thin content.
Version history
Version 1.3.0 was reviewed on 21 October 2026. The full release history, including the changes that moved the score, is in the public changelog.
The regression fixtures used to catch scoring errors are in the test harness. They cover clean prose, spam, a listicle, a landing page, a short snippet, non-English text, HTML headings, a page with no H2s, numeric-heavy copy, and a deliberately poor page.