Full GEO Audit
Quick facts
- Difficulty
- Advanced
- Time
- 1–2 days for a first full audit, ~half-day for a re-audit
- Prerequisites
- GEO Metrics, Generative Engine Optimization
- What this is
- A periodic, site-wide review that checks six dependent areas, assigns severity to each finding, and produces an actionable report
- Structure
- Six layers reviewed in order: access → rendering → structure → content → authority → outcomes
- Scoring
- Use the per-layer severity rubric to guide action; publish a 0–100 composite only when its weighting method is documented
- Effort
- ~1–2 days for a first full audit, ~half-day for a re-audit
1. What a full GEO audit covers
A full GEO audit is a periodic, site-wide review of the conditions that determine whether AI engines can fetch, parse, use, and cite your pages. The implementation work spans several disciplines: citability, crawler-access auditing, schema implementation, llms.txt deployment, writing for citation, and citation tracking. The audit reviews these areas in dependency order, assigns severity to each finding, and turns the results into an actionable report.
The six layers, in order, are access → rendering → structure → content → off-site authority → outcomes. If a prerequisite fails, findings in later layers may not be meaningful (§3).
A GEO audit connects ongoing monitoring with improvement planning:
- AI Citation Tracking records what engines actually do; the audit uses those results to investigate why.
- The GEO Maturity Model turns the diagnosis into a prioritized improvement plan.
“GEO audit” is a general industry term. The specific six-layer model used here is GEO Wiki’s framework, not an established standard. Its value lies in the dependency order explained in §3, not in external endorsement.
2. Before you audit — scope, inputs, trigger
Four decisions determine how every later finding should be interpreted. Set them before collecting data; otherwise, the report may combine results that are not comparable.
| Decision | Options | Rule of thumb |
|---|---|---|
| Scope | Whole domain / one locale / one subfolder / key templates | Audit one clearly defined scope; findings drawn from mixed scopes are difficult to act on |
| Engine set | The engines your audience actually uses | Name every engine in the report instead of referring to “AI” as a single system |
| Competitor set | None / a named set used for comparison | Competitive findings are relative; keep them separate from absolute findings. Define the metrics using GEO Metrics |
| Baseline | First audit / comparison with a previous audit or tracking log | Without a baseline, you have a snapshot rather than a trend; state which one you are reporting |
When to run it. Audit quarterly and after events that may change the results: a site migration, a redesign or SSR/rendering change, a robots.txt edit, a major content launch, or a known engine or retrieval update. Scheduled audits catch gradual drift; event-driven audits catch sudden changes.
Inputs to gather before you start: access to crawl the production site, the live robots.txt, the XML sitemap, a rendering test that inspects fetched output rather than only page source, and the latest citation-tracking log if one exists. A missing tracking log does not prevent you from auditing Layers 1–5; see §4.6.
3. The audit sequence — why order matters
GEO readiness consists of dependent conditions, not a set of independent checks. If a prerequisite fails, findings later in the sequence may not describe the site’s actual citation potential.
- Structured data cannot help a crawler that is blocked from the site.
- Strong content cannot be used if it is missing from the fetched output.
Review Layers 1 through 6 in order, but rank and report the findings by severity rather than by layer (§5–§6).
| # | Layer | Question it answers | Effect of failure | Implementation guide |
|---|---|---|---|---|
| 1 | Access & crawlability | Can AI systems fetch the site? | If no, stop: later checks are not meaningful | AI Crawler Access Audit |
| 2 | Rendering & delivery | Is the primary content present in the fetched response? | If no, later checks assess an empty or incomplete page | SSR for AI Crawlers · Sitemap & IndexNow |
| 3 | Structure & machine readability | Can a machine parse and attribute what it fetched? | Weak structure makes extraction less reliable but does not block access | Schema Implementation · llms.txt Deployment |
| 4 | Content & trust | Is the content suitable for citation? | Weak content may be read but not cited | Citability · Writing for AI Citation |
| 5 | Off-site authority | Is the entity corroborated elsewhere? | Limited corroboration can reduce citations despite strong on-page work | Brand Mention Tracking |
| 6 | Observed outcomes | What do engines actually cite? | This layer compares actual results with the findings from Layers 1–5 | AI Citation Tracking |
Keep every finding concise, self-contained, and easy to scan so the final report can be understood without extra context.
4. Running the audit
Audit the layers in order, from 1 to 6. For each layer, document the question being answered, the dependency that affects later checks, the two or three most diagnostic checks, and the relevant implementation guide.
4.1 Layer 1 — Access & crawlability
| Question | Can the major AI user-agents fetch your pages at all? |
| Dependency | If major AI user-agents are blocked or severely rate-limited, stop. Layers 2–6 cannot be assessed reliably. |
| Top checks | (1) robots.txt rules for AI crawlers and control tokens, including Google-Extended; (2) server/CDN/WAF user-agent blocking or bot-challenge interstitials; (3) soft blocks, such as an HTTP 200 response that serves a challenge page to non-browser clients |
| Implementation guides | AI Crawler Access Audit; user-agent reference: AI Crawlers |
For Google’s user-agent list and robots.txt token behavior, see its common crawlers documentation. In practice, this layer is close to binary: if the pages are not reachable, record a Layer-1 blocker and resolve it before continuing.
4.2 Layer 2 — Rendering & delivery
| Question | Is the primary content present after the page is fetched and rendered? |
| Dependency | If primary content requires client-side JavaScript that the crawler does not execute, the crawler receives an empty or incomplete page. |
| Top checks | (1) SSR/SSG vs CSR for primary content (test the fetched HTML, not only the browser-rendered DOM); (2) sitemap coverage and lastmod freshness; (3) change notifications through IndexNow or another submission method |
| Implementation guides | SSR for AI Crawlers · Sitemap & IndexNow |
See the IndexNow protocol documentation for submission details. If a page returns HTTP 200 but provides no primary content to a client that does not execute JavaScript, record a Layer-2 rendering finding rather than a Layer-4 content problem.
4.3 Layer 3 — Structure & machine readability
| Question | Can a machine reliably parse and attribute what it fetched? |
| Dependency | Missing or invalid structured data can make entity resolution and answer extraction less reliable, but it does not block access. |
| Top checks | (1) Schema.org coverage and validity on key templates; (2) llms.txt presence and accuracy; (3) semantic heading structure and chunk boundaries |
| Implementation guides | Schema Implementation · llms.txt Deployment; background: Schema.org for AI |
Use Google’s introduction to structured data, the Rich Results Test, and the schema.org Schema Markup Validator to validate markup. Compare llms.txt with the proposed specification. Google states that its AI features require no special schema, so evaluate structured data as an aid to entity clarity rather than a requirement for AI eligibility (AI features and your site).
4.4 Layer 4 — Content & trust
| Question | Once read, is the content citable and trustworthy? |
| Dependency | Content that cannot be extracted cleanly or lacks trust signals may be read but not cited. |
| Top checks | (1) extractable, self-contained claims and chunking (citability); (2) E-E-A-T signals; (3) freshness/decay on time-sensitive pages |
| Implementation guides | Citability · Writing for AI Citation; background: E-E-A-T · Content Freshness |
This layer has the strongest published causal evidence. In Aggarwal et al. 2024, content-level changes such as adding citations, statistics, and quotations increased answer visibility by up to about 40%. Treat that result as directional evidence, not as a guaranteed improvement; see §8.
4.5 Layer 5 — Off-site authority
| Question | Is the entity corroborated outside your own domain? |
| Dependency | Limited off-site evidence can reduce citations even when the on-page work is strong. |
| Top checks | (1) brand-mention volume and sentiment in the kinds of sources engines cite; (2) knowledge-graph / entity presence and disambiguation |
| Implementation guides | Brand Mention Tracking; background: Brand Mentions · Knowledge Graph Presence · Entity Recognition |
This layer is easy to overlook. Even excellent on-page work may have limited effect when the entity is poorly recognized or weakly corroborated elsewhere.
4.6 Layer 6 — Observed outcomes
| Question | Do engines actually cite you — and does that match Layers 1–5? |
| Dependency | This is the final comparison rather than a prerequisite. It tests whether the readiness indicated by Layers 1–5 matches observed citations. |
| Top checks | (1) the latest citation-tracking results for each declared engine; (2) cases where on-page conditions are strong but citations are absent, which may indicate an off-site authority or engine-behavior issue |
| Implementation guide | AI Citation Tracking; use the latest available results |
Layer 6 uses the latest tracking results; the AI Citation Tracking playbook covers how to collect them. If no tracking log exists, record one finding: establish citation tracking. Compare results separately for Perplexity AI, ChatGPT Search, and Google AI Overviews, because their behavior differs. Google AI Overviews has no per-citation API, so its outcome data is necessarily less detailed.
5. Scoring — a defensible severity model
Assign a severity to every finding based on the layer it affects and the extent of the impact. A Layer-1 access failure is more severe than a Layer-4 refinement because the content improvements cannot matter until access is restored.
| Severity | Meaning | Common layers |
|---|---|---|
| Blocker | Prevents citation or makes later layers impossible to assess | Layer 1, Layer 2 |
| Major | Substantially reduces extraction or citation, but can be measured | Layer 3, Layer 4 |
| Minor | Has a limited effect and does not invalidate later checks | Layer-4 refinements, long-tail Layer-5 issues |
A composite readiness score from 0 to 100 is optional and should remain secondary to the per-layer findings. It is directional rather than absolute. Publish it only when you also document the inputs and weighting method, following the provenance guidance in GEO Metrics. A score without its method is not an interpretable result.
6. Prioritize — from finding list to ranked action plan
Severity and priority are different. A major finding that is inexpensive and straightforward to fix may deserve attention before a blocker that requires a six-month migration. Rank the findings by impact × confidence × ease (ICE) to produce an ordered action list.
| Finding | Layer | Severity | Impact | Confidence | Ease | ICE | Rank |
|---|---|---|---|---|---|---|---|
Google-Extended disallowed in robots.txt | 1 | Blocker | 9 | 9 | 9 | 729 | 1 |
| Key templates lack Schema markup | 3 | Major | 7 | 8 | 6 | 336 | 2 |
| Pricing page is CSR-only | 2 | Blocker | 8 | 7 | 3 | 168 | 3 |
| Thin author/E-E-A-T signals | 4 | Major | 6 | 5 | 5 | 150 | 4 |
Use the ranked findings as input to the GEO Maturity Model, which converts the current assessment into a longer-term improvement plan.
7. What the audit report should include
Every audit report should include:
- Audit context and provenance — the audit date, scope, declared engine set, and tracking-log version used (§4.6). Without this information, later audits cannot be compared reliably.
- Layer-by-layer results — Layers 1 through 6, with evidence for each result.
- Findings ranked by severity, followed by the ICE-prioritized action plan.
- Changes from the baseline — if a previous audit exists, what changed and whether the likely cause was an action you took or a change in the engine.
During a re-audit, verify the layers affected by the triggering event and carry forward only results that remain valid (§2). State which checks were repeated and which results were retained. Otherwise, an outdated passing result can remain in several consecutive reports.
8. Common pitfalls and validity risks
Before publishing the report, check for each of the following problems:
- Top-down auditing — checking content first and overlooking a Layer-1 or Layer-2 failure that invalidates later findings.
- Composite score without a method — a 0–100 score with no documented weighting method (GEO Metrics).
- Outdated tracking data — comparing Layer 6 with results that no longer represent current engine behavior (AI Citation Tracking).
- Combining relative and absolute findings — competitor comparisons and absolute assessments are different measures and should not be added together (GEO Metrics).
- Generalizing from one locale to all locales — Chinese and English results are not interchangeable.
- Claiming a fix without a re-audit — implementation alone does not confirm that the result changed.
- Treating visibility as proof of revenue impact — the audit can show that a visibility problem was resolved, not that revenue increased. Use a separate model for the business relationship (GEO ROI Models).
- Generalizing from a single participant’s improvement — a gain measured in isolation may not persist once competitors optimize for the same engine; see the caveat in Aggarwal et al. 2024 §6.
9. Further reading
- Layer-specific guides: AI Crawler Access Audit · SSR for AI Crawlers · Sitemap & IndexNow · Schema Implementation · llms.txt Deployment · Citability · Writing for AI Citation · Brand Mention Tracking
- Monitoring and planning: AI Citation Tracking · GEO Maturity Model
- Metrics and definitions: GEO Metrics · Generative Engine Optimization
- Research: Aggarwal et al. 2024 — GEO: Generative Engine Optimization
References
Academic:
- Aggarwal, P. et al. (2024). GEO: Generative Engine Optimization. KDD ‘24. arXiv:2311.09735 · ACM DL
- Liu, N., Zhang, T., Liang, P. (2023). Evaluating Verifiability in Generative Search Engines. Findings of EMNLP ‘23. arXiv:2304.09848
Platform & standards documentation (verified 2026-05):
- Google Search Central — Overview of Google crawlers · Common crawlers list · AI features and your site · Structured data intro
- Validators — Rich Results Test · Schema Markup Validator
- IndexNow — Protocol Documentation
- llms.txt — proposed standard
- Perplexity — Chat Completions API Reference · OpenAI — Web Search tool (Responses API)
Frequently asked questions
Isn't this just an SEO audit with AI keywords swapped in?
Why audit bottom-up instead of starting with the content, which is what clients care about?
Do I need citation tracking running before I can do the audit?
Can I just report the composite 0–100 GEO score a tool gave me?
How often should a full audit run?
Related playbooks & wiki
- Citability Audit
- AI Crawler Access Audit
- AI Citation Tracking
- Schema Implementation
- Deploying llms.txt
- Writing for AI Citation
- GEO Maturity Model
- Brand Mention Tracking
- Generative Engine Optimization
- Citability
- E-E-A-T
- AI Crawlers
- Content Freshness
- ssr-for-ai-crawlers
- Sitemap & IndexNow
- GEO Metrics
- Schema.org for AI
- Knowledge Graph Presence
- Entity Recognition
- GEO ROI Models
Sources
Primary
- GEO: Generative Engine Optimization (Aggarwal et al., KDD 2024) · arXiv / KDD '24 · 2024-08-25
- GEO: Generative Engine Optimization (KDD '24 Proceedings) · ACM SIGKDD · 2024-08-25
- Overview of Google crawlers and fetchers (user agents) · Google Search Central
- List of Google's common crawlers (Googlebot, Google-Extended) · Google Search Central · 2026-04-23
- Google Search Central — AI features and your site · Google · 2025-12-10
- Introduction to structured data markup in Google Search · Google Search Central · 2025-12-10
- Rich Results Test · Google
- Schema Markup Validator · Schema.org
- IndexNow — Protocol Documentation · IndexNow.org
- The /llms.txt file — proposed standard · Answer.AI (Jeremy Howard) · 2024-09-03
- Perplexity API — Chat Completions Reference · Perplexity
- OpenAI — Web Search tool (Responses API) · OpenAI
Secondary
- Evaluating Verifiability in Generative Search Engines (Liu et al. 2023) · arXiv / EMNLP '23 Findings