Crawler access test
Direct requests simulating GPTBot, ClaudeBot, PerplexityBot, and Googlebot against priority pages, confirming what content actually arrives without JavaScript execution.

AEO / Answer engine audit
A written diagnostic, not a dashboard. What blocks access, what confuses entity resolution, what schema is missing, and which pages could be extracted as an answer today.
Most brands starting an AEO program have never checked whether an assistant crawler can reach their site at all. That is not a criticism. Nobody thought to check, because until recently there was nothing checking for. The answer engine audit is the diagnostic that fills that gap: a structured review of access, entity clarity, schema, and content extractability, tested against the same crawlers and assistants that decide whether your brand gets cited.
We run this before any content rewrite or schema build, for the same reason a contractor inspects a foundation before framing a wall. If GPTBot is blocked in robots.txt, no amount of answer-first prose fixes anything. If your entity data is inconsistent across five directories, no schema block resolves the confusion by itself. The audit finds the actual blocking issue instead of assuming it and starting with the wrong fix.
The output is a written report, not a score out of one hundred. Scores invite comparison to a benchmark that does not really exist yet for this discipline. A written report can say precisely what we tested, what we found, what evidence supports the finding, and what to do about it in what order. That is more useful to a team that has to actually act on it.
This is also where we tell you plainly if AEO is not going to work yet. Sometimes the finding is that there is no genuine expertise or original content on the site worth citing, and the honest recommendation is to build that first. We would rather deliver that finding in an audit than run a program against it for six months.
What it is
Four layers, each capable of blocking citation on its own regardless of how good the others are.
Crawler access and rendering come first, because everything downstream depends on it. We check robots.txt and server configuration for explicit allowance of GPTBot, ClaudeBot, PerplexityBot, and Googlebot, then confirm what those crawlers actually receive by requesting pages without executing JavaScript. A page that looks complete in a browser and arrives empty to a non-rendering crawler is invisible to a meaningful share of assistant traffic, and this test catches that directly rather than assuming server rendering exists because a developer said so.
Entity and schema checks come next. We review whether Organization, LocalBusiness, and Service data is present, complete, and consistent with what appears on the visible page, and whether name, address, and sameAs references agree across the site and external profiles. Inconsistency here is one of the most common findings, usually the result of markup or directory listings that were correct once and were never updated after a rebrand or an office move.
Passage extractability is the content-level test: can a paragraph on this page be lifted out and used as a complete answer without the surrounding page for context. We sample priority pages against real prompts an assistant would receive, checking whether the direct answer appears early, in a self-contained sentence, under a heading phrased the way a person actually asks. Pages that bury the answer under three paragraphs of scene-setting fail this test even when the information is technically present.
We also run the site's actual prompt set against ChatGPT, Perplexity, Gemini, and AI Overviews to record current citation behavior as a baseline, the same instrumentation used in ongoing citation tracking. That baseline gives the remediation plan a before-state to measure against once fixes ship.
Fit
We would rather say no early than sell a program that cannot work.
Deliverables
A written report and a prioritized plan, not a generated scorecard.
Direct requests simulating GPTBot, ClaudeBot, PerplexityBot, and Googlebot against priority pages, confirming what content actually arrives without JavaScript execution.
A check of name, address, phone, and sameAs data across the site and external profiles, flagging every inconsistency found with its source.
A page-by-page review of which schema types are present, missing, or inaccurate relative to the visible content on that page.
A sample of priority pages tested against real buyer prompts, scored on whether a self-contained answer exists and where in the page it sits.
The current prompt set run against the major assistants to record existing citation behavior before any remediation work begins.
A ranked list of fixes, ordered by how much each one blocks citation and how much effort it takes, so the highest-leverage work happens first.
How we run it
One engagement, four to six weeks, ending in a written report and a working session.
We request priority pages as each assistant crawler would, without executing JavaScript, and record exactly what content is reachable.
Every entity data point and schema block gets checked against the visible page and against external profiles for consistency.
We test a representative set of pages against real prompts, scoring whether an answer can be lifted out complete and where it sits on the page.
The current prompt set runs across ChatGPT, Perplexity, Gemini, and AI Overviews to record who is cited today, establishing the before-state.
Findings are written up with evidence, then ranked into a remediation plan ordered by blocking severity, delivered in a working session.
It tests crawler access and rendering, entity data consistency, schema coverage and accuracy, and whether individual pages contain passages an assistant could extract as a complete answer. It ends with a baseline prompt run and a written, prioritized remediation plan.
GPTBot, ClaudeBot, and PerplexityBot for crawler access, and ChatGPT, Perplexity, Gemini, and Google AI Overviews for the baseline citation run. Claude is added where a technical or professional audience makes it relevant to the category.
Testing against the actual crawlers and assistants, rather than a proxy tool, is what makes the findings evidence rather than inference.
Where this connects
Findings here become the starting scope for the other five programs.
Every finding in the audit becomes an input to the answer-first rewrite work under AI search visibility once priority pages are identified.
Entity inconsistencies found in the audit get corrected through the disambiguation work in entity optimization before any new schema goes live.
Missing or inaccurate markup found during the audit gets rebuilt under schema markup using the component-generated approach described there.
The baseline prompt run in the audit becomes the starting point for ongoing AI citation tracking so progress has something to measure against.
See how the audit fits as the entry point to the full pillar on the AEO hub where the six programs and their sequence are explained.
Questions
The audit tells you whether the problem is access, entity data, schema, or the content itself.