Checks · weights · thresholds · scope · versions

Scanner methodology, published.

Scores and grades are Digital1010 house-rubric outputs from a point-in-time sample. They are not validated business outcomes, and a score or score movement does not establish traffic, citation, conversion, revenue, or lift. Unavailable measurements are excluded where the rubric says so; they are not converted into failures.

Shared A–F bands · 2026-08-19.shared-af-90-80-70-60
A
90–100
B
80–89
C
70–79
D
60–69
F
0–59.9
Scores issued before 19 August 2026

On 19 August 2026 these scanners were rebuilt after an independent adversarial audit of their own output. The audit found defects that changed scores, including sites credited with crawler access while refusing the crawler, and a sitemap read as 11 pages when it contained 1,933. The grade bands were unified across all three scanners on the same date.

Any score or grade issued before that date came from an earlier rubric and is not comparable to a score issued today. A re-scan may return a different number on an unchanged site. That difference is a change in how we measure, not a finding about the site. Every historical record was marked incomparable rather than quietly re-scored, and none of it is used in any published figure.

Version · 2026-08-19.phase4-house-rubric

AI Readiness Score

One homepage response plus scanner-requested site-root resources. Interior pages are not inspected. When the named crawler is unreadable but the house scanner is readable, crawler access is 0/20 and every other finding is explicitly limited to the scanner-served response.

crawler-probe
Named AI crawler homepage access (fallback case)
Weight
20 points; the entire crawler dimension becomes 0 when the named probe is unreadable
Threshold
Readable HTML passes. HTTP 403/429 = blocked; other 4xx = rejected; timeout, 5xx, or unreadable success = no response, after one retry.
Scope
Compound named-crawler request to the submitted homepage
robots
AI crawlers permitted in robots.txt
Weight
10 points
Threshold
10 when no listed crawler is disallowed; subtract 3 per listed crawler blocked, floor 0; 4 when robots.txt is unavailable.
Scope
Scanner request to /robots.txt; used only when the named-crawler homepage is readable
llms
llms.txt manifest
Weight
7 points
Threshold
7 when present, over 200 characters, and sectioned; 3 when present but thin; 0 when unavailable.
Scope
Scanner request to /llms.txt
llms-full
llms-full.txt content feed
Weight
3 points
Threshold
3 when present and over 1,000 characters; otherwise 0.
Scope
Scanner request to /llms-full.txt
jsonld
JSON-LD present and valid
Weight
6 points
Threshold
6 for one or more parseable blocks; 3 when a detected block is invalid; 0 when none is found.
Scope
Inspected homepage response
org
Organization / LocalBusiness identity
Weight
6 points
Threshold
6 when an Organization-family JSON-LD type is found; otherwise 0.
Scope
Inspected homepage response only; interior pages are not searched
rich
Content schema
Weight
8 points
Threshold
3 points per selected content-schema type found, capped at 8.
Scope
Inspected homepage response only; interior pages are not searched
headings
Heading hierarchy
Weight
6 points
Threshold
6 for exactly one h1 and at least two h2s; 4 for one h1 with fewer h2s; 2 for multiple h1s; 0 for no h1.
Scope
Inspected homepage response
ratio
Readable-content density
Weight
5 points
Threshold
5 above 15%; 3 above 7%; 1 above 2%; otherwise 0, after scripts/styles/comments are removed.
Scope
Inspected homepage response
answers
Direct-answer patterns
Weight
5 points
Threshold
3 for at least one question-form h2/h3 plus 2 for FAQ wording.
Scope
Inspected homepage response
depth
Content depth
Weight
4 points
Threshold
4 above 3,000 readable characters; 2 above 1,200; otherwise 0.
Scope
Inspected homepage response
identity
Title and meta description
Weight
6 points
Threshold
3 for a title plus 3 for a meta description.
Scope
Inspected homepage response
og
OpenGraph metadata
Weight
4 points
Threshold
4 when og:title is found; otherwise 0.
Scope
Inspected homepage response
canonical
Canonical URL
Weight
4 points
Threshold
4 when a canonical link is found; otherwise 0.
Scope
Inspected homepage response
entity
Entity consistency and sameAs
Weight
6 points
Threshold
3 when the JSON-LD organization name appears in the title or visible text, plus 3 for a non-empty sameAs value.
Scope
Inspected homepage response
sitemap
Sitemap present and populated
Weight
8 points
Threshold
8 for at least 10 page URLs; 5 for 1–9; 0 for none. Up to 100 sitemap files are traversed.
Scope
Scanner requests beginning at /sitemap.xml
lastmod
Page lastmod dates in sitemap
Weight
4 points
Threshold
4 when at least one page URL entry contains lastmod; otherwise 0.
Scope
Traversed sitemap page entries; sitemap-index dates do not count
feed
RSS/Atom feed
Weight
4 points
Threshold
4 when an RSS/Atom link is advertised; otherwise 0.
Scope
Inspected homepage response
dates
Dated content signals
Weight
4 points
Threshold
4 when time/datetime or an ISO date is found; otherwise 0.
Scope
Inspected homepage response
Named-crawler probe identity
Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot) D1010-ReadinessScan/1.0 (+https://digital1010.com/scan)

The compound agent carries the GPTBot token because token-based bot protection otherwise does not reveal the named-crawler response, while also identifying Digital1010 and this scanner. It is used only for the named-crawler homepage probe. A server matching only the token can still interpret it as GPTBot; that limitation is not hidden. On a site owner's objection, Digital1010 will drop this probe for their domain on request.

Version · 2026-08-19.phase4-house-rubric

Site Score

The submitted entry page, its PageSpeed result and screenshot when available, up to 10 same-origin links discovered there, and one synthetic missing URL. Interior-page content is not inspected. Earned points are normalized over measured points when a listed source is unavailable.

lcp
Largest Contentful Paint
Weight
8 measured points
Threshold
Field LCP when available, otherwise PageSpeed lab LCP: full at ≤2.5s, half at ≤4.0s, 0 above 4.0s; excluded if unavailable.
Scope
PageSpeed result for the final entry-page URL
cls
Layout stability (CLS)
Weight
6 measured points
Threshold
Field CLS when available, otherwise PageSpeed lab CLS: full at ≤0.10, half at ≤0.25, 0 above 0.25; excluded if unavailable.
Scope
PageSpeed result for the final entry-page URL
inp/tbt
Interaction to Next Paint / Total Blocking Time
Weight
6 measured points
Threshold
Field INP: full at ≤200ms, half at ≤500ms, 0 above 500ms. Otherwise PageSpeed's TBT audit score is scaled to 6; excluded if unavailable.
Scope
PageSpeed result for the final entry-page URL
fcp
First Contentful Paint
Weight
5 measured points
Threshold
PageSpeed's FCP audit score scaled to 5; excluded if unavailable.
Scope
PageSpeed result for the final entry-page URL
console
JavaScript errors on load
Weight
6 measured points
Threshold
PageSpeed errors-in-console audit score scaled to 6; excluded if unavailable.
Scope
PageSpeed result for the final entry-page URL
links
Sampled internal links
Weight
7 measured points
Threshold
7 when all sampled links resolve; subtract 2 per broken link, floor 0; excluded when the entry page exposes no internal links.
Scope
Up to 10 same-origin links discovered on the entry page
https
HTTPS and mixed content
Weight
5 points
Threshold
3 for a final HTTPS URL plus 2 when no insecure http:// asset is found.
Scope
Final entry-page URL and inspected entry-page response
404
404 handling
Weight
4 points
Threshold
4 for HTTP 404 or 410 on the synthetic missing URL; otherwise 1.
Scope
One synthetic missing URL on the final site origin
redirects
Redirect chains
Weight
3 measured points
Threshold
PageSpeed redirects audit score scaled to 3; excluded if unavailable.
Scope
PageSpeed result for the final entry-page URL
viewport
Mobile viewport
Weight
4 points
Threshold
4 when a viewport meta declaration is found; otherwise 0.
Scope
Inspected entry-page response
fresh
Copyright year
Weight
2 points
Threshold
0 when a detected footer copyright year is before 2025; otherwise 2.
Scope
Last 4,000 characters of the inspected entry-page response
tap
Tap target sizing
Weight
2 measured points
Threshold
PageSpeed tap-targets or target-size audit score scaled to 2; excluded if unavailable.
Scope
PageSpeed result for the final entry-page URL
fonts
Legible font sizes
Weight
2 measured points
Threshold
PageSpeed font-size audit score scaled to 2; excluded if unavailable.
Scope
PageSpeed result for the final entry-page URL
design-*
Visual hierarchy, typography, whitespace, above-fold clarity, design currency
Weight
3 measured points each; 15 total
Threshold
Visual model returns 0–5 for every criterion; each is scaled to 0–3. The entire visual block is excluded if the screenshot/model response is unavailable or incomplete.
Scope
PageSpeed screenshot of the final entry-page URL
cta
Visible call to action
Weight
8 points
Threshold
8 when a visible action link/button is found in server HTML; otherwise 0.
Scope
Inspected entry-page response
tel
Tap-to-call
Weight
5 points
Threshold
5 when a tel: link is found; otherwise 0.
Scope
Inspected entry-page response
form
Lead capture
Weight
5 points
Threshold
5 when a form element is found; otherwise 0.
Scope
Inspected entry-page response
trust
Trust signals
Weight
7 points
Threshold
4 for selected proof wording in visible text plus 3 for a street-address pattern.
Scope
Inspected entry-page response
Version · 2026-08-19.phase4-house-rubric

AEO Visibility Scan

A point-in-time sample of 12 configured prompts across four named models through OpenRouter with web search enabled. Provider errors are excluded. Model responses are non-deterministic, so a later score is another snapshot, not proof of improvement or decline.

citation-rate
Citation rate
Weight
44.4 points per platform
Threshold
Successful sampled responses citing the exact domain or explicitly attributing the brand, divided by successful responses. Provider errors are excluded from the denominator.
Scope
12 configured prompts sent to one named model through OpenRouter with web search enabled
citation-quality-position
Citation quality: attributable position
Weight
Part of 33.3 quality points per platform
Threshold
Position multipliers: early 1.00, middle 0.65, late 0.35, unknown 0.00. A provider citation without an attributable response span remains cited but receives no positional quality credit.
Scope
Successful cited responses in the sampled prompt set
citation-quality-sentiment
Citation quality: framing
Weight
Part of 33.3 quality points per platform
Threshold
Framing multipliers: positive 1.00, neutral 0.85, qualified 0.55. The position and framing multipliers are multiplied and averaged across citations.
Scope
Successful cited responses in the sampled prompt set
distribution
Category distribution
Weight
22.2 points per platform
Threshold
Distinct cited prompt categories: 0 = 0%, 1 = 35%, 2 = 65%, 3 = 100% of the 22.2-point allocation.
Scope
Brand, category, and problem prompts in the successful sampled responses
platform-composite
Overall AEO composite
Weight
Each of the four named model composites receives 25%
Threshold
Arithmetic mean of Claude Sonnet 4.5, GPT-4o, Perplexity Sonar, and Gemini 2.5 Flash platform composites.
Scope
One point-in-time OpenRouter web-search sample; model outputs are non-deterministic