A GEO Checklist: 22 Items, and the Ones We Left Out
A GEO (Generative Engine Optimization) checklist of 22 items, each with a way to verify it, grouped into four layers — reach, comprehension, selection and measurement. AI rewrites your question into several search queries before searching, which is why optimizing for one keyword no longer works. Of AI Overview citations, 38% ranked in the top 10 for the original query, down from 76% a year earlier.
Key takeaways
- A GEO checklist of 22 items, each with a way to verify it. The items sit in four layers — reach, comprehension, selection, measurement — worked bottom-up
- AI does not search using the question it was given. It rewrites the question into several search queries and runs them in parallel. This is why optimizing for one keyword no longer works
- Of AI Overview citations, 38% came from pages ranking in the top 10 for the original query. A year earlier it was 76%
What GEO means
Generative Engine Optimization. The work of getting your information cited, and your products selected as candidates that match the conditions, when a generative AI assembles an answer.
The term has a traceable origin, which is unusual in this field. It starts with the GEO paper a research team including Princeton presented at KDD 2024, comparing nine rewriting strategies across 10,000 queries and showing that adding statistics and stating sources raised visibility in generative engines by up to 40%.
In Japan the same work is more often called LLMO, and the two are effectively synonymous. If you are reading English material, search GEO; if Japanese, search LLMO. Our article on how the terms relate sorts out the naming, and what LLMO involves covers the discipline as a whole.
How an AI answer gets built, and where the four layers sit
The order of this checklist comes from the order in which an answer is assembled. Start there.
When AI receives a question, it decides whether a search is needed. If so, it calls the search subsystem, which ①rewrites the question into several search queries, ②queries the search index, and ③fetches and extracts pages. It then integrates what it retrieved with its trained knowledge and composes an answer against the conditions in the question.
Each stage has its own way of dropping you. Not indexed, and you fall out at ②. Blocking bots or depending on JavaScript, and retrieval fails at ③. Even when retrieval succeeds, information that is incomplete or self-contradictory tends not to be used at the integration stage.
You are in the index and the page can be fetched (you survive ② and ③)
What was fetched is structured, and readable by machines as attributes
You appear in the results of the several queries generated at ①
You measure continuously with prompts and feed it back into the work
Your information reaches an LLM by two routes: training crawlers feeding the next model's training data, and search crawlers feeding the index. The first only lands when a model is updated, on a timescale of months to years. The second lands in days to weeks, and lets you measure what you changed. The second is where the practical work is.
How to use this checklist
Three rules.
Work from the top layer down. Investing in an upper layer while a lower one is unmet produces nothing. An item is only checked once you have run the verification, which is why coarse items like "implement structured data" are not on the list. And each item carries a confidence label: [Proven] means a controlled experiment supports it, [Precondition] means other work depends on it, and [Study] means a sizable study supports it.
Layer 1: Reach (6 items)
When no AI names you at all, the cause is usually here. Once AI calls the search subsystem, two stages can drop you: ②index lookup and ③page fetch. A page that falls out here never becomes material for the answer, however good its content is. Everything in layers 2 and above swings at nothing, which is why this is worth clearing first.
Start with the distinction between crawlers. OpenAI runs GPTBot for training and OAI-SearchBot for search as separate agents. Declining to be used for training is a reasonable position, but a blanket block in robots.txt closes the search route as well. You end up withdrawing from AI search while trying to opt out of training. If you want to decline, name the training crawler specifically.
Next is how JavaScript is handled. Major AI crawlers do not execute JavaScript and read only the HTML that comes back. A joint analysis by Vercel and MERJ examined more than 500 million GPTBot fetches and reported zero evidence of JavaScript execution. Google's line is the exception, since Gemini can use Googlebot's rendered output. That asymmetry produces the situation where a page ranking well in Google looks empty to ChatGPT.
Finally, there are two indexes. Google's side (AI Overviews, AI Mode, Gemini) and Bing's side (the foundation for ChatGPT and Copilot) need checking separately. Fewer companies check Bing, which is exactly what makes it a place where differences open up.
[Precondition] robots.txt does not block AI crawlers wholesale. How to check: open yourdomain/robots.txt and treat GPTBot (training) and OAI-SearchBot (search) separately. Declining training does not require a blanket block
[Proven] Key content renders without JavaScript. How to check: disable JavaScript in your browser, or view source and search for the price and specification strings. Major AI crawlers do not execute JavaScript
[Precondition] Your pages are indexed by Google. How to check: search "site:yourdomain" and see whether key pages appear. Gemini, AI Overviews and AI Mode all build on the Google index
[Precondition] Your pages are indexed by Bing. How to check: run the same "site:" search on Bing. This is the foundation for the ChatGPT and Copilot route
[Precondition] sitemap.xml is current and IndexNow is being submitted. How to check: confirm new pages appear in the sitemap, and review submission status in Bing Webmaster Tools
[Precondition] You are not excluding your own key pages. How to check: review noindex tags and canonical targets one page at a time across your main pages
WAFs and bot mitigation blocking AI crawlers is a common finding. If you can review server logs, confirming that GPTBot and OAI-SearchBot requests are actually recorded is the most reliable check available.
Layer 2: Comprehension (6 items)
This layer is about whether what was fetched holds together as structure. Structured data sits at the center, and JSON-LD is how it gets implemented. Information that is incomplete or contradictory may be retrieved and still go unused at the integration stage.
Clear one misreading first. Google states in its official guidance that "structured data isn't required for generative AI search, and there's no special schema.org markup you need to add." Ahrefs' controlled experiment likewise found no significant citation lift from newly adding JSON-LD. Structured data is not a lever for more citations; it is the means of being read correctly. The purpose differs — its place at the center of this layer does not.
In practice, what AI weighs when answering a conditional question is product attributes. If "under 60cm wide", "compatible models" or "warranty length" do not exist as attributes, you cannot survive a question carrying those conditions. Writing them in prose is not the same as holding them where a machine can take them.
[Precondition] Key attributes are emitted as JSON-LD. Product and Offer for goods, Organization for the company. How to check: put the URL through the Rich Results Test and look at what is actually extracted. Templates that appear to emit it often leave fields empty
[Precondition] JSON-LD is emitted server-side. Injected through a tag manager, Googlebot reads it while AI crawlers see nothing. How to check: disable JavaScript, view source, and search for application/ld+json
[Precondition] The attributes needed for conditional questions are filled. Size, compatibility, material, warranty length, use case. How to check: write out twenty questions your support team actually receives and confirm one by one that each condition exists as an attribute
[Precondition] Identifiers such as GTIN and MPN are present. These are the basis for matching against other listings of the same product. How to check: confirm no product with a barcode is missing its GTIN, in both the feed and the JSON-LD
[Precondition] The same fact does not contradict itself across your site and your feed. How to check: compare pricing, stock, warranty length and your one-line company description across product pages, FAQ, terms and the product feed. Check too that pages carry a date and state the time frame
[Proven] Headings state a question or a claim, with the answer immediately below. AI treats the passage under a heading as the unit of extraction. How to check: read your H2s top to bottom and see whether the argument holds from headings alone. Pages whose headings answer questions directly are cited by ChatGPT 41% of the time, against 29% for vague headings
Implementation is covered in our structured data guide, and the feed side in our product feed guide.
Layer 3: Selection (6 items)
AI searches in order to answer. So whether you get selected reduces to whether you appear in search results. Plenty of articles leave this vague and write "build authority" instead. The mechanism is more specific than that.
But the target moved. AI does not search using the question it was given. It rewrites the question into several search queries and runs them in parallel. Google describes this for its own AI Mode as query fan-out, and it is now a shared premise across services.
What follows is the part that matters: the AI decides the search terms, and they do not match the words the user typed. "What's a good quiet cordless vacuum for a small apartment?" gets broken into angles like "cordless vacuum noise level dB", "small apartment vacuum capacity guide" and "cordless vacuum reviews". Three consequences. Optimizing for one keyword does not work. Every angle in the breakdown needs an answer. The search terms shift with the conversation.
And the results for each of those queries hold your pages and your competitors' alike. AI reads that whole set of pages as context, summarizes it, and judges from there. So you need both to appear in those results and to have substance on the page that appears.
The shift shows up in the numbers. Ahrefs analyzed 863,000 keywords and 4 million AI Overview URLs in a study published in March 2026, and found this distribution of cited pages by rank.
| Cited page's rank for the original query | Share of citations | What it means |
|---|---|---|
| 1–10 | 38% | Ranking on the original query is still the strongest single route. But it was 76% a year earlier |
| 11–100 | 31.2% | Picked up from the results of a different, decomposed query rather than the original one |
| Beyond 100 | 31.0% | Reached by a route unrelated to the original query's results. Rank on the fan-out query is what counted |
Only 38% of cited pages ranked in the top 10 for the original query. In the same study in July 2025 it was 76% — roughly halved in eight months. Ahrefs attributes the change to improved detection and to query fan-out. What gets cited is not the top page for the original query but the page that recurs across the results of the decomposed queries.
One more thing practitioners miss. Being mentioned and being selected are different. In our study of air conditioner purchase consultations, the retailer with the most exposure — 72 mentions — was named first zero times. Having your name appear does not put you at the head of the list.
[Study] You hold a list of the angles your customers' questions break into. This is the starting point. How to check: take one likely question and write out search terms along condition, comparison, price, review and use-case axes. The actual breakdown is not published, so this is a hypothesis, not the answer key
[Study] Each angle has a page that answers it head-on. Focused pages outrank one page trying to cover everything. How to check: map your angle list one-to-one against existing pages
[Study] You rank in the top 10 for each angle's query. 38% of citations come from here. How to check: search each query in the list and record your position
[Study] You recur across several angles. What gets cited is the page appearing frequently across the query set. How to check: lay the result sets side by side and count how many your domain appears in
[Study] For angles where you do not rank, you appear on the third-party pages that do. Where comparison articles and review sites own an angle, appearing on them is the only route in. How to check: for each angle, list the non-you results in the top 10. That list is your outreach target list
[Precondition] Your official page ranks first for branded queries. If a third-party roundup outranks you for "[your brand] returns" or "[your brand] pricing", that is what AI reads. How to check: search ten question-shaped queries combining your brand name with a topic
Layer 4: Measurement (4 items)
Which of layers 1 through 3 is blocking you is not something you can guess, and you cannot improve what you cannot measure. Without a record of the state before you started, you will not be able to explain three months later what worked. It is the last layer in order, but there is no reason not to start here.
The awkward part is that no official instrument reports how you appear inside AI. Search has Search Console; nothing tells you how ChatGPT or Perplexity treats you. The only dependable method today is designing the questions you expect as prompts, running them repeatedly, and recording the results.
How you measure also differs from search. A search position settles into one number, whereas an AI recommendation does not come back identical every time. So you read it not as "what position" but as "how many times out of how many runs" — a share. Run the same prompt under the same conditions several times and record mention and recommendation order. Judging from a single run means mistaking variance for performance.
Three things to watch: mention rate (how often you appear across your defined prompts), recommendation position (where you land when you do), and AI-referred traffic. Alongside those, track your search position for each decomposed angle as the measurement for layer 3.
[Precondition] You have defined and recorded a 20-prompt measurement. How to check: prompts across four types — recommendation, comparison, branded, how-to — run several times on each AI. Record mention, recommendation position, and the cited URLs
[Precondition] You record your search position for each angle. This is the measurement for layer 3. How to check: log positions monthly in the same format so month-over-month comparison is possible
[Precondition] You review the generative AI performance report in Search Console. How to check: available since 3 June 2026, it separates AI Overviews and AI Mode impressions from ordinary organic search. Open your own property to see what is present
[Precondition] GA4 separates AI referrals into their own channel. How to check: confirm traffic from chatgpt.com, perplexity.ai and gemini.google.com is not being absorbed into "direct"
The first two items are measurements you run yourself; the last two are configuration. Configuration keeps working once it is in place, so do those first.
Where companies actually get stuck
The ordering of this checklist has a basis in measurement.
In our audit of the official sites of nine major electronics retail brands, the provisional distribution came out as two brands stuck before being read, six brands stuck before being understood, and one brand stuck before being selected.
In other words, most companies are stuck at layer two while discussing layer three. The official pages were readable, but structured data making product attributes, price, stock, delivery and returns machine-readable was limited. Product and Offer microdata was confirmable on product pages for only one of the nine brands.
Layer four was emptier still. Nothing published by any of the nine covered measurement of AI-referred traffic or of product feed integration.
What we left out, and why
The longer the list, the less of it gets done. Items with weak evidence are deliberately absent.
| Frequently listed item | Why it is not on the list | Evidence |
|---|---|---|
| Publishing an llms.txt file | Published files are almost never requested, and Google states you need not create them because Search does not use them | Ahrefs study of 137,000 domains (97% never requested) / Google guidance for AI features on Search |
| Hunting for AI-specific markup to add | No special schema.org markup for generative AI search exists. Ordinary Product and Offer markup is in layer two | Google guidance for AI features on Search / Ahrefs controlled experiment (1,885 pages vs 4,000 control, no significant difference) |
| Adding word count to cover everything on one page | A focused page answering one decomposed angle head-on outranks one long page trying to cover them all | Ahrefs fan-out analysis / Google guidance for AI features on Search (which also states content need not be chunked) |
| Rewriting or keyword-stuffing for AI | Google states explicitly that no special writing style is needed for generative AI | Google guidance for AI features on Search |
A note on llms.txt. Ahrefs examined 137,000 domains and found that 97% of published llms.txt files had never been requested. Google's guidance for AI features on Search states that you do not need to create such files because Google Search does not use them. Publishing one costs little, so keeping it as insurance is fine — but listing it gives it the same weight as tactics with experimental support.
What we left out is the work of hunting for AI-only markup to add. Ordinary structured data such as Product and Offer is in layer two. Google itself, having called it not required, adds that "it's a good idea to continue using it as part of your overall SEO strategy."
Frequently asked questions
In practice they are the same work. GEO comes from a 2024 academic paper and is the standard term in English; LLMO is the term that took hold in Japan. AIO, AEO and AI SEO are further names for the same thing.
Directionally yes, but the target changes. What needs to rise is not only your position for the original keyword but your position for each angle the AI decomposed it into. 62% of citations do not rank in the top 10 for the original query.
No. AI builds answers on top of search results, so both are needed. Research has found conventional SEO more effective than surface-level tweaks aimed at conversational AI.
Do it — but not with "more AI citations" as the goal. What it buys you is surviving conditional questions, avoiding being cited incorrectly, and rich results in search.
This checklist targets the search route because it lands faster. The training route only reflects when a model is updated, on a timescale of months to years. What works there is brand mention volume, third-party descriptions and accumulated original data — and layer three's third-party placement feeds both.
The six items in layer one. Checking robots.txt and removing JavaScript dependencies works at any size and costs nothing. Beyond that, layer three rewards narrow angles you can actually win rather than broad keywords.
Summary
Use a checklist for its order and its confidence labels, not its length. Skipping layer one and investing in layer three delivers nothing to AI.
And the way layer three works has changed. AI does not search your question; it rewrites it into several queries and runs them in parallel. The move is from winning one keyword to placing an answer at every angle the question breaks into. Of AI Overview citations, 38% ranked in the top 10 for the original query, down from 76% a year earlier.
In our measurements, six of nine major brands were stuck at layer two. If that is where large retailers stand, the ground where you can still create a difference has not closed. Once you know which of the 22 items you fail, the next move follows. We offer a free AI visibility assessment for retail and e-commerce businesses.



