Skip to content
SeenLens

GEO audit checklist

A GEO audit checks whether AI search engines and AI agents can fetch, read and understand a page. This checklist has the 43 SeenLens checks in five groups, with a manual test for each, an honest note on the evidence, and a link to the fix. Start with crawler access: a blocked page cannot be cited.

By SeenLens · Last updated

Run the free 43-check scan on your page

What does a GEO audit include?

A GEO audit looks at one page the way an AI crawler does. It asks five questions, one per group. The weights are the ones the SeenLens score uses.

The five groups of a GEO audit
GroupQuestionWeightChecks
AI crawler accessCan AI crawlers and agents fetch the page?30%11
Content structureCan a model tell what the page answers?25%8
Structured dataDoes the page state its facts in markup?15%4
Agent readinessCan agents find files and tools made for them?15%12
Technical deliveryDoes the page load fast and correctly?15%8

An AEO audit checklist covers the same ground. AEO and GEO both aim at AI answers; see GEO vs SEO vs AEO. A readiness audit cannot tell you how often AI answers mention your brand. For that, see how to check AI visibility.

How to run the audit by hand

  1. Pick one important page, such as the home page or a product page. Audit pages one by one; results differ per page.
  2. Open a terminal for curl, and the page in Chrome with developer tools.
  3. Work through the five tables below in order. Crawler access comes first because a blocked page makes the rest irrelevant.
  4. Mark each item pass, warn or fail, and note the evidence you saw.
  5. Fix the failures with the linked guide, then test again.
Terminal: the basic requests
curl -sIL https://example.com/page
curl -s https://example.com/robots.txt
curl -sI https://example.com/llms.txt
curl -sI https://example.com/this-page-does-not-exist-7f3a

AI crawler access: 11 checks

AI crawler access is 30% of the SeenLens score. The items are in order of weight. Each check name links to its fix guide.

AI crawler access checklist
CheckHow to check by handEvidence
Page reachable for plain HTTP clientsRun curl -s -o /dev/null -w '%{http_code}' https://example.com/page. Expect 200.Strong
No bot wall for plain clientsRun curl -s https://example.com/page and read the output. A challenge page or CAPTCHA in place of your HTML fails.Strong
Main content present without JavaScriptRun curl -s on the URL and search for a sentence from the main text. If the sentence is missing, the text needs JavaScript.Medium: few operators document JavaScript rendering
robots.txt policy for AI crawlersRead the groups for OAI-SearchBot, Claude-SearchBot, PerplexityBot and *. No Disallow may match the page path.Strong: operator documentation
Search engine crawlers allowed in robots.txtSee the fix guide.
Page allows indexing and snippetsView the source for noindex, nosnippet or max-snippet:0. Run curl -sI and look for an X-Robots-Tag header.Strong: Google docs
robots.txt reachableOpen /robots.txt. Expect status 200 and text/plain.Strong: RFC 9309
AI training and grounding preferencesSee the fix guide.
Responses to AI agent user agentsCompare curl -sI -A "Mozilla/5.0" with curl -sI -A "GPTBot" on the URL. Different status codes or sizes point to a firewall rule.Strong: operator docs
User-triggered agents and robots.txtLook for groups for ChatGPT-User, Claude-User and Perplexity-User. Decide whether you want them; protect private paths with a login.Operator docs: some ignore robots.txt
Content-Signal preferenceSearch robots.txt for Content-Signal: inside each group.A preference; compliance is up to each operator

Content structure: 8 checks

Content structure is 25% of the SeenLens score. The items are in order of weight. Each check name links to its fix guide.

Content structure checklist
CheckHow to check by handEvidence
Page titleView the source: one <title> of 10 to 70 characters that names the topic.SEO basic
Content depthPaste the main text into a word counter. Aim for 300 words or more of useful text.Weak: no ideal length (Google)
Opening states the answerRead the first sentence of the main content. It should say what the page answers, in under 220 characters.Medium: correlational studies only
Meta descriptionView the source: <meta name="description"> with 50 to 160 characters.SEO basic
Single H1 headingIn the browser console, document.querySelectorAll('h1').length should return 1.SEO basic
Heading hierarchyList the headings with the console or an outline extension. No H3 should come before the first H2.Weak
Publication dateLook for a visible date and dateModified in the JSON-LD.Weak
Descriptive URL pathSee the fix guide.

Structured data: 4 checks

Structured data is 15% of the SeenLens score. The items are in order of weight. Each check name links to its fix guide.

Structured data checklist
CheckHow to check by handEvidence
JSON-LD structured dataView the source and search for application/ld+json.Weak for AI citations; used for rich results
JSON-LD parsesTest the URL in the Schema Markup Validator (validator.schema.org) or Google's Rich Results Test.Weak for AI citations
Entity markup (Organization, WebSite, Person or LocalBusiness)Find an Organization, Person or LocalBusiness block with name, url, logo and sameAs.Weak for AI citations
Open Graph tagsView the source for og:title and og:description.Weak

Agent readiness: 12 checks

Agent readiness is 15% of the SeenLens score. The items are in order of weight. Each check name links to its fix guide.

Agent readiness checklist
CheckHow to check by handEvidence
Lighthouse Agentic Browsing auditRun Lighthouse in Chrome 150 or later and open the Agentic Browsing category. The free scan does not run this audit yet.Experimental Lighthouse category
Markdown version of the pageRun curl -s -H "Accept: text/markdown" on the URL, or look for a rel="alternate" type="text/markdown" link.Weak
Agent catalog (ard.json or ai-catalog.json)Open /.well-known/ai-catalog.json. Expect valid JSON that lists real resources, or a 404.Early
WebMCP toolsIn the console, check whether document.modelContext or navigator.modelContext exists and has tools registered.Early draft, optional
llms.txtOpen /llms.txt: status 200, an H1 on the first line, a > summary, then link lists.Weak: Google Search does not use it
Agent files under /.well-known/: API Catalog (/.well-known/api-catalog), OAuth Protected Resource Metadata, OAuth Authorization Server Metadata, A2A agent card, UCP commerce profileOpen the file under /.well-known/. Publish it only for a service you run; otherwise expect a 404.Early: only for real services
WebMCP entry pointSearch the page scripts for navigator.modelContext. Code should also try document.modelContext.Early draft, optional
Forms annotated for WebMCPInspect search and contact forms for toolname and tooldescription attributes.Early draft, optional

Technical delivery: 8 checks

Technical delivery is 15% of the SeenLens score. The items are in order of weight. Each check name links to its fix guide.

Technical delivery checklist
CheckHow to check by handEvidence
Served over HTTPSOpen the http:// URL. Expect a 301 redirect to https://.SEO basic
HTTP status 200Run curl -sIL on the URL. The final status should be 200, after at most one redirect.Strong
Core Web VitalsOpen PageSpeed Insights. Field data at the 75th percentile should show LCP of 2.5 s or less, INP of 200 ms or less and CLS of 0.1 or less.SEO basic: ranking signal
Content in the initial HTMLSame test as the JavaScript check above: the main text must be in the raw HTML.Medium
Canonical URLView the source: <link rel="canonical"> points to the page's own URL on the same host.SEO basic
Unknown URLs return 404Open a made-up path such as /this-page-does-not-exist-7f3a. Expect status 404.SEO basic
XML sitemap lists the pageSee the fix guide.
Lighthouse performance scoreRead the mobile Performance score in PageSpeed Insights and fix the largest opportunities.Weak for AI

Which items have weak evidence?

Some checklist items are cheap good practice with no proven effect on AI answers. Do them after the strong items, and do not expect a citation lift from them.

  • llms.txt. Google Search does not use it. An Ahrefs log study of 137,210 domains found that 97% of llms.txt files got zero requests in May 2026. See does llms.txt work.
  • Schema markup. Google says structured data is not required for AI features. An Ahrefs study of 1,885 pages that added JSON-LD found no clear citation gain. Schema still helps rich results in Google Search.
  • Markdown versions, WebMCP and agent files under /.well-known/. These are early drafts or optional files. They matter if agents use your site for tasks, and most sites can skip them for now.
  • Word count and publication date. Google says there is no ideal page length. No study isolates the effect of a date stamp.

GEO audit template

Copy this template into a document or spreadsheet. Use one copy per page.

GEO audit template (plain text)
Page URL:
Date:
Mark each item pass, warn or fail, and note what you saw.

AI crawler access (30%)
[ ] Page reachable for plain HTTP clients
[ ] No bot wall for plain clients
[ ] Main content present without JavaScript
[ ] robots.txt reachable
[ ] robots.txt policy for AI crawlers
[ ] Search engine crawlers allowed in robots.txt
[ ] User-triggered agents and robots.txt
[ ] Content-Signal preference
[ ] Page allows indexing and snippets
[ ] AI training and grounding preferences
[ ] Responses to AI agent user agents

Content structure (25%)
[ ] Page title
[ ] Meta description
[ ] Single H1 heading
[ ] Heading hierarchy
[ ] Content depth
[ ] Opening states the answer
[ ] Publication date
[ ] Descriptive URL path

Structured data (15%)
[ ] JSON-LD structured data
[ ] JSON-LD parses
[ ] Entity markup (Organization, WebSite, Person or LocalBusiness)
[ ] Open Graph tags

Agent readiness (15%)
[ ] llms.txt
[ ] Markdown version of the page
[ ] Agent catalog (ard.json or ai-catalog.json)
[ ] API Catalog (/.well-known/api-catalog)
[ ] OAuth Protected Resource Metadata
[ ] OAuth Authorization Server Metadata
[ ] A2A agent card
[ ] UCP commerce profile
[ ] WebMCP tools
[ ] WebMCP entry point
[ ] Forms annotated for WebMCP
[ ] Lighthouse Agentic Browsing audit

Technical delivery (15%)
[ ] Served over HTTPS
[ ] HTTP status 200
[ ] Content in the initial HTML
[ ] Unknown URLs return 404
[ ] Canonical URL
[ ] XML sitemap lists the page
[ ] Core Web Vitals
[ ] Lighthouse performance score

Top three fixes:
1.
2.
3.

Run the same checklist automatically

The free SeenLens scan runs all 43 checks on one page in under a minute. It needs no account. It requests the page as SeenLensBot, reads robots.txt, llms.txt and the sitemap, runs Lighthouse through PageSpeed Insights, and returns a score from 0 to 100, five group scores and the top three issues. When a page has fewer than three issues, the free report shows what the page does well instead.

The score measures readiness. It does not measure how often ChatGPT or Google mention you. The paid AI Visibility Report lists every issue with its cause, fix and evidence. See how the checks work for the scoring.

Run the free GEO audit

FAQ

What does a GEO audit include?

A GEO audit checks five things on a page: AI crawler access, content structure, structured data, agent readiness and technical delivery. Each group has concrete tests, such as robots.txt rules for AI crawlers and whether the main text is in the raw HTML.

Is an AEO audit checklist different from a GEO audit checklist?

Mostly no. Both check whether AI systems can fetch, read and quote a page. AEO checklists often add featured snippet checks, which the content items here cover.

How long does a manual GEO audit take?

About one to two hours per page for all 43 items, if you are used to curl and browser developer tools. The free scan runs the automated checks in under a minute.

How often should I run a GEO audit?

After every redesign, CMS change, firewall or CDN change, and robots.txt edit. Firewall and robots.txt changes are the most common cause of AI crawlers losing access.

Does passing a GEO audit guarantee AI citations?

No. An audit removes technical barriers. Citations also depend on rankings, content and mentions on other sites.

Sources