The ILAA Site AEO Audit is a 15-minute diagnostic that shows exactly why an AI search engine answers some sites and ignores others. Point it at any URL, wait for the scan, and you get a six-dimension scorecard plus a ranked fix list. This walkthrough covers every field in the report, how to read each dimension, and the order in which to fix what it finds.
What the Audit Checks in 6 Dimensions
The report is split into six scored cards. Each card tests one concrete signal that AI search engines use when they decide which source to cite. There is no abstract AEO philosophy here — only pass/fail and fix instructions.
| Dimension | What it checks | Why it matters |
|---|---|---|
| Answer Readiness | Whether the page contains direct, extractable answer fragments for likely queries. | AI answers quote or paraphrase pages that state a clear answer in the first 100 words. |
| Schema Coverage | Presence and validity of structured data that labels facts, FAQs, products, and organizations. | Without schema, AI engines must guess what a fact means and where it belongs. |
| Crawlability for AI Bots | Robots.txt, meta robots, response codes, and rendering access for major AI crawlers. | A page that blocks AI crawlers cannot be cited, no matter how good the content is. |
| llms.txt Presence | Whether /llms.txt exists, is parseable, and lists the site’s authoritative URLs. | Many engines now treat llms.txt as a compact permission and content map. |
| Entity & Authority Signals | Author bylines, About pages, contact details, and external corroboration patterns. | AI engines prefer sources they can verify against known entities. |
| Content Architecture | Headings, tables, lists, and summary boxes that make extraction easy. | Structured content lowers the cost of extraction and raises citation probability. |
Each dimension scores 0–100. The overall score is the unweighted average, but the fix priority list is weighted by impact and effort. A low crawlability score is treated as a blocker because it prevents every other improvement from being discovered.
Step 1: Enter Your URL
Open /tools/site-aeo-audit. You see one input field, one optional crawl-depth selector, and a start button.
- URL field. Paste the exact page you want audited. This is usually a homepage, a pillar page, or a high-intent landing page. The audit can also run on a full domain if you switch the mode from “Single page” to “Domain crawl.”
- Crawl depth. For a 15-minute audit, leave this at “Page only.” Domain crawl is useful for confirming that llms.txt and robots.txt are consistent across the site, but it takes longer and is not required for the first pass.
- Start audit. The tool fetches the live page, renders JavaScript where needed, downloads headers, robots.txt, and any linked llms.txt, then runs all six checks.
After 30–90 seconds you land on the results page. At the top is the overall score, a one-sentence verdict, and the “Fix first” list. Everything below that is the six dimension cards.
Step 2: Review Answer-Block Findings
The first card is Answer Readiness. It does not grade writing quality. It grades whether an AI engine can plausibly lift a snippet from the page and use it as a direct answer.
The report breaks this into four checks:
- First-paragraph answer. Does the first 100 words contain a concise answer to an implied question? Examples: “Site AEO Audit checks six dimensions in under 15 minutes,” or “Our schema FAQ generator creates question-answer markup in one click.”
- Definition or how-it-works statement. Is there a sentence that explains what the thing is or how it works in plain language?
- List or step structure. Are there numbered steps, bullets, or a table that the engine can map to a sequence answer?
- No answer buried behind click. Is the answer present in the initial HTML, not loaded after a user interaction?
If the card is red, expand it and read the “Missing answer types.” These are the query shapes the tool could not match on the page. Common examples include:
What is [product]?
How does [product] work?
What are the main features of [product]?
How much does [product] cost?
Is [product] secure?
Fix each missing type by adding a dedicated paragraph, list, or table. Put the answer near the top of the section, then follow it with proof, examples, or nuance. Do not start sections with background history; start with the answer.
Step 3: Check Schema Coverage
The second card is Schema Coverage. It scans for JSON-LD and microdata that identify entities and facts. A page can have perfect prose and still fail this card if the facts are not labeled.
The tool checks for these schema types, in order of priority:
| Schema type | What it labels | Common failure |
|---|---|---|
| FAQPage | A list of questions and accepted answers. | FAQ content exists but is plain HTML with no JSON-LD wrapper. |
| Organization / WebSite | The site owner, logo, URL, and social profiles. | Present only on the homepage or missing entirely. |
| Product / SoftwareApplication | Name, description, operating system, offers, ratings. | Features written as bullets instead of structured properties. |
| BreadcrumbList | Page hierarchy. | Breadcrumbs visible to users but not encoded in JSON-LD. |
| Article / BlogPosting | Author, date published, date modified, headline. | Missing author or updated date on blog posts. |
If FAQPage is missing, the fastest fix is the Schema FAQ Generator. Paste your questions and answers, copy the JSON-LD block, and place it inside a <script type="application/ld+json"> tag in the page head or before the closing body tag. Validate the output in the tool’s preview pane before publishing.
The audit also flags syntax errors. Even a single trailing comma or mismatched brace can invalidate the entire JSON-LD block. When the card shows “Schema parse error,” fix the JSON first, then re-run the audit.
Step 4: Review Crawlability for AI Bots
The third card is the gatekeeper. If AI crawlers cannot reach the page, nothing else in the audit matters. The tool checks five signals:
- HTTP status. The page must return 200 OK. 301/302 chains and 404s are flagged as hard blockers.
- Robots.txt. The tool parses
/robots.txtfor the most common AI crawlers: ChatGPT-User, GPTBot, PerplexityBot, Claude-Web, anthropic-ai, and cohere-ai. If your page is disallowed for any of them, the card turns red. - Meta robots. The page must not carry
<meta name="robots" content="noindex">. A page-level noindex blocks every crawler, including AI crawlers. - Rendering. The tool renders the page with a headless browser and compares the rendered HTML to the raw HTML. If critical content is injected by JavaScript without a fallback, the card warns.
- Rate limiting / Cloudflare challenges. If the server returns 403 or an interstitial to the AI crawler, the audit flags it. This is not always intentional; it is often a WAF default.
If you want AI engines to cite your content, the safest robots.txt pattern is to allow the major AI crawlers on the paths you want cited. Example:
User-agent: ChatGPT-User
Disallow:
User-agent: GPTBot
Disallow:
User-agent: PerplexityBot
Disallow:
User-agent: anthropic-ai
Disallow:
User-agent: Claude-Web
Disallow:
If you need to block crawlers from private or pricing pages, disallow those specific paths rather than the whole site. Re-run the audit after each robots.txt change because the tool reads the live file.
Step 5: Check llms.txt Presence
The fourth card checks for https://yourdomain.com/llms.txt. This plain-text file is becoming the standard way to tell AI engines which pages represent your authoritative answers.
The audit verifies three things:
- File exists and returns 200. A missing file or a 404 fails the card immediately.
- Parseable format. Each line should be a URL, optionally followed by a short description separated by a pipe. Blank lines and comments starting with # are allowed.
- Relevant URLs included. The file should list pages that answer high-value questions, not every blog post ever published.
A good llms.txt for a SaaS homepage looks like this:
# MySaaS - authoritative pages for AI search
https://mysaas.com/ # Product overview and core value
https://mysaas.com/features # Feature list and comparison
https://mysaas.com/pricing # Pricing and plan limits
https://mysaas.com/security # Security, compliance, and data handling
https://mysaas.com/docs/api # API reference and getting started
Use the llms.txt Generator to create the file. Paste your five to ten most authoritative URLs, add one-line descriptions, and download the formatted text. Upload it to your root domain, then return to the audit and re-scan.
Step 6: Prioritize Fixes
The “Fix first” list is the most important part of the report. It ranks issues by the rule: a blocker that breaks discovery is fixed before a polish item that improves selection.
| Priority | Typical issue | Action |
|---|---|---|
| P0 — Discovery blocker | Robots.txt disallows AI crawlers, page returns 404, noindex tag present. | Fix robots.txt or remove noindex. Re-audit to confirm 200 and allow. |
| P1 — Extraction blocker | No first-paragraph answer, missing FAQPage schema, page renders critical content only in JS. | Add answer fragments, generate FAQ JSON-LD, add server-side fallback. |
| P2 — Citation booster | Missing Organization schema, no author byline, weak heading structure. | Add Organization and Article schema, author boxes, H2/H3 hierarchy. |
| P3 — Long-term authority | No About page, no contact details, no external corroboration. | Build About/Contact pages, link to public profiles, earn independent mentions. |
Do not work down the list in score order. A page with a 90 in Schema Coverage and a 0 in Crawlability should be fixed for crawlability first. The score is informational; the priority list is operational.
Worked Example: Auditing a SaaS Homepage
Let’s walk through a concrete run on a fictional SaaS homepage at https://example-saas.com.
Step 1 — Enter URL. I paste https://example-saas.com, leave crawl depth at “Page only,” and start the audit. After 45 seconds the overall score is 54.
Step 2 — Answer Readiness. Score: 35. The first paragraph reads: “At ExampleSaaS, we believe workflow automation should be simple, powerful, and accessible to every team.” That is a mission statement, not an answer. The tool flags missing answers for “What is ExampleSaaS?” and “How does ExampleSaaS work?” I rewrite the hero section to start with: “ExampleSaaS is a workflow automation platform that connects your apps, triggers actions on events, and logs every run in one dashboard.” Score jumps to 72.
Step 3 — Schema Coverage. Score: 40. The page has Organization schema but no FAQPage, no Product schema, and no BreadcrumbList. I use the Schema FAQ Generator to create FAQPage markup for the five most common questions and add SoftwareApplication schema for the product. Score rises to 88.
Step 4 — Crawlability. Score: 0. The site’s default robots.txt blocks every crawler except Googlebot because it was copied from an old SEO template. I replace the wildcard disallow with targeted allows for AI crawlers and a disallow only for /admin/ and /billing/. Score becomes 100 after re-audit.
Step 5 — llms.txt. Score: 0. The file does not exist. I use the llms.txt Generator to create a file listing the homepage, features, pricing, security, docs, and a single flagship case study. I upload it to the root. Score becomes 95.
Step 6 — Entity & Authority. Score: 62. The homepage has no visible author or team section, and the About page is hidden in the footer. I add a team module with names and LinkedIn links, and I update the Organization schema with sameAs links to Twitter, LinkedIn, and Crunchbase. Score rises to 80.
Step 7 — Content Architecture. Score: 70. Headings jump from H1 to H4, and feature lists are styled paragraphs instead of real <ul> elements. I restructure to H1 → H2 → H3 and convert feature lists to unordered lists. Score rises to 91.
Final re-audit after all fixes: overall score 88. The “Fix first” list is now empty except for one long-term suggestion to add a public changelog for ongoing authority.
After the Audit: What to Fix First
When the audit finishes, do not try to fix everything at once. Use this order.
- Make the page reachable. Confirm status 200, remove noindex, and allow AI crawlers in robots.txt. If the page is not reachable, stop and re-audit before moving on.
- Make answers extractable. Add first-paragraph answers for each high-value question. Add FAQPage schema for the same set. This is the highest-leverage content change.
- Label the entity. Add Organization, WebSite, and — for articles — author Article schema. Add visible bylines and a clear About page.
- Publish llms.txt. List only authoritative, evergreen pages. Re-audit to confirm the file is found and parseable.
- Clean the structure. Fix heading hierarchy, replace styled paragraphs with real lists and tables, and ensure critical content is in the server-rendered HTML.
- Build authority over time. Earn independent mentions, keep contact details accurate, and keep the llms.txt file updated when major pages change.
Each fix should be followed by a re-audit. The tool is fast enough that running it after every change keeps your scorecard honest and prevents one mistake from masking another.
FAQ
How long does the audit take?
Most single-page audits finish in 30–90 seconds. A domain crawl can take several minutes depending on the number of URLs.
Can I audit a competitor?
Yes. The tool reads public pages the same way an AI crawler does. You can use it to understand why a competitor’s page is being cited ahead of yours.
Does a higher score guarantee citations?
No. The score measures technical readiness. Citations also depend on topical relevance, domain authority, and how well your answer matches the specific query. A high score removes the reasons AI engines commonly skip a page.
Do I need to add FAQ schema to every page?
No. Add FAQPage schema to pages that already contain questions and answers that you want engines to surface directly. Do not invent FAQs just to add schema.
Will allowing AI crawlers hurt my SEO?
No. Allowing ChatGPT-User, GPTBot, PerplexityBot, Claude-Web, and similar crawlers does not affect Google rankings. These crawlers read pages for citation and summarization, not for traditional search ranking signals.
What if my site uses a JavaScript framework?
The audit renders JavaScript, so it will see content that depends on client-side rendering. However, answer fragments and schema should still be present in the server-rendered HTML for reliability. Use dynamic rendering or server-side generation for the most important facts.
How often should I re-run the audit?
Run it after any major page update, robots.txt change, or schema addition. For sites in active optimization, once a week is a useful cadence. Otherwise, once a month is enough.
Where can I run the audit?
Use the Site AEO Audit tool on iloveaiagent.com. It is free, runs in the browser, and needs no account.
Run Your Audit Now
The fastest way to apply this walkthrough is to run the audit on your own site. Visit /tools/site-aeo-audit, paste your URL, and fix the first item the tool flags. Re-run, fix the next item, and repeat. In 15 minutes you will have removed the most common reasons AI search engines pass your pages over.