Loading…
Loading…
Methodology
The technical SEO score is a weighted roll-up of pass / warn / fail checks across seven dimensions. The SEO Ranking Score in the full report builds 6 more pillars on top of it. Here is every number that goes into both.
Total = Σ(dimension score × weight) ÷ Σ(weights of scored dimensions). A dimension that couldn’t be measured is dropped and the rest are re-normalised; the report then says “Based on N of 7 dimensions”.
| Dimension | Weight |
|---|---|
| Crawlability & Indexing | 25% |
| On-Page & Content | 20% |
| Performance | 15% |
| Mobile Usability | 10% |
| Structured Data & Social | 10% |
| HTTPS & Trust | 10% |
| Architecture & Internal Links | 10% |
Authority, Search Visibility and Competitors (full report) are scored 0–100 on their own and never enter the total.
Dimension score = Σ(credit × weight) ÷ Σ(weight) × 100, rounded. Weight comes from severity; credit from status.
Severity → weight
Status → credit
Fewer than 3 measured checks in a dimension → no score for it (“Insufficient data”), and it is excluded from the total. Fewer than 5 pages crawled → Architecture is marked low-confidence and excluded.
These five failures make the rest of the report moot, so they cap it. Any one failing → its dimension is capped at 30, the total at 40, the grade at F, and the report opens with a “Fix this first” banner.
crawl.entry.status — the entry URL does not end on a 200crawl.entry.indexable — the entry page is noindex (meta or X-Robots-Tag)crawl.robots.blocks-site — robots.txt disallows / for * or Googlebotsec.https — HTTPS is not availablesec.tls.expired — the certificate has expired or the handshake failsTwo conditions come before any scoring: if a firewall or challenge page blocks our crawler we publish no score at all; if the entry page is an empty JavaScript shell we score what raw HTML allows and mark content checks as not measured.
Checks like “missing title” or “broken internal link” are judged by the share of crawled pages affected, not by a single page.
A few checks use their own bands where Google’s guidance differs (for example image alt text: ≤ 10% missing pass, ≤ 30% warn). Every page-level evidence line opens with the sample size — “Across 20 crawled pages…”.
Real-user p75 values from the Chrome UX Report (CrUX) via PageSpeed Insights, mobile. Good → pass, needs improvement → warn, poor → fail. No field data → the lab value is used, capped at warn and labelled “lab, single run”. PageSpeed unavailable → not measured.
| Metric | Good | Needs improvement | Poor |
|---|---|---|---|
| LCP (Largest Contentful Paint) | ≤ 2.5 s | ≤ 4.0 s | > 4.0 s |
| INP (Interaction to Next Paint) | ≤ 200 ms | ≤ 500 ms | > 500 ms |
| CLS (Cumulative Layout Shift) | ≤ 0.1 | ≤ 0.25 | > 0.25 |
| TTFB (Time to First Byte) | ≤ 800 ms | ≤ 1800 ms | > 1800 ms |
A
≥ 85
B
≥ 70
C
≥ 55
D
≥ 40
F
< 40
Same scale as the AI visibility report, so the two never disagree about what an “A” means.
Full report
The technical score asks whether Google can crawl and index you. The Ranking Score asks whether your pages can win the ranking: 7 pillars and 40 sub-scores, each 0–100 and traced to evidence on your pages, your backlinks, your brand’s search results and the pages that rank today. No AI model grades anything — every sub-score is a rule published below, so the same site gets the same score twice.
Score = Σ(pillar score × weight) ÷ Σ(weights of scored pillars); inside a pillar, sub-scores roll up the same way. An online store lives or dies on its technical health, a local business on its reviews, a health or money site on trust — so the weights follow the type of site, and the report says which one it used (“Scored as”).
| Pillar | Business, SaaS or publisher site | Online store | Local business | Health, finance or legal site |
|---|---|---|---|---|
| Relevance & search intentDecides whether you can rank at all | 25% | 25% | 20% | 20% |
| Content quality (E-E-A-T)Decides whether rankings survive core updates | 20% | 15% | 15% | 30% |
| Authority, links & reputationDecides who wins among similar pages | 20% | 20% | 25% | 20% |
| WinnabilityDecides whether these are fights you can win | 10% | 10% | 10% | 10% |
| AI search & clicksDecides whether a ranking still earns the visit | 10% | 5% | 5% | 5% |
| User satisfactionValidates the result — measured with Search Console, estimated without it | 10% | 10% | 10% | 10% |
| Technical foundationThe threshold — failing it voids everything else | 5% | 15% | 15% | 5% |
| Total | 100% | 100% | 100% | 100% |
Checked in that order from the pages we crawl — the first match wins. Same pages, same type, every run.
If the technical score has a blocker — any of the five gate rules — the Ranking Score is capped at 40 and graded F whatever the other pillars score, and the report says to fix the blockers first. Content and links can’t rank a site Google can’t index.
Every sub-score carries one, so you know how hard the number is.
A label can change with the data behind it: One page per intent, for example, is Estimated from your pages and Measured once Search Console shows which pages share a query.
The yardstick for Click-through vs. expected: the share of searchers who click an organic result at each Google position.
#1
27.6%
#2
15.8%
#3
11.0%
#4
8.4%
#5
6.3%
#6
4.9%
#7
3.9%
#8
3.3%
#9
2.7%
#10
2.4%
#11+
1.0%
For non-brand queries with 50+ impressions, expected clicks = impressions × the rate at the query’s average position, interpolated between positions. Score = 85 × your clicks ÷ expected clicks, capped at 100 — matching the curve scores 85. Brand queries are left out: people searching your name click you anyway.
Source: Backlinko's 2023 study of Google organic click-through rates. Real curves shift with the query and the layout of the result page, so read it as a yardstick: matching it is good, not perfect.
Without it, three sub-scores are estimated or not measured. With it, they’re measured from your real search data: Click-through vs. expected, Ranking momentum and One page per intent.
webmasters.readonly. We can’t change settings, submit anything or add users.<head> — or a TXT record to your domain’s DNS — and, in Search Console → Settings → Users and permissions, add our service account’s email as a Restricted user.Why the tag: anyone can share a Search Console property with our service account, but only someone who controls the site can publish a tag made for their request — the same way Google verifies site owners. You can remove the tag after verification.
Decides whether you can rank at all.
Decides whether rankings survive core updates.
Decides whether these are fights you can win.
Decides whether a ranking still earns the visit.
Validates the result — measured with Search Console, estimated without it.
The threshold — failing it voids everything else. The pillar score is the free Technical SEO score itself, gate cap included, so the two never disagree.
Reports are automated, reflect a single point in time, and sample a subset of a site’s pages. They are not a guarantee of rankings and are not affiliated with or endorsed by the audited site, Google or DataForSEO. Thresholds follow Google Search Central and web.dev guidance and may change as that guidance does; this page is updated when they do.