How it works

The AI-ready website standard.

AI assistants recommend businesses they can read, understand and verify. We break that into five layers, measure each one with our scanner and fix them in order of impact. Here is the whole method, nothing hidden.

Crawler access

If an assistant's crawler is blocked, nothing else matters. Many sites block AI crawlers by accident through old robots.txt rules, security plugins or firewalls.

  • Allow AI search crawlers: OAI-SearchBot, Claude-SearchBot, PerplexityBot
  • Decide separately on training crawlers like GPTBot and ClaudeBot
  • Keep Googlebot and Bingbot open, since Bing feeds ChatGPT search and Copilot
  • No accidental noindex

AI files

Machine-readable files at the root of your domain that summarize who you are and list every page worth reading.

  • /llms.txt: plain-language summary and key links
  • /llms-full.txt: full text of core pages
  • /sitemap.xml: every public URL with dates
  • /robots.txt: access rules plus a sitemap pointer

Structured data

Schema.org JSON-LD states the facts so AI does not have to guess: your name, category, phone, address, hours, services, prices and common questions.

  • Organization or a specific LocalBusiness type
  • Telephone, address, geo and opening hours
  • Services, FAQPage and breadcrumbs
  • sameAs links to your Google, Yelp and social profiles

Answer-ready content

Assistants quote sentences that answer a question directly. Vague marketing copy rarely gets cited.

  • One clear H1 that says what you do and where
  • Question headings with a direct answer in the first sentence
  • Specifics: prices, areas, hours, guarantees, credentials
  • Titles and descriptions written for the snippet

Technical trust

Fast, secure, mobile-first pages are crawled more often and trusted more by both people and machines.

  • HTTPS everywhere with HSTS
  • Server response under 600 ms
  • Mobile viewport and readable text
  • Security headers and a declared language

Scoring method, version 3

How the AI visibility score is calculated

The score is out of 100 and every point traces to one of 26 checks with a written rule. Partial credit applies where a signal exists but is incomplete. Each report shows the evidence we found for every check, why it matters, the rule it was scored by and how the categories add up to your total.

AI crawler access25 points, 4 checks

CheckPointsRule
robots.txt published3Full 3 when /robots.txt answers 200 with plain-text rules. 1 when it is missing, empty or returns an HTML page.
AI assistants can read the site10Split evenly across OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot and Perplexity-User. Each blocked crawler costs 1.67. Training crawlers are not counted.
Google and Bing can crawl73.5 each for Googlebot and Bingbot when robots.txt allows them to read the homepage.
Homepage is indexable5Full 5 with no noindex (or none) in the robots or googlebot meta tag or the X-Robots-Tag header. 2.5 when noindex is sent to our scanner but not to a normal browser. 0 with noindex for everyone.

AI files20 points, 4 checks

CheckPointsRule
llms.txt8Full 8 when /llms.txt starts with a # heading, has a > summary line and 3 or more Markdown links. 6 when the summary or links are missing. 0 when it is missing or returns an HTML page.
XML sitemap7Full 7 for a valid urlset or sitemapindex (plain or gzipped) with at least one entry. 4 when valid but empty, or when robots.txt lists a sitemap that refuses our scanner. 0 when none is found in robots.txt or at /sitemap.xml, /sitemap_index.xml or /wp-sitemap.xml.
Sitemap listed in robots.txt2Full 2 when robots.txt has a Sitemap line.
llms-full.txt3Full 3 when /llms-full.txt returns more than 200 characters of text that is not an HTML page.

Structured data20 points, 5 checks

CheckPointsRule
Valid JSON-LD6Full 6 when every JSON-LD block parses. 3 with syntax errors or microdata only. 0 with no structured data.
Business entity6Full 6 for Organization, LocalBusiness, Person or a specific business type such as Dentist or Plumber.
Phone, address and hours41.33 each for telephone, address and opening hours, only when a business entity exists.
Answer-ready markup2Full 2 for any of FAQPage, Service, Product, Offer, Review, HowTo, Event, Menu, Article or BreadcrumbList.
Linked profiles (sameAs)2Full 2 for sameAs URLs in markup. 1 when social links are on the page but not in markup.

Content and meta20 points, 7 checks

CheckPointsRule
Page title4Full 4 for 25 to 65 characters. 2 when present but outside that range. 0 when missing.
Meta description4Full 4 for 70 to 170 characters. 2 when present but outside that range. 0 when missing.
One H13Full 3 for exactly one H1. 2 for more than one. 0 for none.
Content depth4Visible words in the HTML: 4 for 500 or more, 2.5 for 250 to 499, 1 for 100 to 249, 0 below 100.
Open Graph21 for og:title and 1 for og:image.
Image alt text1.51.5 times the share of images with an alt attribute. Full points when there are no images.
Canonical URL1.5Full 1.5 when a canonical link tag is present.

Technical trust15 points, 6 checks

CheckPointsRule
HTTPS4Full 4 when the final address after redirects uses https.
Server response4Time to first byte from our scanner: 4 at 600 ms or less, 3 up to 1,200 ms, 1.5 up to 2,500 ms, 0 slower.
Mobile viewport3Full 3 for a viewport meta tag with width=device-width.
Language declared1Full 1 when the html tag has a lang attribute.
Security headers22 for 3 or 4 of HSTS, CSP, X-Content-Type-Options and Referrer-Policy. 1 for 1 or 2.
HTML weight11 at 400 KB or less, 0.5 up to 1,000 KB, 0 above.

Statuses and rounding

  • Pass means full points. Improve means at least half the points. Missing means under half.
  • Each check is rounded to 0.1 points. The overall score is the sum of all 26 checks, rounded to the nearest whole number. The report shows the exact sum next to the rounded score.
  • Crawler rules follow the robots.txt standard (RFC 9309): the group whose user-agent matches the crawler name exactly applies (several such groups are combined), otherwise the catch-all group. Within it, the longest matching Allow or Disallow rule for the homepage path wins, and Allow wins a tie. The report names the group and line that decided each crawler.
  • "Potential after fixes" adds the points each failing check would gain at full marks. The report also shows the score after only the top three fixes.

Grade bands

  • A90 to 100: ready to be cited
  • B80 to 89: strong, a few gaps
  • C65 to 79: readable, hard to trust
  • D50 to 64: often misread
  • F0 to 49: mostly invisible

AI engine scores100 points each

Each engine score has two parts. Access (up to 40 points) is the share of that engine's reading crawlers that robots.txt allows. Understanding (up to 60 points) reuses your category results, weighted by the signals that engine leans on most.

Engine score = 40 x (crawlers allowed / crawlers checked) + 60 x (files% x w1 + schema% x w2 + content% x w3 + tech% x w4) minus 5 per blocked helper crawler

If every reading crawler for an engine is blocked, or the homepage is set to noindex, access is 0 and understanding counts at only 15%. Scores are rounded and kept between 0 and 100. Each engine card in the report has a "See breakdown" panel with these exact numbers.

EngineAI filesStructured dataContentTechnical
ChatGPT
Reads with OAI-SearchBot, ChatGPT-User. Helper: Bingbot.
30%20%40%10%
Claude
Reads with Claude-SearchBot, Claude-User. Helper: ClaudeBot.
40%15%40%5%
Perplexity
Reads with PerplexityBot, Perplexity-User. Helper: None.
20%15%45%20%
Gemini and AI Overviews
Reads with Googlebot. Helper: Google-Extended.
10%40%35%15%
Microsoft Copilot
Reads with Bingbot. Helper: None.
15%35%30%20%
Siri and Apple Intelligence
Reads with Applebot. Helper: Applebot-Extended.
10%45%30%15%

Changes

  • Version 3 (October 2026): crawler groups now match the exact crawler name, as RFC 9309 requires, so a group for Applebot no longer applies to Applebot-Extended. llms.txt links may be relative. Gzipped sitemaps are read, and a sitemap listed in robots.txt that refuses our scanner earns 4 of 7. A noindex sent only to unrecognized crawlers earns 2.5 of 5. Valueless alt attributes count as alt text, and a logo image inside the H1 counts as its text.
  • Version 2 (October 2026): every check now reports its evidence, reason and exact rule. Crawler matching uses the most specific user-agent group, and engine scores show their component math. Check points and category weights are unchanged from version 1.

Scores measure readiness: whether anything technical stops assistants from reading, understanding and citing you. They are not a prediction of rankings. Scan your site.

Done for you

What happens when you choose the Engine

See pricing
Start

Free blueprint call

We scan your current site, learn your services and agree on goals. Prefer to start alone? Use the Growth Blueprint.

Build

Design and build

Custom design, copy written as clear answers, all four AI files and full structured data.

Launch

Verify at 90 or higher

We do not launch until the site scores 90 or more on our scanner and loads fast on mobile.

Every month

Report and improve

A fresh AI visibility report, updates whenever you need them and a person to call or message.

Questions

Frequently asked

How long does the whole process take?

A free scan takes ten seconds. Fixing an existing site with the free tools usually takes an afternoon. For an Engine site, we agree a launch date with you in writing before work starts, based on how many pages you need.

Will blocking AI training crawlers hurt my visibility?

Not by itself. Training crawlers such as GPTBot and ClaudeBot are separate from the search crawlers that let assistants cite you, such as OAI-SearchBot and Claude-SearchBot. Our robots.txt builder lets you allow one and block the other.

Is llms.txt an official standard?

It is an open proposal, not a W3C standard, and support varies by AI provider. It costs nothing to publish, gives AI tools a clean summary of your business, and we include it because it is cheap insurance.

Do you change my scoring method often?

We version the scoring. When it changes, we note it here and old reports keep their original numbers so comparisons stay fair.