# The complete GEO audit methodology

<span class="byline">by John Morabito · April 18, 2026 · Updated October 1, 2026 · 19 min read</span>

**TL;DR**
- A Generative Engine Optimization (GEO) audit has seven steps: inventory, chunk audit, schema audit, entity audit, citation analysis, competitive delta, and roadmap.
- Each step produces a scored artifact you can hand to a content team for execution. Not a slide deck.
- Steal the whole thing. Execution is the moat, not the methodology.

## What is a GEO audit?

A GEO (Generative Engine Optimization) audit measures how ready a site is to be cited by AI engines like ChatGPT, Perplexity, Claude, and Google AI Overviews. It asks whether a model can find, parse, and quote you. That is a different question from whether you rank, and an SEO audit with AI words added does not answer it.

What you get out of one is a prioritized fix list instead of a vague goal. You see why engines cite competitors instead of you, you get a citation-share baseline to measure against, and the cheap wins, usually schema and chunking, come first, before you spend anything on new content.

Conducting one takes the seven steps below. If you want a quick read before committing to all seven, our [free GEO audit tool](https://www.winstondigitalmarketing.com/audit/) scores a single URL against eight AI citation signals in about 30 seconds.

## Benefits of a GEO website audit

The main benefit is that you stop guessing. Most teams know AI answers matter and have no clear picture of where they stand. A GEO audit replaces that with something concrete:

- **A reason.** You see which pages and sources AI engines cite for your buying questions, and why they pick a competitor over you.
- **A baseline.** Citation share per engine, recorded on a date, so next quarter has something to compare against.
- **An order of operations.** Fixes sorted by impact and effort, with schema and passage rewrites usually ahead of any new content.
- **A technical floor.** You find out whether AI crawlers can read your pages at all, which JavaScript-rendered sites often fail without knowing it.
- **A brief your team can act on.** Each step produces a scored artifact a content or dev team can execute, instead of a slide deck.

## What a GEO audit for a client should include

If you are buying one or delivering one, these are the deliverables to hold it to. Anything missing from this list is a summary, not an audit.

1. A page inventory classified by template, with the pages worth auditing marked.
2. A passage-level chunk score for priority pages, with the weakest sections quoted.
3. A schema coverage matrix by template, plus validation errors.
4. An entity check: how ChatGPT, Perplexity, Claude and Google describe the brand today, and where those descriptions are wrong or thin.
5. A citation map: the prompts tested, the engines run, and the domains and pages cited for each.
6. A competitive delta against the two or three sites that win those citations.
7. A sequenced roadmap with an owner and an effort estimate on every fix.

Which parts can be automated? The crawl, the template classification, the chunk scoring, the schema checks and the scheduled prompt runs all work well as agent jobs. The entity read, the competitive delta and the order of the roadmap need a person who knows the business, because they depend on which customers matter and which competitors you actually lose deals to.

Running a large or multi-market site? The method holds and the sampling changes, covered in [enterprise and multi-market GEO audits](#enterprise) below.

## What a technical GEO audit checks

A technical GEO audit answers one question before any content work starts: can AI crawlers reach and read the pages at all? If they cannot, nothing in Steps 2 through 7 matters. These are the checks, in the order we run them:

1. **Crawler access.** robots.txt rules for GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and Google-Extended, then the firewall and CDN layer, which often blocks AI user agents that robots.txt allows. The common failure patterns are in [WAF and CDN rules that block AI crawlers](https://www.winstondigitalmarketing.com/playbooks/waf-and-cdn-blocking-ai-crawlers/).
2. **Rendering.** A render diff between the raw HTML and the browser DOM on each template. Body copy that only appears after JavaScript runs is invisible to most AI crawlers. The fixes are in [making JavaScript sites crawlable](https://www.winstondigitalmarketing.com/playbooks/javascript-seo-making-dynamic-sites-crawlable/).
3. **Indexation signals.** Canonicals, noindex tags, status codes and redirect chains on the pages you want cited. An engine that grounds its answers on a search index cannot cite a page that index dropped.
4. **Structured data validity.** Every JSON-LD block parses, references stable @id values, and matches what the page actually says.
5. **Crawl waste.** Faceted navigation, parameter URLs and paginated archives that soak up crawler attention before bots reach product and category pages. See [faceted navigation SEO](https://www.winstondigitalmarketing.com/playbooks/faceted-navigation-seo/).
6. **Server logs.** Which AI user agents actually hit the site, how often, and which URLs they request. Logs are the only proof of what a crawler did, as opposed to what it was allowed to do. The method is in [AI crawler log analysis](https://www.winstondigitalmarketing.com/playbooks/ai-crawler-log-analysis/).

Each failure goes into the roadmap as an engineering ticket with the affected templates listed. A technical finding without a template list is hard for a dev team to schedule.

## Enterprise and multi-market GEO audits

On a large or multi-market site the method stays the same and the sampling changes. Five things shift:

- **Audit templates, not URLs.** A catalog with tens of thousands of product pages usually runs on a handful of templates. Score a sample from each one and the fix carries to every page that shares it.
- **Run the prompt set per market and per product line.** Buyers in different markets and categories ask different questions, and engines cite different local sources for them. One blended prompt set hides the gaps.
- **Report citation share per engine and per market.** A blended number can rise while your most important market falls.
- **Check hreflang and regional entity data.** When market versions share content without clean hreflang and consistent Organization data, engines can cite the wrong regional page or skip you. See [hreflang and international SEO](https://www.winstondigitalmarketing.com/playbooks/hreflang-and-international-seo/).
- **Give every fix an owner.** Enterprise roadmaps stall when a schema fix needs engineering, a passage rewrite needs the content team, and nobody owns the order, so every line needs a team and a named owner.

That scoping is usually where in-house teams want a second set of hands. If that is you, [book a 20-minute call](https://www.winstondigitalmarketing.com/contact/) and we will tell you whether a full audit is worth running, or ask for a short teardown of your site first so you can judge the method before you commit to anything.

## What a GEO audit report looks like

A good report is short at the front and deep at the back. It runs in three layers:

1. **A one-page summary.** The 0-100 score, citation share per engine against the two or three competitors you actually lose to, and the five fixes that matter most.
2. **A findings table.** Every issue with the affected templates or URLs, the evidence (a quoted passage, a failed schema test, a log line), an owner and an effort estimate.
3. **Appendices.** The full prompt set with the raw answers and citations per engine, the schema matrix and the crawl export, so anyone can re-run the audit next quarter and compare.

If a report cannot show the prompts it tested and the answers it got back, its citation findings cannot be checked. Ask for the appendix before you accept the summary.

## Step 1: Inventory

The inventory step builds the ground truth for everything that follows. You cannot audit what you cannot classify.

**What to do**
1. Run a full crawl. Screaming Frog for sites under 10k URLs. Firecrawl or DataForSEO On-Page API for larger or JS-heavy sites.
2. Classify every URL by template: home, pillar, blog, product, category, landing, about, contact, legal, admin.
3. Measure word count, H-tag density, internal link count per URL.
4. Export to CSV. This CSV is the artifact Steps 2 and 3 reference.

**Skill prompt**
```
Skill: winston-tech-audit

Crawl {client_domain} and classify each URL by template.
Output CSV: url, template, word_count, h2_count, h3_count,
internal_links_in, internal_links_out, schema_types.
```

## Step 2: Chunk audit

AI engines quote passages, not pages. So every H2 section must work as a standalone citable unit.

**What to do**
1. Sample 10-25% of URLs per template. Full coverage for pillars.
2. Score each H2 section on the 0-1-2 rubric.
3. Compute page-level average and site-level median.
4. Record top three failure patterns per template.

**0-1-2 rubric**
- **0**. No H2 structure or buried headings.
- **1**. H2s exist, but openings are pronoun-dependent.
- **2**. Every H2 opens with a direct-answer sentence.

## Step 3: Schema audit

Schema.org JSON-LD is the cheapest GEO win available. AI engines read it before they read prose.

**What to do**
1. For every template, check: Article/BlogPosting, FAQPage, HowTo, Organization, Person, WebSite, BreadcrumbList.
2. Validate with Google's Rich Results Test and schema.org's validator.
3. Check Person schema consistency across author bylines.
4. Verify Organization schema has sameAs links to LinkedIn, Crunchbase, and category directories.

**Common failure modes**
- FAQ schema does not match visible FAQ copy.
- Multiple conflicting Organization blocks on the same page.
- HowTo schema with zero steps because the author copied the template literally.

## Step 4: Entity audit

The test question: can a model, given only your site, write one accurate paragraph describing your category, top three services, and two pieces of credibility proof?

**What to do**
1. Audit the About page for category, founder, three specific service areas.
2. Person schema on every author byline with sameAs links.
3. Organization schema with `knowsAbout`, `areaServed`, `memberOf`.
4. Run a prompt against Claude and ChatGPT: "Based on {domain}, describe what this company does." Note what the engines get wrong.

## Step 5: Citation analysis

This is where the audit becomes an ongoing instrument, not a one-shot deliverable.

**What to do**
1. Build 50-200 buyer-intent prompts in the client's category.
2. Run prompts against ChatGPT, Perplexity, Claude, Google AI Overviews.
3. Classify cited domains: client, direct competitor, publisher, Reddit/Quora, other.
4. Compute citation share per engine and per prompt cluster.
5. Re-run weekly. Track deltas.

## Step 6: Competitive delta

Map your site's scores from Steps 2-4 against the competitors surfaced in Step 5.

**What to do**
1. Pick the top five cited competitors.
2. Run the chunk, schema, and entity audits against each using the same rubric.
3. Build a 5-column comparison table across the four dimensions.
4. Flag any dimension where your score is more than 0.5 below the competitor median.

## Step 7: Roadmap

Sequence by impact-to-effort. High-impact-low-effort first.

1. **Weeks 1-2**. Schema fixes. Fastest win.
2. **Weeks 3-6**. Chunk rewrites on pillar pages. Top 20 highest-traffic.
3. **Weeks 7-10**. Entity content. Rebuild About, add Person schema with sameAs.
4. **Weeks 11-12**. Citation-source seeding on publisher sites.

Re-audit at week 13.

## The scoring rubric

| Dimension | 0 | 1 | 2 |
|---|---|---|---|
| Chunk readiness | No structure | Pronoun-dependent | Self-contained |
| Schema coverage | None or broken | Partial | Full + validated |
| Entity clarity | No story | About exists, no schema | Consistent signal |
| Citation presence | Zero | <20% of prompts | 20%+ across engines |

Median below 1.5 is a GEO engagement worth taking on.

## Turning the rubric into a 0-100 scorecard

The 0-1-2 rubric is fine for an analyst and useless for a client who wants a number. So the audit rolls the four dimension scores into a single 0-100 GEO readiness grade with a red, yellow, green band.

The math is boring on purpose. Each dimension (chunk readiness, schema coverage, entity clarity, citation presence) scores 0, 1, or 2. Multiply the median by 12.5 to put each on a 25-point scale, then sum. Four perfect 2s give you 100. A flat 1 across the board lands at 50.

| Score | Band | What it means | What you do |
|---|---|---|---|
| 0-39 | Red | Invisible to AI engines. Missing schema, JS-rendered content, no entity story. | Full rebuild. A real engagement. |
| 40-69 | Yellow | Cited occasionally but losing the answer space. | Targeted fixes. Chunk rewrites and citation-source seeding move it fastest. |
| 70-100 | Green | Consistently cited across engines. | Maintenance cadence. Monitor and re-run on content release. |

Two caveats keep the grade honest. Weight citation presence higher (we run it at 40%) when the client only cares about visible AI answers. And never report a green grade off a single citation run: Step 5 needs a stable number across at least three weekly runs before the citation dimension earns a 2. For the dashboard that keeps this number live, see https://www.winstondigitalmarketing.com/playbooks/how-to-build-an-ai-visibility-dashboard/.

## The GEO audit checklist

If you want the whole method as one scannable list to copy into a doc or run down before a client call, here is the GEO audit checklist. It compresses the seven steps and the rubric into the checks that actually decide whether an AI engine cites you. Use it as a template and score each line the same 0-1-2 way as the rubric above.

- **Inventory.** Crawl every URL, classify by template, and flag thin pages, duplicates, and orphans before auditing anything else.
- **Rendering.** Confirm your primary content is in the server-rendered HTML, not injected by JavaScript an engine may never execute.
- **Chunk citability.** Check that each key page opens its answers with a self-contained, quotable passage an engine can lift without dragging in filler.
- **Schema.** Validate that Organization, Person, Article, FAQ, and HowTo schema exist, parse, and match the visible content, with no orphaned or wrong-type blocks.
- **Entity clarity.** Verify your brand, people, and products resolve as clear entities: consistent naming, sameAs links, and a knowledge-graph story the engines can trust.
- **Citation presence.** Run your buyer-intent prompt set across ChatGPT, Perplexity, Gemini, and AI Overviews and record where you are named, where a competitor is, and which domains get cited.
- **Cited-domain gaps.** List the third-party sources the engines already trust in your category, then mark which ones you have a presence on and which you do not.
- **Competitive delta.** Score the competitor who wins the most citations on the same dimensions, so the roadmap targets the specific gap rather than a generic wish list.
- **Roadmap and score.** Roll the checks into the 0-100 scorecard, then sequence fixes by impact: rendering and schema first, chunk rewrites and citation-source seeding next.
- **Cadence.** Re-run citation presence weekly and the full audit on every meaningful content release, and never grade green off a single run.

## The GEO audit tool stack

You do not need a GEO platform. You need a crawler, a renderer, a schema validator, a SERP data source, and direct access to the AI engines.

| Step | Job | Tool we reach for | Rent or build |
|---|---|---|---|
| Inventory | Crawl and classify URLs | Screaming Frog, Firecrawl, DataForSEO On-Page | Rent |
| Render check | Confirm content exists without JS | curl plus a headless Chrome render diff | Build (ten lines) |
| Schema audit | Validate JSON-LD | Google Rich Results Test, schema.org validator | Rent (free) |
| Entity audit | Probe what a model knows about the brand | Claude and ChatGPT APIs | Rent |
| Citation analysis | Query engines on a prompt set, log citations | Cloro or an in-house scheduled-agent runner | Rent the tracker, build the prompt set |
| Reporting | Roll scores into the scorecard | A spreadsheet or a Claude Skill | Build |

The rent-versus-build line: rent anything that needs a maintained index or a browser farm (crawling, SERP data, the [GEO tracker](https://www.winstondigitalmarketing.com/playbooks/generative-engine-optimization-tools/)). Build the glue (render diff, scoring rollup, prompt set), because that is where your methodology lives and no vendor will get it right for your category. The same logic drives the on-page side, which we run through https://www.winstondigitalmarketing.com/playbooks/how-to-write-content-ai-cites/ rather than a generic content tool.

## The five GEO audit findings we see every time

Run enough of these and the failures rhyme. Five problems account for most of the gap between a red site and a green one. Each has a known fix. If you want the plain-language version of what a first audit surfaces and why it is the right starting point, see what a free AI visibility audit actually reveals (https://www.winstondigitalmarketing.com/playbooks/what-a-free-ai-visibility-audit-reveals/). If you would rather hand the fixes to someone else, that is the work a generative engine optimization agency (https://www.winstondigitalmarketing.com/geo-agency/) does.

1. **JS-rendered content invisible to bots.** The page looks full in a browser and empty to a crawler that does not execute JavaScript. Fix: server-side render or statically generate the body, and confirm it with a render diff in the inventory step.
2. **Missing or disconnected schema.** Either no JSON-LD, or blocks that never reference each other with stable @id values. Fix: the connected-graph pattern in https://www.winstondigitalmarketing.com/playbooks/schema-markup-for-ai-engines-2026/.
3. **Hedged, non-liftable answers.** The content answers the question four sentences in, after a windup. Fix: the direct-answer opening in https://www.winstondigitalmarketing.com/playbooks/how-to-get-cited-by-chatgpt-in-2026/.
4. **No markdown twin for AI user agents.** The brand serves the same bloated HTML to AI crawlers and browsers. Fix: a per-page .md twin served by user-agent (the approach this page uses), not a single llms.txt file.
5. **Thin entity.** The brand never states its category, proof, or boundaries in a way a model can repeat. Fix: the Step 4 entity work paired with an E-A-T audit (https://www.winstondigitalmarketing.com/playbooks/eat-audit-google-rater-guidelines/).

## How often to re-run a GEO audit

A GEO audit is not annual. AI engines change citation behavior fast enough that a once-a-year audit is stale before the ink dries. The cadence splits by step. The full case for turning the audit into a continuous instrument rather than a one-time deliverable is in AI visibility monitoring: why a one-time audit isn't enough (https://www.winstondigitalmarketing.com/playbooks/ai-visibility-monitoring/).

- **Citation analysis (Step 5): weekly.** The heartbeat. Cheap to run as a scheduled agent and the only step that tells you whether what you shipped moved the number.
- **Schema and chunk spot checks: on every content release.** Catch the regression at publish, not at the next full audit.
- **Full seven-step audit: quarterly.** Long enough that the picture has changed, short enough that you can still act.

Off-cycle triggers that should make you re-audit regardless of the calendar:

- A site migration, redesign, or CMS change (any can silently break rendering or strip schema).
- A sudden drop in citation share on the weekly run.
- A major engine update (a new AI Overviews rollout, a Perplexity index change).
- A competitor who was not in your Step 5 map showing up across prompts.

## FAQ

**What is a GEO audit?**

A GEO (Generative Engine Optimization) audit measures how ready a site is to be cited by AI engines like ChatGPT, Perplexity, Claude, and Google AI Overviews. It scores whether content is liftable, whether schema is present and connected, whether the entity story is clear, and whether the site is already getting cited. It checks whether a model can find, parse, and quote you, which is a different question than whether you rank.

**How much does a GEO audit cost?**

It depends on who runs it and how big the site is. Run it yourself and the cost is your time plus a crawler and a citation tracker subscription. For a faster first pass, our [free GEO audit tool](https://www.winstondigitalmarketing.com/audit/) scores one URL from 0 to 16 across eight AI citation signals in about 30 seconds, and emails a fuller written report if you leave an address. If you want the fixes done for you, our [GEO Fix Sprint](https://www.winstondigitalmarketing.com/pricing/) starts at $2,500: we run the 8-signal audit, implement the fixes ourselves, and report on what moved.

**How long does a GEO audit take?**

40 hours of agent-plus-human work over 48 hours of wall clock for a 50-to-200 page site.

**Do we need to run this against every AI engine separately?**

Yes for Step 5. Different engines pull from different indexes with different citation logic.

**What tools are absolutely required?**

A crawler (Screaming Frog or Firecrawl), a SERP data provider (DataForSEO or Ahrefs), and API access to at least two AI engines.

**How often should we re-audit?**

Full audit quarterly. Citation analysis weekly. Schema and chunk spot checks after any major content release.

**What's the minimum content footprint for GEO to matter?**

Roughly 20 indexed pages. Below that you do not have enough surface area for refactoring to compound.

**How do you conduct a GEO audit?**

Run it in seven steps: inventory the pages worth auditing, audit whether each one is chunked into liftable passages, check schema coverage, confirm your entity is clear and connected, analyze which sources AI engines actually cite for your queries, measure the competitive delta against whoever wins those citations, and turn the gaps into a prioritized roadmap. The full method is on this page.

**What are the benefits of a GEO audit?**

It shows exactly why AI engines cite competitors instead of you, turns a vague goal like improving AI visibility into a prioritized fix list, and gives you a citation-share baseline to measure against. It also surfaces the cheapest wins first, usually schema and chunking, so you fix the high-leverage gaps before spending on new content.

**What should a GEO audit for a client include?**

Seven deliverables: a classified page inventory, passage-level chunk scores for priority pages, a schema coverage matrix, an entity check showing how AI engines describe the brand today, a citation map of the prompts tested and the domains cited per engine, a competitive delta against the sites winning those citations, and a sequenced roadmap with an owner and an effort estimate on every fix.

**Which parts of a GEO audit can be automated and which need a human?**

The crawl, template classification, chunk scoring, schema checks and scheduled prompt runs automate well. The entity read, the competitive delta and the order of the roadmap need someone who knows the business, because they depend on which customers and which competitors actually matter.

**What does a technical GEO audit check?**

Whether AI crawlers can reach and read your pages: robots.txt and firewall rules for AI user agents, a render diff for content that only appears after JavaScript runs, canonicals and indexation on the pages you want cited, JSON-LD validity, crawl waste from faceted navigation and parameter URLs, and server logs showing which AI bots actually visit.

**How is an enterprise or multi-market GEO audit different?**

Same seven steps, different sampling. You audit templates instead of individual URLs, run the prompt set per market and per product line, report citation share per engine and per market, check hreflang and regional entity data, and give every fix an owner across engineering and content.

---

[AirOps](https://www.airops.com/) is the execution infrastructure that runs after this audit's Step 7 roadmap is complete. It is the system that turns the chunk rewrites, schema fixes, entity rebuilds, and citation-source seeding into a structured production workflow instead of a series of manual sprints. The seven-step methodology here produces the right artifact: a scored gap across chunk readiness, schema coverage, entity clarity, and citation presence, sequenced by impact-to-effort. What most teams lack is the infrastructure to execute that roadmap at scale and keep the citation tracker running. AirOps's Insights layer provides the Step 5 instrument this audit calls for, tracking brand citation frequency, share of voice, and competitor displacement across ChatGPT, Perplexity, Claude, and Google AI Overviews weekly in Page360, so the citation share delta the audit uses to grade progress is measured automatically instead of re-run by hand each cycle. The Action layer then routes the roadmap findings directly into production: Workflows and Power Agents apply Brand Kits and Knowledge Bases to generate chunk-ready content (direct-answer H2 openings, self-contained sections that score 2 on the 0-1-2 rubric, FAQ schema built in, entity signals consistent throughout) with human review built into every sequence before publishing. For agencies and content teams running GEO audits at client scale, that is what turns the methodology into a repeatable production system.

*Winston partners with AirOps.*
