AgentReadyAI visibility appCaffeine & CommerceShopify agency
Caffeine and Commerce

Methodology

v1.0Last reviewed July 6, 2026

How the AI-readiness score is calculated

Your AI-readiness score is a weighted average across 23 always-on checks (plus 6 that run only when the data to test them exists), grouped into five dimensions: brand identity, products and catalog, AI discovery files, answer-engine basics, and trust signals. Each check earns full credit when it passes, half when it warns, and nothing when it fails. We add up the credit you earned, divide by the total possible weight (31 across the always-on set), and round to a percentage from 0 to 100. That percentage maps to a letter grade: A is 90 and up, B is 75, C is 60, D is 40, F below that.

One rule overrides everything. If your robots.txt blocks an AI search crawler like OAI-SearchBot or Googlebot, the top-line score is capped at 49 (grade D), because pristine data is worthless to an engine that can't read it. Everything below is the exact list, with each check's weight pulled straight from the code that runs the scan, so what you read here is what the tool actually does.

Every check, its weight, and the fix

These are generated from the same catalog the scanner scores with, so the numbers here can't drift from your result. Tap any check to expand what it detects, why an AI agent cares, and exactly how to fix it.

Every check, sized by its weight

23 always-on checks · 6 conditional · 31 total base weight

The score is a weighted average. Each check earns full credit when it passes, half when it warns, and zero when it fails. A check's slice below is its weight as a share of the always-on total.

Brand identityProducts & catalogAI discovery filesAnswer-engine basicsTrust & policies

Brand identity

Can an agent tell who you are?

4 checks · 16% of base weight

Products & catalog

Can it read and recommend your products?

8 checks · 23% of base weight

AI discovery files

Can AI crawlers find and index you?

8 checks · 35% of base weight

Answer-engine basics

The meta answer engines summarize from.

6 checks · 16% of base weight

Trust & policies

The signals that make agents confident.

3 checks · 10% of base weight

Tap any check to see what it detects, why an agent cares, and the exact fix. Run the free checker on your store to see your own numbers.

A worked example

Watch a store get scored

Here is a store scored check by check, with the weighted-average arithmetic laid bare. Every weight is the real one, so the final number is one you could compute yourself from the tables above.

Illustrative example

A store called Northwind Supply, scored line by line

Northwind is a stand-in, not a real customer. But the weights and the arithmetic are the real ones, so you can follow every step and get the same number.

CheckResultWeightCreditEarned
Brand identity (Organization / WebSite)Pass2×12
Logo in structured dataPass1×11
Linked social profiles (sameAs)Warn1×0.50.5
Sitelinks search (SearchAction)Fail1×00
Product structured dataPass3×13
Price & availability (Offer)Pass2×12
Ratings & reviews (AggregateRating)Warn1×0.50.5
Breadcrumbs (BreadcrumbList)Warn1×0.50.5
AI search crawlers allowedPass3×13
All crawlers reachable (robots.txt)Pass1×11
llms.txt indexFail1×00
agents.md guideFail1×00
XML sitemapPass1×11
Served over HTTPSPass2×12
Freshness signal (dateModified)Warn2×0.51
Page titlePass1×11
Meta descriptionPass1×11
Canonical URLPass1×11
Open Graph (image + title)Warn1×0.50.5
Language declaredPass1×11
Return policy signalPass1×11
Shipping detailsWarn1×0.50.5
FAQ structured dataFail1×00
Totals3123.5

23.5 ÷ 31 = 0.758, rounded to a percentage.

76Grade B

No black box

Reproduce your score by hand

You do not have to trust the number. Here is the whole procedure, the same one the scanner follows.

  1. 1

    Fetch what an agent fetches

    Load the homepage, a few product pages, /llms.txt, /agents.md, /robots.txt, /sitemap.xml, and (on Shopify) /products.json, using a plain crawler user-agent. That is the exact set of public documents the scanner reads.

  2. 2

    Run each check for pass, warn, or fail

    Work down the list above. For each check, look for the signal it detects. Present and correct is a pass, present but weak is a warn, absent is a fail. Skip a conditional check when its precondition is absent (no Product schema means the GTIN check does not run).

  3. 3

    Turn each result into earned weight

    Multiply the check's weight by its credit: 1 for a pass, 0.5 for a warn, 0 for a fail. A weight-3 check that warns earns 1.5.

  4. 4

    Divide, then round

    Add up every check's earned weight, add up every check's full weight, divide the first by the second, multiply by 100, and round. That is your raw score.

  5. 5

    Apply the crawler cap

    If robots.txt blocks a critical AI search crawler, cap the top-line score at 49. Otherwise the raw score stands. Map the final number to a grade: 90+ A, 75+ B, 60+ C, 40+ D, else F.

We publish this because we hold ourselves to it too

We run our own sites through these same checks and show the results in the open. See exactly how we score against our own methodology.

This methodology is versioned. You are reading v1.0, last reviewed July 6, 2026. When the checks or weights change, the version and date change with them, and this page updates the same day. Run the checker to see your own score against it.