A growing share of buyer research now happens inside an answer, not inside a list of blue links. Someone asks an assistant "what is the best AI support tool for a small ecommerce team" and gets three names with links, sometimes zero links at all. GEO, generative engine optimization, is the work of being one of those three names. It shares a lot of DNA with SEO: crawling, indexing, and relevance still matter. But the unit of competition changes from the page to the passage, and the judge changes from a ranking algorithm to a language model deciding what to repeat. This is a practical guide to doing that work, not a theory of what might happen next.
Key takeaways
- ▸Answer engines retrieve passages, not pages. Structure content so a single paragraph can stand alone as the answer.
- ▸Retrieval usually starts from classic search or a live crawl, so ranking fundamentals still gate whether you are even considered.
- ▸Third party mentions, comparison pages and directory listings carry more citation weight than claims made about yourself.
- ▸Allow the named AI crawlers in robots.txt on purpose. Blocking them by default is the single most common self-inflicted GEO mistake.
- ▸Server rendered HTML with clean structured data is cheaper for a model to parse, and cheap-to-parse sources get cited more often.
- ▸Specific numbers, dates, prices and named entities get quoted. Vague marketing language gets paraphrased into nothing or dropped.
- ▸Consistency of facts across your site, directories, and review platforms matters more than saying anything once loudly.
- ▸You can measure GEO today with referral traffic from AI platforms, direct prompt testing, and a simple share of voice log.
What GEO actually is
Generative engine optimization is the practice of making your product easy for an AI system to find, understand, trust and repeat when it answers a user's question. It is not a replacement for SEO, it is what SEO becomes once a meaningful share of queries never produce a list of links. The buyer's journey used to be: search, scan ten results, click two or three, compare. Increasingly it is: ask an assistant, read a synthesized answer, click zero or one link, decide. If your product is not in that synthesized answer, you never get the click at all. That is a harder failure mode than ranking on page two, because there is no page two to eventually claw up.
The overlap with SEO is real and it matters: most answer engines, including ChatGPT's browsing mode, Perplexity, and Google's AI Overviews, still lean on an index built by crawling and ranking web pages. If you do not exist in that index, or you rank nowhere near the query, you are very unlikely to be retrieved in the first place. So the floor of GEO is still: get indexed, get relevant, get links. What changes above that floor is the format that wins. A page built to rank number one on a search results page optimizes for click-through: a strong title, a compelling meta description, a wall of comprehensive content that keeps someone scrolling. A page built to be cited optimizes for extractability: a model needs to lift a self-contained chunk of text, verify it looks trustworthy, and drop it into an answer without needing the rest of the page for context.
How answer engines pick sources: retrieval, then synthesis
Almost every AI answer engine follows the same two-step shape, whether it is ChatGPT with browsing on, Perplexity, or an AI Overview. Step one is retrieval: the system reformulates the user's question into one or more search queries, runs them against a search index or a live crawl, and pulls back a shortlist of candidate pages or passages. Step two is synthesis: a language model reads that shortlist and writes an answer, choosing which facts to state, which sources to cite, and which passages to quote or closely paraphrase.
This two-step structure has direct consequences for what you optimize. During retrieval, you are competing on the same signals that matter for classic search: topical relevance, backlinks, domain trust, freshness for time-sensitive queries, and technical crawlability. If your page never makes the shortlist, nothing you do to the copy on the page can save you. During synthesis, you are competing on a different axis entirely: given that your page and three competitors' pages are all in the context window, which one gets picked, quoted, and attributed by name? That decision favors passages that are unambiguous, specific, and easy to lift cleanly. It also shows a measurable bias toward claims that appear on more than one independent source, because a model synthesizing an answer is implicitly trying to avoid repeating something only one biased party says about itself.
Practically, this means you need to win twice: once to get retrieved, and once to get chosen and named once you are in the pool. Most founders only work on the first half.
The crawlers to allow in robots.txt
This is the most common and most fixable mistake we see: a founder installs a strict robots.txt template, or a security-minded default from a hosting platform, and it silently blocks every AI crawler along with the scrapers it was meant to stop. If a crawler cannot fetch your pages, you cannot appear in that engine's retrieval index, full stop, no matter how good your content is.
- ▸GPTBot: OpenAI's crawler that builds general training and retrieval data. Blocking it removes you from a large share of what ChatGPT can know about your product going forward.
- ▸OAI-SearchBot: OpenAI's crawler specifically for ChatGPT's search and browsing features. This is the one that matters most for being cited in a live, browsed ChatGPT answer. Blocking this one has an immediate, direct cost.
- ▸ChatGPT-User: fires when a live user's ChatGPT session browses to your page on demand, for example when someone pastes your URL or asks ChatGPT to check your pricing page right now. Blocking it breaks that specific, high-intent interaction.
- ▸PerplexityBot: Perplexity's crawler for its own index. Perplexity is currently one of the highest referral-traffic AI platforms for many SaaS sites, so this is a high-value one to allow.
- ▸ClaudeBot: Anthropic's crawler, used for training and, increasingly, for Claude's web search features.
- ▸Google-Extended: a separate directive from Googlebot that controls whether Google can use your content for Gemini and AI Overviews specifically. You can allow classic Googlebot for search while blocking Google-Extended, and many sites accidentally do the opposite of what they intended.
Rule of thumbCheck your robots.txt today. A default `Disallow: /` under a `User-agent: GPTBot` block, inherited from a template you never edited, is the single highest-leverage GEO fix most sites can make in five minutes.
llms.txt: a small file, a clear signal
llms.txt is an emerging, informally adopted convention: a plain markdown file at the root of your domain (yoursite.com/llms.txt) that gives a model a short, structured summary of what your site is, who it is for, and where to find the important pages. It is not a ranking signal in the way a sitemap is, and not every crawler consumes it yet, but it costs almost nothing to add and it removes ambiguity for the crawlers and agentic browsing tools that do read it.
A useful llms.txt for a SaaS product is short: one paragraph describing the product and who it serves, a bullet list of key pages (pricing, docs, changelog, comparison pages) with one-line descriptions, and a note on anything a model should get right, like the current pricing tiers or the categories you compete in. Treat it the way you'd treat a very good one-paragraph pitch you'd want a well-meaning stranger to repeat accurately. Update it when your positioning or pricing changes, the same way you'd update a sitemap.
Why server rendered HTML matters
Many AI crawlers, including several of the ones listed above, do not execute JavaScript. They fetch the raw HTML response and parse whatever text is already there. If your marketing site is a client-side rendered single page app that fills in content after hydration, a crawler that does not run your bundle sees an empty shell: a div, a script tag, and none of your actual copy. You can rank nowhere and be cited nowhere, while the page looks completely normal to any human who opens it in a browser.
The fix is server-side rendering or static generation for anything you want indexed and cited: the homepage, pricing, comparison and alternatives pages, docs, and blog content. If you are on a modern meta-framework, this is usually a rendering mode setting rather than a rewrite. If you are shipping a pure client-rendered app, at minimum pre-render your marketing and content routes separately from your authenticated app shell. Test it the blunt way: fetch your own page with curl and no JavaScript execution, and read what comes back. If the sentence you're proudest of is not in that output, no crawler that respects the same limitation will ever see it either.
Structured data that actually helps
Schema markup does not force a citation, but it removes ambiguity about what a page is and what it claims, and unambiguous pages get quoted more confidently and more accurately. Think of it as reducing the model's uncertainty rather than persuading it.
- ▸Organization: name, logo, URL, sameAs links to your social and directory profiles. This ties your brand mentions together across the web into one entity.
- ▸Product or SoftwareApplication: category, pricing, operating system or platform, and a description. This is the schema most directly quoted when a model states "what it is" and "what it costs."
- ▸FAQPage: mark up the actual FAQ on your page, matching the visible text exactly. This is one of the highest-yield schema types for GEO because it maps directly onto the question-and-answer shape a model is trying to produce.
- ▸Article: for blog and guide content, with datePublished and dateModified. Freshness signals matter more for GEO than for classic evergreen SEO, because assistants weigh recency heavily for anything that could be time-sensitive, like pricing or feature comparisons.
- ▸BreadcrumbList: cheap to add, helps a crawler understand where a page sits in your site's structure and what category it belongs to.
- ▸AggregateRating: if you have genuine review counts and scores from a third party or your own verified reviews, this gives a model a specific, quotable number instead of a vague claim of quality.
Rule of thumbKeep every field in your structured data byte-for-byte consistent with what a human reader sees on the page. Mismatched schema (a price in the markup that differs from the visible price) is treated as a trust signal problem, not a technical detail, once a model or a human catches it.
Writing content that is extractable
Extractability is the difference between a paragraph a model can lift cleanly into an answer and a paragraph that needs three sentences of surrounding context to make sense. You are writing for two readers at once: a human scanning the page, and a model deciding whether this passage stands on its own.
- ▸Definition first: open each section with a direct answer in the first two to three sentences, before any story, caveat, or history. Put the elaboration after the answer, never before it.
- ▸Question-shaped headings: phrase H2s and H3s the way a real buyer would type or speak the question. "How much does it cost" retrieves better than "Pricing."
- ▸Real numbers, not ranges of vagueness: "Plans start at 29 dollars per month and include 5,000 monthly runs" gets quoted verbatim. "Flexible pricing for teams of all sizes" gets paraphrased into nothing, because there is nothing concrete in it to extract.
- ▸Named entities: use your actual product name, competitor names in comparisons, specific integrations, and specific platforms you support, rather than generic descriptors. Models cite things they can name with confidence.
- ▸Tables for anything comparative: a pricing table, a feature comparison, a supported-platforms table. Tabular data is unusually easy for a model to extract and restate accurately, and it resists the kind of paraphrasing that introduces errors.
- ▸Dates on everything time-sensitive: when a plan changed, when a feature shipped, when the page was last reviewed. Undated claims about pricing or capability are treated as stale by cautious models and are more likely to be skipped in favor of a competitor's dated page.
Get named off your own site
Models are structurally cautious about repeating a vendor's claims about itself, the same way a careful human is skeptical of a company's own marketing copy. Third party mentions carry disproportionate citation weight: independent directory listings with real reviews, comparison articles written by someone who is not you, "best of" roundups, community threads on Reddit or Hacker News, and integration changelogs from tools you connect to. A model synthesizing an answer to "what is [your product]" is, in effect, trying to triangulate a consensus description. If the only description of you online is the one you wrote, there is no consensus to find, just one source repeating itself.
This is why launch platforms with an indexable, per-product page matter well beyond the traffic spike on launch day. A listing on LaunchLoop, for example, creates an independent, citable page stating what your product does, who it is for, and what category it competes in, written and hosted somewhere that is not your own domain. That page keeps existing and keeps getting crawled long after the launch-day visitors are gone, and it is exactly the kind of third party corroboration that answer engines lean on when deciding whether to trust and repeat a claim about you.
Build a deliberate list of the third party surfaces you want to exist on: two or three quality directories including LaunchLoop, a handful of relevant "best tools for X" roundup articles you can realistically get included in, active participation in one or two communities where your buyers already discuss tools like yours, and reviews on the platforms your category actually uses (G2, Capterra, or a niche equivalent). None of these need to be enormous. A model does not need a thousand mentions, it needs enough independent, consistent ones to treat a claim as verified.
Comparison and alternatives pages
"X vs Y" and "best alternatives to X" queries are some of the highest-intent, most frequently asked prompts in AI search, because they are exactly the shape of question someone asks right before they buy. Owning this content, both on your own site and by being named favorably on someone else's, is one of the highest-leverage GEO investments available to a small team.
On your own site, write honest comparison pages against the two or three tools you are actually compared to in the market. Honest means naming real trade-offs, not just a table stacked in your favor with a green checkmark next to every one of your features. A model, and a skeptical buyer, both discount a comparison page that has zero honest weaknesses for the incumbent, because it reads as unreliable. Include a table with concrete axes (pricing, supported platforms, setup time, specific limits) rather than a vague paragraph of superlatives.
Off your own site, the goal is to be included, accurately, in the comparison and alternatives content other people write. That means being reachable and responsive when a blogger or reviewer reaches out, keeping your own listed facts (pricing, features, category) accurate and current on your site and on directories so anyone writing about you gets it right without having to ask, and occasionally reaching out yourself to well-trafficked roundup authors with a short, factual pitch about where you fit.
Keep facts consistent across the web
Answer engines that cross-reference multiple sources penalize contradiction, sometimes by simply hedging ("pricing varies") and sometimes by dropping the claim entirely rather than picking a version. If your pricing page says 29 dollars, your directory listing on one site says 25, and a stale roundup article from eight months ago says 19, a model synthesizing an answer has three inconsistent numbers and no clean way to pick one. The safest outcome for it is to omit the number, which means you lose the one detail most likely to get you cited in a bottom-line-up-front answer.
- ▸Audit your own listings quarterly: your directory profiles, your G2 or Capterra page, your social bios, and any "about" page you do not control directly.
- ▸When you change pricing or repositioning, update the highest-traffic third party listings you can, not just your own site.
- ▸Use one consistent one-line description of your product everywhere you can. Repetition of the exact same phrasing across independent sources is itself a corroboration signal.
- ▸Do not let old, high-ranking content quietly contradict current facts. A three-year-old blog post outranking your current pricing page is a liability, not a legacy asset.
Measuring GEO without a rank tracker
There is no equivalent of a search rank tracker for AI answers yet, but that does not mean GEO is unmeasurable. Three practical methods work today and cost nothing beyond discipline.
- ▸Referral traffic: segment your analytics for traffic originating from chatgpt.com, perplexity.ai, and other AI platforms' referral domains. This traffic is usually small in volume today but disproportionately high-intent, since it arrives after someone already got a synthesized recommendation.
- ▸Brand and category prompt testing: keep a running list of 15 to 25 real buyer questions in your category, phrased the way an actual user would ask them, not the way you'd write a keyword. Run them monthly across ChatGPT, Perplexity, and Google's AI Overview, and log whether you appear, in what position among the names given, and with what description.
- ▸Share of voice: for each of those prompts, count how many of the cited or named tools are you versus competitors, over time. A rising share of voice is the leading indicator that precedes referral traffic showing up in your analytics, often by several weeks.
- ▸Description accuracy: separately from whether you're mentioned, log what the model says about you. If it consistently gets your category, price, or key feature wrong, that is not a visibility problem, it is a consistency problem you can fix directly with the tactics above.
A practical 30 day GEO checklist
This is the order we'd actually do it in, front-loading the fixes with the highest leverage relative to effort.
- ▸Week 1: audit and fix robots.txt for GPTBot, OAI-SearchBot, ChatGPT-User, PerplexityBot, ClaudeBot and Google-Extended. Confirm with a raw HTTP fetch that your key pages render full content without JavaScript.
- ▸Week 1: add or refresh llms.txt at your domain root with a short, accurate summary and links to pricing, docs and comparison pages.
- ▸Week 2: add or fix Organization, Product/SoftwareApplication and FAQPage structured data on your homepage, pricing page and top three blog posts. Validate every field matches the visible text exactly.
- ▸Week 2: rewrite your top three landing and blog pages so each key section opens with a direct, specific answer in the first two to three sentences, with a real number or date wherever a vague claim currently sits.
- ▸Week 3: publish or update one honest comparison page against your top competitor, with a concrete table, and claim or refresh your listing on two to three directories including LaunchLoop, with accurate current pricing.
- ▸Week 3: reach out to three community threads or roundup authors where a mention or correction would meaningfully help, with a short factual pitch, not a press release.
- ▸Week 4: build your 15 to 25 question prompt-testing list, run it once across the major assistants, and log baseline mentions, position and description accuracy so next month's run is measurable against something.
Common GEO mistakes
Most of the failures we see are avoidable and mechanical, not strategic.
- ▸Blocking AI crawlers by accident through an inherited or default robots.txt, then wondering why a well-optimized page never gets cited.
- ▸Shipping marketing pages as client-only rendered content that crawlers without JavaScript execution simply cannot read.
- ▸Writing pricing and feature copy in vague, superlative language with no extractable numbers, then being surprised a competitor with a plain pricing table gets quoted instead.
- ▸Treating GEO as only an on-site content exercise and ignoring third party presence, when independent corroboration is often the deciding factor in synthesis.
- ▸Letting facts drift out of sync between your site, directories and review platforms, which causes models to hedge or omit rather than pick the wrong one.
- ▸Chasing a single big press hit instead of building a handful of durable, independent, accurate mentions that keep getting crawled for years.
- ▸Never checking what the assistants currently say about you, so a stale or wrong description compounds unnoticed for months.
Ready to put this into practice?
Submit your product to LaunchLoop, get reviewed by founders in your category, and relaunch whenever you ship something new.
Submit a launch →