AI Search Analyzer
Methodology

How we audit a site, and what the numbers mean

Everything we check, how we score it, how we gather AI answers and fact-check them, and what no one can promise. The numbers on this page come straight from the scoring code.

157checks
10categories
140measured directly
5AI tools asked
  1. ReadYour pages, as AI crawlers see them
  2. Check157 checks, each explained
  3. ScoreWeighted, with an AI access cap
  4. Ask AI5 AI tools, several phrasings
  5. Fact-checkEvery claim against your site

1Reading your site

Our crawler, AISearchAnalyzerBot, fetches your pages the way most AI crawlers do: plain HTML, no JavaScript. That's deliberate. If your content only appears after JavaScript runs, AI crawlers that skip JavaScript see an empty page, and so do we.

Free scan

Up to 50 pages and 141 checks, usually in under 30 seconds.

Deep audit

Up to 200 pages and all 157 checks, with speed tests on key pages and accessibility.

  • We follow robots.txt for our own crawler and never log in or submit forms.
  • We request your homepage once as a browser and once as an AI agent, to catch firewalls that turn AI crawlers away.
  • Google's PageSpeed test runs on your homepage with every scan, for real loading numbers and Google's four test scores.

2The checks

157 checks in 10 categories. Each is labeled measured (we observed it directly) or inferred (a heuristic, shown with that label). A check that can't finish says "could not verify" and never counts against you. Open a category to see every check in it.

AI crawler access15 checks, 20% of the score
CheckSeverityHowRuns in
robots.txt blocks an AI search crawler (OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User)CriticalMeasuredFree scan
robots.txt blocks an AI training crawler (GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot, Meta-ExternalAgent); shown as a choice, not a faultInfoMeasuredFree scan
robots.txt blocks Bingbot (Bing's index feeds ChatGPT search)CriticalMeasuredFree scan
robots.txt blocks Googlebot (feeds AI Overviews and Gemini)CriticalMeasuredFree scan
No robots.txt at allLowMeasuredFree scan
robots.txt returns 5xx or times out (crawlers may treat the whole site as blocked)HighMeasuredFree scan
robots.txt has invalid or ignored linesLowMeasuredFree scan
Site answers an AI crawler user agent with 403, a challenge page or different content than a browser (likely a firewall or "block AI bots" setting)HighInferredFree scan
Page uses noai / noimageai or similar directivesInfoMeasuredFree scan
Main content is missing from the raw HTML (AI crawlers that do not run JavaScript see an empty page)CriticalMeasuredFree scan
Significant content appears only after JavaScript (compared with a rendered copy)HighMeasuredDeep audit
Navigation links exist only after JavaScript, so crawlers cannot find other pagesHighMeasuredFree scan
llms.txt present or absent, and valid if present; framed honestly (low impact today)InfoMeasuredFree scan
Key pages lack direct, quotable answers (question headings followed by a concise answer)MediumInferredDeep audit
No visible or structured last-updated date on content pagesLowInferredFree scan
Crawling and indexing48 checks, 15% of the score
CheckSeverityHowRuns in
Internal links point to redirecting URLsMediumMeasuredFree scan
Pages return 4xxHighMeasuredFree scan
Pages return 5xxCriticalMeasuredFree scan
Redirect chains (more than one hop)MediumMeasuredFree scan
Redirect loopsCriticalMeasuredFree scan
Pages that time outHighMeasuredFree scan
Internal pages blocked by robots.txtMediumMeasuredFree scan
Pages with noindexMediumMeasuredFree scan
The homepage is noindexCriticalMeasuredFree scan
X-Robots-Tag header restricts indexingMediumMeasuredFree scan
nosnippet directive (blocks quoting in search and AI answers)HighMeasuredFree scan
noimageindex directiveLowMeasuredFree scan
Pages more than 4 clicks from the homepageLowMeasuredFree scan
Pages in the sitemap with no internal links pointing to themMediumMeasuredFree scan
Pages with no outgoing linksLowMeasuredFree scan
Pages return 200 but read as "not found"MediumInferredFree scan
No XML sitemap found (robots.txt or common paths)MediumMeasuredFree scan
Sitemap fails to parse or exceeds limitsMediumMeasuredFree scan
noindex pages in the sitemapMediumMeasuredFree scan
Sitemap pages blocked by robots.txtMediumMeasuredFree scan
Non-canonical pages in the sitemapLowMeasuredFree scan
Sitemap URLs that redirect or errorMediumMeasuredFree scan
Indexable pages with no canonicalLowMeasuredFree scan
More than one canonical tagMediumMeasuredFree scan
Relative canonical URLLowMeasuredFree scan
Canonical in HTML differs from the HTTP headerMediumMeasuredFree scan
Canonical points to a page that is itself canonicalized elsewhereMediumMeasuredFree scan
Canonical points to a noindex or blocked pageHighMeasuredFree scan
Canonical points to a redirectMediumMeasuredFree scan
Canonical points to an error pageHighMeasuredFree scan
Pages with identical contentMediumMeasuredFree scan
Near-duplicate pages (simhash)LowInferredFree scan
hreflang not bidirectionalMediumMeasuredFree scan
hreflang to a non-canonical pageMediumMeasuredFree scan
hreflang to a non-indexable pageMediumMeasuredFree scan
hreflang to a redirectLowMeasuredFree scan
hreflang to an error pageMediumMeasuredFree scan
hreflang set without x-defaultLowMeasuredFree scan
hreflang set without a self referenceLowMeasuredFree scan
Self-referencing hreflang does not match the page langLowMeasuredFree scan
Relative hreflang URLsLowMeasuredFree scan
Page referenced under several languagesLowMeasuredFree scan
rel next/prev without the matching linkLowMeasuredFree scan
URLs with underscoresInfoMeasuredFree scan
URLs with spacesLowMeasuredFree scan
URLs with repeated slashesLowMeasuredFree scan
Very long URLs or many parametersInfoMeasuredFree scan
Wrong or mismatched content typeLowMeasuredFree scan
On-page25 checks, 14% of the score
CheckSeverityHowRuns in
Missing or empty titleHighMeasuredFree scan
Title too shortLowMeasuredFree scan
Title too longLowMeasuredFree scan
Duplicate titles across pagesMediumMeasuredFree scan
More than one title tagMediumMeasuredFree scan
Brand name missing from the homepage titleLowMeasuredFree scan
Missing meta descriptionMediumMeasuredFree scan
Meta description too shortLowMeasuredFree scan
Meta description too longLowMeasuredFree scan
Duplicate meta descriptionsLowMeasuredFree scan
More than one meta descriptionLowMeasuredFree scan
Missing or empty H1MediumMeasuredFree scan
More than one H1LowMeasuredFree scan
Heading levels skip or are out of orderLowMeasuredFree scan
Too little text contentMediumMeasuredFree scan
Images without altMediumMeasuredFree scan
Alt text too longInfoMeasuredFree scan
Missing html langLowMeasuredFree scan
Invalid lang valueLowMeasuredFree scan
Missing Open Graph title, description or imageLowMeasuredFree scan
Missing Twitter cardInfoMeasuredFree scan
No favicon (shown beside results in search and AI answers)LowMeasuredFree scan
Meta tags placed in the bodyLowMeasuredFree scan
Duplicate id attributesInfoMeasuredFree scan
Internal links with generic anchor text ("click here")LowMeasuredFree scan
Links11 checks, 5% of the score
CheckSeverityHowRuns in
Broken internal linksHighMeasuredFree scan
Broken external linksLowMeasuredDeep audit
External links to redirectsInfoMeasuredDeep audit
Links using http://LowMeasuredFree scan
Too many links on one pageLowMeasuredFree scan
Internal links with nofollowMediumMeasuredFree scan
nofollow links to indexable pagesMediumMeasuredFree scan
Page receives both follow and nofollow internal linksLowMeasuredFree scan
External links without nofollow or sponsored where expectedInfoInferredFree scan
Links to localhost or 127.0.0.1MediumMeasuredFree scan
Important pages with very few internal linksMediumMeasuredFree scan
Speed and mobile19 checks, 8% of the score
CheckSeverityHowRuns in
Largest Contentful Paint, real users if available, else labHighMeasuredFree scan
Interaction to Next Paint (real users)MediumMeasuredFree scan
Cumulative Layout ShiftMediumMeasuredFree scan
Google speed score, mobileMediumMeasuredFree scan
Render-blocking resourcesMediumMeasuredDeep audit
Images not in a modern formatLowMeasuredDeep audit
Images larger than displayedLowMeasuredDeep audit
Large unused JavaScriptLowMeasuredDeep audit
Slow time to first byteMediumMeasuredFree scan
Heavy page (total bytes)LowMeasuredFree scan
Large image filesLowMeasuredFree scan
Images without width and heightLowMeasuredFree scan
picture element missing imgLowMeasuredFree scan
Excessive DOM sizeLowMeasuredFree scan
HTML or text assets served uncompressedMediumMeasuredFree scan
Static assets without cache headersLowMeasuredFree scan
Missing viewport metaHighMeasuredFree scan
Tap targets too small or closeLowMeasuredDeep audit
Text too small on mobileLowMeasuredDeep audit
Accessibility3 checks, 3% of the score
CheckSeverityHowRuns in
Low text contrastMediumMeasuredDeep audit
Form fields or buttons without accessible namesMediumMeasuredDeep audit
Invalid ARIA or missing landmarksLowMeasuredDeep audit
Security10 checks, 6% of the score
CheckSeverityHowRuns in
Site or pages served over httpCriticalMeasuredFree scan
http does not redirect to httpsHighMeasuredFree scan
TLS certificate expires within 21 daysHighMeasuredFree scan
https page loads http resourcesMediumMeasuredFree scan
Missing HSTSLowMeasuredFree scan
Missing Content Security PolicyInfoMeasuredFree scan
Missing X-Content-Type-OptionsInfoMeasuredFree scan
Forms on http pagesHighMeasuredFree scan
Forms posting to httpHighMeasuredFree scan
www and non-www both serve content without redirectingMediumMeasuredFree scan
Structured data10 checks, 12% of the score
CheckSeverityHowRuns in
No structured data anywhere on the siteHighMeasuredFree scan
No Organization or LocalBusiness on the homepage (how AI identifies who you are)HighMeasuredFree scan
Organization lacks sameAs links to official profilesMediumMeasuredFree scan
JSON-LD fails to parseHighMeasuredFree scan
Type is missing properties required for its rich resultMediumMeasuredFree scan
Structured data disagrees with visible content (price, name, rating)MediumInferredFree scan
Page type has no matching schema (Product, Article, FAQPage, Service, SoftwareApplication)LowInferredFree scan
No BreadcrumbList on deep pagesInfoMeasuredFree scan
Local business without address, hours or geo in schema (weighted up for local profiles)MediumMeasuredFree scan
Microdata or RDFa present (detected and validated alongside JSON-LD)InfoMeasuredFree scan
Content6 checks, 7% of the score
CheckSeverityHowRuns in
Hard-to-read text for the audience (grade level)LowInferredFree scan
No question-and-answer content where the category's customers ask questionsMediumInferredDeep audit
No comparison or "vs" page in a category where AI recommends competitorsMediumInferredDeep audit
Pricing not stated on the site (AI cannot answer "how much")MediumInferredFree scan
Content pages not updated in over 12 monthsLowInferredFree scan
Homepage does not state plainly what the business is, for whom, and whereHighInferredDeep audit
Trust and identity7 checks, 10% of the score
CheckSeverityHowRuns in
No About pageMediumMeasuredFree scan
No contact page or contact detailsMediumMeasuredFree scan
No privacy policy or termsLowMeasuredFree scan
Articles without an author or bylineLowMeasuredFree scan
Brand name spelled differently across title, schema, OG and footerMediumMeasuredFree scan
Local business name, address and phone inconsistent across pagesMediumMeasuredFree scan
No links to official social or directory profilesLowMeasuredFree scan

We also detect your platform, CDN and SEO plugin. They aren't findings; they let us write every fix for your setup.

3Scores

Each category starts at 100 and loses points for every failing check, weighted by severity and by how many pages it affects. The overall score is the weighted average of the categories.

What a failing check costs
−30Critical
−15High
−6Medium
−2Low
0Info
How much each category counts
  • AI crawler access20%
  • Crawling and indexing15%
  • On-page14%
  • Structured data12%
  • Trust and identity10%
  • Speed and mobile8%
  • Content7%
  • Security6%
  • Links5%
  • Accessibility3%

Structured data and identity weigh more than in a classic SEO audit, because they're how AI tools decide who you are.

The AI access cap

One rule overrides the average: when AI search tools are shut out, the score can't go above a cap, however good the rest is.

  1. 751 of the 5 AI tools fully blocked
  2. 652 blocked
  3. 553 or 4 blocked
  4. 45All 5 blocked, or the page is empty without JavaScript
The SEO grade

A separate number built from the classic categories.

  • Can Google find you30%
  • Page basics20%
  • Speed and mobile20%
  • Links10%
  • Security10%
  • Rich results10%
A90+B80+C65+D50+Fbelow 50

4AI answers

Memory and live search

We ask each tool from its own knowledge, and with live web search where it offers it. Being known only one way needs different fixes.

Several phrasings

One question is a sample, not a verdict, so we ask each question more than one way.

Official APIs

Answers can differ a little from the consumer apps, which personalize by user and location.

How fresh

The same question is answered once and reused: up to 6 days for ChatGPT and Perplexity, up to 13 for Claude, Gemini and ChatGPT with live search.

5Fact-checking

When a tool describes you, we compare its claims (prices, location, hours, services) with your site. When it explains why it left you out, we test each reason against your pages. You only fix what's really missing.

ConfirmedYour site says the same thing.
Not on your siteTrue or not, your site doesn't say it.
WrongYour site says something different.

6Limits

Scores and AI answers are estimates from samples at a point in time. AI tools change often and answer differently by user, place and phrasing. No one can guarantee a ranking, a citation or a recommendation, and we don't.

7Method changes

When we change a check, a weight or a score rule, it's dated here, so you can tell whether a score moved because your site changed or because we did.

  1. Small sites: on a real one-page site, an About section, contact details and a privacy link on the page count. On a site that links to pages we couldn't read, with fewer than three read, About, Contact and Policies say "could not verify" instead of failing.
  2. AI answers are reused for up to 6 days from ChatGPT (from memory) and Perplexity, and up to 13 days from Claude, Gemini and ChatGPT with live search, so weekly monitoring asks each tool fresh at least every two weeks.
  3. The AI access cap is graduated by how many of the five AI tools are fully blocked: 75 for one, 65 for two, 55 for three or four, 45 for all five or an empty-without-JavaScript page. Redirecting links are counted once per link, not once per page that carries them. Polish notes (lengths, heading order, generic link text, a second H1, noindex pages) count about a third, and an issue repeated across a large site counts less, calibrated on ten large sites.
  4. Added the SEO grade: six areas weighted 30, 20, 20, 10, 10 and 10 percent, with grades A from 90, B from 80, C from 65, D from 50 and F below. Every scan now records Google's four test scores, and speed uses real Chrome visitor data when Google has it.
  5. Deep audits gained checks that need more time: PageSpeed on key pages, external links, a comparison of the page as delivered and as rendered, and answer-readiness. Pages without a body tag are now read correctly instead of failing the scan.
  6. First published method: 157 checks, the category weights and severity penalties above, and the cap at 45 when AI crawlers can't read the site.