AI Readiness Score
A single 0–100 score that measures how ready your site is for AI crawlers and agents. It combines three sub-scores: Crawlability (40% weight), Agent Readiness (30%), and Agent Interaction (30%). Floor rule: the overall score cannot exceed 60 if any sub-score falls below 20, regardless of how well the other two perform.
Site Key
A unique token in the format cr_live_* that identifies your site for analytics ingest. Generated automatically when you register a domain. You pass the site key to the middleware — it's included in every ingest event sent to /api/v1/ingest. The site key is not a secret, but it is unique per domain and rate-limited. It is different from an API key.
API Key
A Bearer token used for authenticated API access — running scans, managing sites, listing results. Created from the dashboard or via POST /api/v1/api-keys. The full secret is shown exactly once at creation time; store it immediately. API keys are scoped to your user or organization and subject to tier-based rate limits. Different from a site key: API keys authenticate you, site keys identify your site.
Integration Types
Middleware runs server-side on every inbound request before your application handles it. It reads the User-Agent header, detects AI crawlers, and fires an ingest event asynchronously without blocking the response. Because it runs at the edge, it captures crawlers that never execute JavaScript — the bots most likely to be indexing your content for AI answers. Coverage is approximately 100% of bot traffic.
Script tag runs client-side after the page loads in a browser. It only fires when JavaScript executes successfully, which means any crawler that does not run a JS engine (the majority of AI crawlers) is invisible to it. Use the script tag only when you cannot deploy server-side middleware.
Middleware Configuration
All four middleware adapters (@crawlready/middleware/next, /express, /cloudflare, and /next for Vercel Edge) accept the same configuration options:
| Option | Type | Default | Description |
|---|---|---|---|
siteKey | string | required | Your site key from the CrawlReady dashboard (format: cr_live_*) |
botFilter | 'ai-only' | 'all' | 'ai-only' | Track only AI crawlers, or all 86+ known bots |
endpoint | string | CrawlReady ingest URL | Override the ingest endpoint (useful for testing) |
onBotDetected | function | — | Called synchronously before each ingest event; return false to suppress it |