GEO / AI Answer-Engine Readiness Audit
geo_auditAudit a page's AI visibility: score how easily ChatGPT, Claude, Perplexity, Gemini, and Copilot can fetch, parse, and cite it. Finds crawler blocks and JavaScript-rendered content issues.
Instructions
Score how readily an AI answer engine (ChatGPT, Claude, Perplexity, Gemini, Copilot) can fetch, parse and cite this page. Weighted across: AI crawler access (25), server-rendered content (20), structured data (15), extractable structure (15), authorship & entity signals (10), freshness (8) and content depth (7).
Two things this catches that a classic SEO tool does not:
Pages that rank fine in Google but are invisible to AI assistants, because most AI crawlers do not execute JavaScript and the content only appears after hydration.
robots.txt rules that block AI search crawlers (OAI-SearchBot, Claude-SearchBot, PerplexityBot) — the ones that build citation indexes — as opposed to the training crawlers people usually mean to block.
Args:
url (string): the page to audit.
response_format ('markdown' | 'json'): output format (default 'markdown').
Returns: { geo{score, grade, signals[], top_recommendations[]}, rendering, crawler_access, llms_txt, robots }.
Example: "Is https://example.com/guide ready to be cited by ChatGPT?" -> geo_audit(url="https://example.com/guide"). Note: llms.txt presence is reported but deliberately NOT scored — it is a community proposal with no committed vendor support, and Google has stated it does not use it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Page URL to analyse, e.g. 'https://example.com/blog/post'. The scheme defaults to https://. | |
| response_format | No | Output format: 'markdown' for a human-readable summary (default) or 'json' for the full structured payload. | markdown |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| geo | Yes | ||
| robots | Yes | ||
| llms_txt | Yes | ||
| rendering | Yes | ||
| crawler_access | Yes |