# GEO Audit: How to Check What AI Actually Sees


# GEO Audit: How to Check What AI Actually Sees

## What this helps you with

Most teams "optimize for AI" without checking what AI actually receives. A GEO audit answers three questions:

1. Can AI **read** your brand and products?
2. Is the data **consistent** (price, specs, policies)?
3. Are there **evidence-backed fixes** you can apply safely?

## Three steps

1. **Pick pages**: start with your top 10 product pages plus the homepage, FAQ and one policy page.
2. **Collect evidence**: JSON-LD, FAQ anchors, raw-md and visible text — from the rendered page, not the theme source.
3. **Score and fix**: list gaps by impact (blocking, warning, nice-to-have), then fix and re-collect.

## What a good score looks like

A useful GEO audit is not a single number. It has four parts:

- **Readability**: crawlers are allowed; pages load; raw-md exists.
- **Structure**: Product/Offer or page-type schema is valid; FAQ is consistent.
- **Consistency**: the same SKU has the same price, weight and return window everywhere.
- **Freshness**: evidence has a timestamp; fixes are re-checked.

> If your audit cannot show the source and time of each finding, it is a guess, not an audit.

**Want the full method?** Read the expert version: [[geo-audit.expert]]


---


# GEO Audit (Expert): Evidence, Gates and Reproducibility

## Chapter 1: Evidence model

### 1.1 First-party, not simulated

AI crawlers do not execute JavaScript. An audit that only reads theme source or uses a generic crawler will miss what a browser-rendered page exposes. Collect from a real browser:

- rendered JSON-LD;
- FAQ anchors and counts;
- raw-md view (if deployed);
- canonical and hreflang.

Store the raw payload with a hash and timestamp. Re-validate on the server; never trust a client-provided `passed` flag.

### 1.2 Four scoring dimensions

| Dimension | What to measure | Failure example |
|---|---|---|
| Readability | robots, status, raw-md availability | `RAWMD_FETCH_UNAVAILABLE` |
| Structure | required schema types | missing `Product`/`Offer` |
| Consistency | same SKU across pages/Admin | weight 537g vs 500g |
| Freshness | evidence age, re-check cadence | last audit 6 months ago |

### 1.3 Gates

A GEO audit should gate changes, not just report:

- **P0** inconsistency or invalid schema → block publication;
- **P1** missing raw-md / partial FAQ → warn, allow with approval;
- **P2** style/coverage suggestions → backlog.

## Chapter 2: Reproducibility and operations

### 2.1 Re-run discipline

- fixed URL list and fixed template versions;
- same collection method (browser + Accept headers);
- record engine/model versions if AI answers are involved;
- keep raw evidence for at least 90 days.

### 2.2 What makes an audit trustworthy

1. every finding links to evidence;
2. every number has a timestamp;
3. “unmeasured” is reported, never converted to pass;
4. fixes have snapshots and rollback.

### 2.3 Common mistakes

- auditing only the homepage;
- treating llms.txt as a silver bullet;
- measuring rankings without checking citations;
- changing themes without re-collecting evidence.

**Back to beginner version:** [[geo-audit.novice]]
