How is the SEO score calculated and what does the letter mean?

A scan returns five separate scores from 0 to 100: SEO, GEO, AEO, speed and security. Each is reduced only by confirmed findings, weighted by impact; passed, not-applicable and unverified checks always have zero impact. A letter accompanies the number: A+ from 97, A from 92, B+ from 86, B from 78, C+ from 70, C from 60, D from 45, below that F.

SeoScore

A score without a method is an opinion with a number attached. So this page explains what it is made of and where the lines are deliberately drawn.

Five scores, not one

A scan returns five separate numbers, each from 0 to 100:

  • SEO — indexing, crawling, headings, duplicates, internal links;
  • GEO — whether AI reaches, understands and can cite the site;
  • AEO — whether pages contain answers that can be taken directly;
  • Speed — how the page loads for a real visitor;
  • Security — what is visible from outside with no access at all.

There is deliberately no single combined average: it would hide exactly what the scan is for. A site can have tidy SEO and a completely closed AI side, and an average would turn that into "about average".

What the letter means

The letter is the same scale, said shorter:

Score Letter
97–100 A+
92–96 A
86–91 B+
78–85 B
70–77 C+
60–69 C
45–59 D
0–44 F

The A threshold is deliberately high. It used to start at 83, and then almost every tidy site received an A — the letter had stopped distinguishing anything.

What lowers the score, and what does not

Only confirmed findings lower it, each weighted by what it actually costs.

Three states never have any impact:

  • passed — the check ran, there is no problem;
  • not applicable — the check does not apply to this site;
  • unverified — no answer could be obtained.

The last one matters most and is most often misread. If a check could not be completed, it is not shown as passed. Silence is not evidence that all is well, so such a finding neither subtracts nor adds.

Why a thin sample gets no score

If fewer than three pages could be read while more URLs existed, no score is calculated. One page tells you what is on that page, not what the site is like.

Better to have no number than one that halves on the second scan.

Why the scale sometimes changes

The scoring scale lives in one place in the code and carries a version. When weights change, the version is raised and old scans keep theirs — otherwise yesterday's score would silently change with no change to the site.

The practical consequence: two scans are comparable only when their scale version matches. The report says so itself.

What to do with it

The number is useful not in itself but as a list of jobs ranked by impact. Where it usually sits: a typical score. What the top looks like: above 80 points.

A free scan returns all five numbers.

Related articles

The full list of checks is under what we check.

Sources

What the check thresholds are based on — primary sources, not retellings:

Five scores and one rule — Five scores: SEO, GEO, AEO, speed, security; Only confirmed findings subtract; An unverified check has no impact; A+ from 97, C from 60, D from 45.

Frequently asked

Why did my score change when I changed nothing?

Usually speed: it is measured from real data and fluctuates. Less often because the scan reached different pages than last time.

Is 100 achievable?

Achievable, but rarely worthwhile. The last few points often demand things that give an ordinary site nothing. Above 80 already means everything that matters is done.

Why are some checks shown with no impact on the score?

Because they either passed, do not apply, or could not be verified. All three carry zero impact deliberately — otherwise our problem, not the site's, would lower the number.

Is the score comparable with other tools' scores?

Not directly. Every tool has its own weights and its own list of checks. Comparing only makes sense within the same tool over time.

Benchmarks →

Check yours

A free scan shows which of the things described here your site already does, and which it does not.

Scan a website →