How it works

Methodology

CrawlWise uses a versioned checkset. The current version is 0.4.10. Scores are reproducible: the same pages, checkset and scan region should produce the same result, apart from timing noise.

A report keeps the checkset version it was scanned with, so updating the checkset never rewrites older reports.

What a scan covers

Each scan audits one to three pages on the same host: the URL you submit and up to two key pages you add. CrawlWise checks robots.txt for CrawlWiseBot before auditing any page, fetches the raw HTML and supporting files, then loads each page in Chromium at a 1365 × 900 desktop viewport. It does not sign in, submit forms, interact with controls, scroll the page or crawl the rest of the site.

Site checks run once: robots.txt, AI bot access, sitemap, resource access, llms.txt, HTTPS and security headers. Page checks run for every audited page and are merged for the score: a check fails if it fails on any page, warns if it warns anywhere, and passes only if every page passes. Each page also gets a diagnostic page score, and the report lists page findings separately.

The scanner identifies itself as CrawlWiseBot/1.0 and runs from an EU region. A bot challenge or access denial is reported as blocked, not as a failed score. A consent wall is reported as a content finding instead.

Scoring

Each check has a weight. A pass earns the full weight, a warning half, a failure zero. Checks that do not apply are excluded from the denominator. If less than 80% of the weight can be evaluated, the scan is marked incomplete and no score is shown.

Four critical failures cap the score: a noindex page caps at 30, missing HTTPS at 40, blocking all search and citation bots at 50, and serving no main content without JavaScript at 55.

Check statuses

StatusMeaningScoring
PassThe page meets the criterion.Full weight
WarningThe page partially meets it or is close to a boundary.Half weight
FailThe page misses the criterion.Zero
N/AThe check does not apply, for example no dated structured data.Excluded
BlockedThe target or a specific check was blocked.Excluded
ErrorThe check could not run.Excluded

A fully blocked target has no score. Individual blocked or errored checks are excluded from the denominator; too many of them leave too little weight to evaluate and mark the scan incomplete.

Grades

The score maps to a letter grade so reports are easy to compare at a glance.

GradeScoreWhat it means
A 90–100 Excellent agent readiness. The page is easy to fetch, read and trust.
B 80–89 Strong result. A small number of fixes would remove the remaining friction.
C 70–79 Fair. Several checks need attention before the page is reliably agent-ready.
D 60–69 Weak. Important signals are missing or broken.
E 50–59 Poor. Most checks need work.
F 0–49 Critical. The page is likely hard or impossible for agents to use.

Categories

CategoryWhat it coversWeight
Discovery Can crawlers and AI agents find the page? Covers robots.txt, citation bot access and sitemap discovery. 27
Content What a visitor or agent gets without JavaScript: main text, page structure, boilerplate and consent walls. 20
Schema Structured data: JSON-LD parses, core fields are present and dates are valid. 15
Agent Agent-specific signals: a Markdown version of the page and an llms.txt file. 12
Performance Fetch and render performance: TTFB, HTML payload, caching, resource budget and lab LCP/CLS. 15
Trust Security and trust: HTTPS, HSTS, security headers and redirect behaviour. 8
Freshness & A11y Machine-readable dates and automated accessibility checks. 3
API & agent protocols Discovery documents for sites with an API or app: API catalog, OAuth metadata, MCP and A2A cards, agent skills and WebMCP tools. Not scored. 0

Performance measurements

Performance checks include Time to First Byte, HTML size and caching, plus laboratory Largest Contentful Paint (LCP) and Cumulative Layout Shift (CLS) measurements from Chromium. The scan also records the page's network requests, total transfer, largest resources and render-blocking scripts. It names the element behind LCP and the top layout-shift sources. The scan uses an unthrottled browser and observes the initial viewport without simulated user interaction. These measurements help identify regressions; they are not Google PageSpeed Insights scores or field Core Web Vitals.

LCP passes at 2.5 seconds or less and CLS at 0.1 or less. Metrics are captured before the evidence screenshots, so a full-page capture cannot turn lazy below-the-fold images into a late LCP. Network, device and page state can change results between scans. Interaction to Next Paint (INP) is not reported because a single automated visit cannot represent real user interactions.

The thresholds follow published Core Web Vitals boundaries. Google's field classification uses the 75th percentile across visits, so this single-scan result is a diagnostic signal, not a field classification.

Page resources. The resource check passes at or below 1 MB transfer and 50 requests with no render-blocking scripts. It warns up to 2 MB, 80 requests and two render-blocking scripts, and fails above those limits. Sizes include response headers; a render-blocking script is a <script src> without async or defer. Module scripts (type="module") are deferred by default and are not counted as render-blocking.

Evidence and screenshots

Every check keeps machine-readable evidence. The report shows labelled values and thresholds, with a short explanation for performance metrics, and keeps the raw JSON available. Reports include an initial desktop viewport screenshot, a full-page desktop capture and a mobile viewport screenshot. Screenshots are private evidence and expire after seven days. The "What an agent sees" section shows the text extracted from HTML and, when the site serves it, the Markdown representation that agents can request or discover through a link. Reports from key-page audits show a score and findings for each audited page alongside the merged scan result.

Checks in 0.4.10

Discovery

CheckWhat it verifiesWeight
discovery.robots robots.txt is reachable and valid 2
discovery.ai-bots AI search and citation bots are allowed 6
discovery.ai-bot-access AI crawlers get the same page as a regular fetch 2
discovery.content-signal Content usage preferences for AI are declared (experimental) 0
discovery.sitemap sitemap.xml is valid and current 2
discovery.indexability The page is indexable and has a consistent canonical 8
discovery.redirects Redirects are permanent and short 3
discovery.resource-access robots.txt allows CSS and JavaScript needed for rendering 3
discovery.hreflang hreflang annotations are complete 1

Content

CheckWhat it verifiesWeight
content.no-js Main content is available without JavaScript 7
content.structure Document structure is extractable 5
content.boilerplate Main content is not buried in boilerplate 1
content.images Content images are described and efficient 3
content.social Social preview metadata is complete 1

Schema

CheckWhat it verifiesWeight
schema.parses-core JSON-LD parses and describes the page 8
schema.dates Structured data dates are valid 3
schema.entities Structured data describes the page entity 4

Agent

CheckWhat it verifiesWeight
agent.markdown Markdown is available for agents 8
agent.llms-txt llms.txt directory is present (experimental) 2
agent.markdown-negotiation Markdown is advertised and negotiated correctly 2

API & agent protocols

For sites with an API, an app or actions agents can take. These checks carry no weight, appear in their own report tab, and a content site can ignore them.

CheckWhat it verifiesWeight
api.webmcp WebMCP tools are complete (experimental) 0
api.catalog An API catalog lists the site's APIs (experimental) 0
api.oauth-discovery OAuth or OpenID Connect discovery is published (experimental) 0
api.oauth-protected-resource OAuth protected resource metadata is published (experimental) 0
api.mcp-server-card An MCP server card describes the site's MCP server (experimental) 0
api.a2a-agent-card An A2A agent card describes the site's agent (experimental) 0
api.agent-skills An agent skills index lists the site's skills (experimental) 0
api.ard An ARD manifest lists the site's agent resources (experimental) 0

Performance

CheckWhat it verifiesWeight
perf.ttfb Time to first byte is reasonable 2
perf.payload HTML payload is small and compressed 2
perf.caching HTML has validators and cache headers 2
perf.resources Page resources stay within a reasonable budget 3
perf.lcp Largest Contentful Paint is under 2.5 seconds 3
perf.cls Cumulative Layout Shift is under 0.1 3

Trust

CheckWhat it verifiesWeight
trust.https HTTPS, HSTS and redirects are correct 6
trust.headers Security headers are present 2

Freshness & A11y

CheckWhat it verifiesWeight
freshness.signals Freshness signals are present 1
a11y.axe Automated accessibility checks pass 2

What this is not

CrawlWise is not a ranking tool and does not measure brand mentions in AI answers. It is a technical audit of what a crawler or agent can fetch, parse and quote. A high score does not guarantee citations; a low score is a concrete list of things to fix.

llms.txt is marked experimental because it is a community proposal, not a standard, and absence of the file does not block search or citation.

Last updated .