Methodology

How an audit works, step by step

What we measure, how we score it, where AI is involved, and what we cannot tell you.

What is fact, and what is our judgement

You should know which numbers are measured and which are our own opinion. Here is the honest split.

In the reportWhat it is
Crawler accessFact. Read from your robots.txt.
Counts: schema types, headings, FAQ sections, data points and so onFact, for the pages we read. A 0 means not found in those pages and your sitemap.
Live check answersFact, at that moment. These are real answers from the engines. They change from run to run.
Named or not namedFact. We look for your whole name or your domain in the answer, never your first word alone.
Overall score and gradeOur formula, applied to those facts. Same site, same score.
ChatGPT, Perplexity, Gemini and Claude scoresOur estimate. The weights are our view, not published by those companies.
Reference and target numbersOur judgement, set by business type. Not measured from other companies.
Topic ideas and AI-written questionsWritten by AI, based on the details you confirm. Check them before you use them.

1. How we read a site

We check that the address is a public website, then fetch:

  • Your sitemap (sitemap.xml, or the one named in robots.txt). Its URLs are counted and classified; they are not all downloaded. For sitemap indexes we read up to 8 child sitemaps, preferring content ones (posts, pages, guides). We keep up to 5,000 URLs.
  • Up to 10 pages: your homepage, common key pages (pricing, about, features, FAQ, docs, help, blog, case studies) and the most content-rich URLs from your sitemap. Reading stops after 50 seconds.
  • Your robots.txt and llms.txt.

Pages are fetched directly. If that returns too little readable text (common on JavaScript-built sites or behind bot protection), we retry up to 5 pages through Jina Reader, which renders the page. Error pages served as normal pages (“404”, “Access denied”, bot challenges) are discarded, and pages that redirect to the same content are counted once.

If we can't read the site at all, the audit stops with a clear message before any AI call, so you aren't charged AI fees for an empty report.

2. What we count

Every number in a report is something we observed. Nothing is estimated, extrapolated, or added because a site is large.

SignalHow it is counted
Blog posts, docs, tutorials, case studies, FAQ pagesSame-site sitemap URLs matching specific path patterns (e.g. /blog/…, /docs/…, /case-studies/…). Each URL counts in one category only.
FAQ sectionsThe larger of FAQ URLs, or FAQPage schema plus FAQ headings on the pages we read.
Schema typesJSON-LD parsed on the pages we read (invalid JSON is ignored) plus schema.org microdata. Helper types like ListItem are excluded.
Outbound citationsUnique links to other websites in page content, excluding your own domain and social networks.
Data pointsPercentages, money amounts, multipliers and large numbers in the text we read.
Headings and imagesH1/H2/H3 structure and image count on the pages we read.
How-to mentions, frameworks, long-formText patterns on the pages we read (e.g. "how to …", "framework", word count).

3. How the score is calculated

The AI Readiness Score starts at 0. Each signal earns points depending on how close it is to a benchmark target, up to 100% of the target.

CategoryMax pointsSignals (max points)
Content depth35Tutorials 10, how-to 8, FAQs 7, case studies 6, blog posts 4
Structure & technical25Schema types 10, headings 8, step lists 4, images 3
Research & citations25Data points 10, statistics 7, outbound citations 5, research terms 3
Authority15Frameworks 6, long-form 5, nuanced language 4

Signals well below their target earn less than proportional credit: at 60% of the target or more, full proportional credit; 30 to 60%, 70% of it; 10 to 30%, 40%; under 10%, 15%.

Each playbook action states the most it can add to one assistant's estimate if you reach its target (for example “up to about 9 points on the ChatGPT estimate”), worked out from the weights below. We don't show a combined “estimated improvement”, because not every gap applies to every business.

Benchmark targets are reference values set by us, adjusted for your industry (for example, restaurants and local businesses have much lower targets for tutorials and case studies, and law firms for tutorials) and scaled down for sites with fewer than 50 sitemap pages or no sitemap. They are not averages of real companies' data.

The report's industry benchmark card compares your scores with a reference and a stretch target for your industry (for example SaaS, legal, e-commerce, or restaurants and local businesses). These are also values we set, not measured averages.

Platform scores re-weight the same four categories:

PlatformContentStructureResearchAuthority
ChatGPT45%25%15%15%
Perplexity15%20%45%20%
Gemini25%40%20%15%
Claude20%15%25%40%

These weights are our estimate of what each assistant tends to favour. They are not published by those companies, and platform scores are not rankings measured inside their products.

Grades: A+ 90+, A 85+, A- 80+, B+ 75+, B 70+, B- 65+, C+ 60+, C 55+, C- 50+, D+ 45+, D 40+, D- 35+, F below 35. Scores are never raised to a minimum, and the same site gives the same score whichever AI model you choose.

4. AI crawler access

We parse robots.txt using the standard rules (RFC 9309): a crawler follows the group that names it, and only falls back to “User-agent: *” when none does. A crawler counts as blocked when its group disallows the whole site.

  • AI search and answer crawlers: OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User, bingbot. Blocking these becomes the #1 action in your playbook.
  • AI training crawlers: GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot, meta-externalagent. Reported, but allowing them is your choice.

If robots.txt can't be read (some sites block our check), the report says “unknown” rather than assuming crawlers are allowed.

4b. AEO blueprint and off-site checks

The AEO blueprint is a separate 0 to 100 checklist shown alongside the score: E-E-A-T signals, off-site authority, answer-first openings, schema completeness, freshness, AI bot access, heading coverage and entity consistency. It does not change the AI Readiness Score.

Off-site authority only uses checks we can verify:

  • A Wikidata entity whose official website is your domain, and its Wikipedia article. If an entity with your exact name lists a different website, the report says so instead of giving credit.
  • A LinkedIn company page, counted when your site links to it or the page exists at your brand's URL.

G2, Trustpilot, Capterra, Crunchbase and Reddit block automated requests, so we don't check them and never report them as missing. Check those yourself.

5. Where AI is used (and where it is not)

All AI calls run on your own OpenRouter key with the model you choose. AI is used for exactly these steps:

  • Business details suggestion (1 call): reads the start of your homepage and suggests name, industry, audience and keywords. You confirm or edit them before the audit runs.
  • Topic ideas and competitor comparison (1 call, retried once if the answer is unreadable): up to 20 questions in four categories, with more on request, up to 40 per category, plus a comparison if you named competitors. A topic that cites a number not found on your own site, or an outdated year, is rejected.
  • AI Citation Check (optional, see below).

AI does not calculate scores, count signals, check crawlers, choose playbook actions or write the AEO Pack. Those are fixed rules, which is why results are repeatable.

6. The AI Citation Check

  1. You choose the engines: Perplexity, Gemini, Claude, GPT, Grok, or a web-search model of your own. You see the estimated cost first.
  2. You choose the questions. By default your analysis model writes 8: 3 that name your business and 5 that do not. Or you write up to 25 of your own.
  3. Every question goes to every engine you chose, through OpenRouter with live web search on. These are the companies' models through their APIs, so their consumer apps can answer differently.
  4. We check each answer for your whole name or your domain. One more AI call lists the competitors named in each answer: businesses offering the same kind of product or service. Your own products, publications, marketplaces, delivery apps and tools that merely integrate with you are left out.

We count two groups apart. A question that already contains your name nearly always gets an answer naming you, so it says little about being recommended. The report leads with answers to questions that did not name you.

AI answers vary between runs and over time, so treat each check as a dated snapshot. The full answers are kept for your latest check, and a dated summary of each past check stays in your history.

7. How the AEO Pack is built

The 10 files are generated from what we found on your pages: titles, meta descriptions, main-content paragraphs, a logo you declare in schema or as an app icon, social profiles you link to, and FAQs you already show. Nothing is invented; anything we couldn't verify is a clearly marked [REPLACE: …] placeholder.

llms.txt follows the llmstxt.org format. Schema follows schema.org; FAQ markup only uses questions visible on your site, in line with Google's structured-data guidelines. The robots.txt additions follow RFC 9309 and include a sitemap line only if we found your sitemap. llms.txt is a proposed convention: some AI tools read it, and its effect on citations is not yet proven.

8. Limits you should know

  • We read up to 10 pages plus your sitemap. Content that isn't in either can be missed, so a “0” means “not found in what we checked”.
  • Platform scores and benchmarks are estimates and reference targets, not measurements from AI companies or other businesses.
  • No search-volume, ranking or traffic data is used.
  • Review sites (G2, Trustpilot, Capterra), Crunchbase and Reddit are not checked because they block automated requests.
  • Sites behind logins or strong bot protection may not be readable.
  • A better score does not guarantee AI assistants will cite you. It means you have fixed what we can measure.

Run this method on your site.

One payment, no subscription. The first 300 licences are $99, then $119. 14-day money-back guarantee.

See the method applied to real sites in the sample audits.