Full AEO audit — runs 9 component probes in parallel and returns one
headline 0–100 score, five category breakdowns, top issues, and ranked
recommendations. Bills 3 credits (premium orchestration).
Example response
{
"status": "success",
"url": "https://example.com",
"overall_score": 29,
"overall_grade": "F",
"category_scores": {
"discoverability": 66.7,
"content_quality": 30,
"structured_data": 0,
"answerability": 30,
"citability": 0
},
"top_issues": [
"Meta: Title is 14 characters; aim for 30–60.",
"Meta: Missing meta description.",
"Meta: Missing rel=canonical link."
],
"ranked_recommendations": [
{
"priority": "high",
"category": "structured_data",
"action": "No JSON-LD found at all. This page is effectively invisible to AI answer engines."
},
{
"priority": "high",
"category": "structured_data",
"action": "Add FAQPage schema — earns AI Overview citation on question queries. Highest single-schema impact for AEO."
},
{
"priority": "high",
"category": "structured_data",
"action": "Add Article schema — basic eligibility for Google AI Overview."
},
{
"priority": "medium",
"category": "citability",
"action": "Add concrete numbers (percentages, dollar amounts, dates). LLMs pull-quote specifics; they rewrite vague claims."
},
{
"priority": "medium",
"category": "citability",
"action": "Name more specific entities (companies, products, people, places). LLMs preferentially cite pages with high named-entity density."
},
"… (+2 more)"
],
"components": {
"meta_audit": {
"status": "success",
"url": "https://example.com",
"final_url": "https://example.com",
"bot_blocked_at_origin": false,
"proxy_used": "brightdata",
"is_likely_404": false,
"soft_404_signals": [],
"score": 40,
"grade": "D",
"title": "Example Domain",
"title_length": 14,
"meta_description": null,
"meta_description_length": 0,
"h1_count": 1,
"h1_text": "Example Domain",
"canonical": null,
"robots_directive": null,
"is_indexable": true,
"viewport": "width=device-width, initial-scale=1",
"og_image": null,
"og_title": null,
"og_description": null,
"issues": [
"Title is 14 characters; aim for 30–60.",
"Missing meta description.",
"Missing rel=canonical link.",
"Missing og:image (used by social previews and many AI crawlers)."
]
},
"readability": {
"status": "success",
"text_byte_count": 142,
"word_count": 21,
"sentence_count": 2,
"syllable_count": 41,
"reading_time_min": 1,
"scores": {
"flesch_reading_ease": 26.98,
"flesch_kincaid_grade": 12.1,
"gunning_fog": 13.72,
"smog_index": 0,
"automated_readability_index": 11.2,
"coleman_liau_index": 14.36
},
"summary": {
"band": "very_difficult",
"label": "College-graduate level; very difficult."
}
},
"snippet_candidates": {
"status": "success",
"paragraphs": [],
"lists": [],
"tables": [],
"total_candidates": 0
},
"schema_coverage": {
"status": "success",
"url": "https://example.com",
"final_url": "https://example.com",
"score": 0,
"grade": "F",
"bot_blocked_at_origin": false,
"proxy_used": "brightdata",
"json_ld_types_present": [],
"json_ld_block_count": 0,
"microdata_types_present": [],
"aeo_critical_present": [],
"aeo_critical_missing": [
"Article",
"BlogPosting",
"BreadcrumbList",
"FAQPage",
"HowTo",
"… (+7 more)"
],
"aeo_critical_legend": {
"Article": "Standard article — basic AI Overview eligibility.",
"NewsArticle": "Time-sensitive content — Top Stories eligibility.",
"BlogPosting": "Blog-format article variant — adds publishDate weight.",
"FAQPage": "Question/answer pairs — extremely AI-friendly, often quoted verbatim by Perplexity/ChatGPT.",
"HowTo": "Step-by-step content — high citation rate in 'how do I' queries.",
"Product": "E-commerce — required for Shopping Graph + AI shopping answers.",
"Recipe": "Cooking content — required for the Recipe answer panel.",
"Organization": "Site/brand identity — required for knowledge-panel candidacy.",
"WebSite": "Site-level signals — enables Sitelinks Search Box.",
"BreadcrumbList": "Navigation path — improves SERP display and AI citation chain.",
"Person": "Author identity — strongest E-E-A-T signal.",
"Review": "Star-rated reviews — pull-quoted in AI shopping answers."
},
"open_graph_present": false,
"open_graph_field_count": 0,
"twitter_card_present": false,
"twitter_card_field_count": 0,
"recommendations": [
"No JSON-LD found at all. This page is effectively invisible to AI answer engines.",
"Add FAQPage schema — earns AI Overview citation on question queries. Highest single-schema impact for AEO.",
"Add Article schema — basic eligibility for Google AI Overview.",
"Add Organization schema with logo + sameAs — required for knowledge-panel candidacy.",
"Add BreadcrumbList — improves SERP display and helps LLMs understand site hierarchy."
]
},
"citation_readiness": {
"status": "success",
"url": "https://example.com",
"final_url": "https://example.com",
"bot_blocked_at_origin": false,
"proxy_used": "brightdata",
"score": 0,
"grade": "F",
"score_breakdown": {
"numerical_specifics_max20": 0,
"named_entities_max20": 0,
"authoritative_outbound_links_max25": 0,
"author_byline_max15": 0,
"last_updated_max10": 0,
"content_length_max10": 0
},
"signals": {
"numerical_specifics": {
"count": 0,
"examples": []
},
"named_entities": {
"count": 0,
"examples": []
},
"authoritative_outbound_links": {
"count": 0,
"domains": []
},
"has_author_byline": false,
"author_name": null,
"has_last_updated": false,
"last_updated": null,
"word_count": 21
},
"recommendations": [
"Add concrete numbers (percentages, dollar amounts, dates). LLMs pull-quote specifics; they rewrite vague claims.",
"Name more specific entities (companies, products, people, places). LLMs preferentially cite pages with high named-entity density.",
"Add outbound citations to authoritative sources (.gov, .edu, reputable news). Boosts perceived trustworthiness for both Google and LLM crawlers.",
"Add a visible author byline + meta name='author'. The single strongest E-E-A-T signal for ChatGPT and Google AI Overview.",
"Add a visible 'last updated' date + article:modified_time meta tag. LLMs heavily prefer recent content; stale-looking pages get skipped.",
"… (+1 more)"
]
},
"ai_bot_allowlist": {
"status": "success",
"domain": "example.com",
"robots_url": "https://example.com/robots.txt",
"robots_status": 404,
"results": [
{
"bot": "GPTBot",
"vendor": "OpenAI",
"purpose": "Trains GPT models.",
"allowed": true,
"explicit_rule": false,
"reason": "no_robots_txt"
},
{
"bot": "ChatGPT-User",
"vendor": "OpenAI",
"purpose": "Live browsing during ChatGPT conversations.",
"allowed": true,
"explicit_rule": false,
"reason": "no_robots_txt"
},
{
"bot": "OAI-SearchBot",
"vendor": "OpenAI",
"purpose": "Powers ChatGPT search results.",
"allowed": true,
"explicit_rule": false,
"reason": "no_robots_txt"
},
{
"bot": "ClaudeBot",
"vendor": "Anthropic",
"purpose": "Trains Claude models.",
"allowed": true,
"explicit_rule": false,
"reason": "no_robots_txt"
},
{
"bot": "Claude-Web",
"vendor": "Anthropic",
"purpose": "Live browsing in Claude conversations.",
"allowed": true,
"explicit_rule": false,
"reason": "no_robots_txt"
},
"… (+9 more)"
],
"summary": {
"total_bots_checked": 14,
"explicitly_allowed": 0,
"explicitly_blocked": 0,
"implicit_default": 14
}
},
"llm_fetch_simulator": {
"status": "success",
"url": "https://example.com",
"bots_probed": 10,
"results": [
{
"bot": "GPTBot",
"vendor": "OpenAI",
"ua": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.2; +https://openai.com/gptbot",
"status": 200,
"final_url": "https://example.com",
"content_length_bytes": 559,
"visible_text_chars": 142,
"visible_words": 21,
"visible_text_preview": "Example Domain Example Domain This domain is for use in documentation examples without needing permission. Avoid use in operations. Learn more",
"received_full_content": false,
"reason": null
},
{
"bot": "ChatGPT-User",
"vendor": "OpenAI",
"ua": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot",
"status": 200,
"final_url": "https://example.com",
"content_length_bytes": 559,
"visible_text_chars": 142,
"visible_words": 21,
"visible_text_preview": "Example Domain Example Domain This domain is for use in documentation examples without needing permission. Avoid use in operations. Learn more",
"received_full_content": false,
"reason": null
},
{
"bot": "OAI-SearchBot",
"vendor": "OpenAI",
"ua": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot",
"status": 200,
"final_url": "https://example.com",
"content_length_bytes": 559,
"visible_text_chars": 142,
"visible_words": 21,
"visible_text_preview": "Example Domain Example Domain This domain is for use in documentation examples without needing permission. Avoid use in operations. Learn more",
"received_full_content": false,
"reason": null
},
{
"bot": "ClaudeBot",
"vendor": "Anthropic",
"ua": "Mozilla/5.0 (compatible; ClaudeBot/1.0; [email protected])",
"status": 200,
"final_url": "https://example.com",
"content_length_bytes": 559,
"visible_text_chars": 142,
"visible_words": 21,
"visible_text_preview": "Example Domain Example Domain This domain is for use in documentation examples without needing permission. Avoid use in operations. Learn more",
"received_full_content": false,
"reason": null
},
{
"bot": "PerplexityBot",
"vendor": "Perplexity",
"ua": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot",
"status": 200,
"final_url": "https://example.com",
"content_length_bytes": 559,
"visible_text_chars": 142,
"visible_words": 21,
"visible_text_preview": "Example Domain Example Domain This domain is for use in documentation examples without needing permission. Avoid use in operations. Learn more",
"received_full_content": false,
"reason": null
},
"… (+6 more)"
],
"summary": {
"all_bots_received_content": false,
"success_count": 0,
"blocked_count": 0,
"js_only_count": 0,
"error_count": 0,
"cloaking_detected": false
}
},
"redirects": {
"status": "success",
"starting_url": "https://example.com",
"final_url": "https://example.com",
"final_status": 200,
"hops": [
{
"url": "https://example.com",
"status": 200,
"location": null
}
],
"hop_count": 1,
"elapsed_ms": 302
},
"llms_txt_audit": {
"status": "success",
"domain": "example.com",
"llms_txt_url": "https://example.com/llms.txt",
"exists": false,
"score": 0,
"grade": "F",
"recommendations": [
"Create an llms.txt file at the site root.",
"Follow the convention at https://llmstxt.org/",
"Cover at minimum: about, product, pricing, API reference, blog posts."
]
}
}
}