Skip to content
All articles

GEO basics: how to show up in AI answers

Your customers no longer only type three keywords into Google. They ask ChatGPT, Gemini, Perplexity or Google's AI Mode a full question and get one answer with a handful of sources. If you are not one of those sources, you are invisible at the exact moment someone decides. Here is what generative engine optimization (GEO) really is, what works, and what is noise.

10 min read

1. What GEO is, and what it is not

Classic SEO fights for a position in a list of ten links. Generative engines work differently: they search, read several pages, and write one answer that cites a few of them. The term GEO comes from a 2023 research paper (published at KDD 2024) that measured how content changes affect visibility inside those answers; the best methods raised visibility by up to 40%, with large differences between domains. The practical consequence is simple: you are no longer optimizing for a rank, you are optimizing to be retrieved, understood and quoted. That does not replace SEO. Google says it openly in its own guidance for AI Overviews and AI Mode: there are no extra requirements and no special optimization, the SEO fundamentals still apply. Other assistants such as ChatGPT search and Perplexity run their own indexes, but they also need pages they can fetch, parse and trust. So think of GEO as SEO plus three things: being unambiguous about who you are, being worth quoting, and being present where the AI looks besides your own site.

2. How AI answers pick their sources

Most assistants answer in two stages: retrieve, then write. Google describes a technique it calls query fan-out for AI Overviews and AI Mode: the model fires several related searches across subtopics and combines what it finds. That is why one page that answers the main question and the obvious follow-ups beats five thin pages. For the other assistants, the crawler decides whether you can be a source at all, and each vendor separates training from search. OpenAI documents GPTBot for training, OAI-SearchBot for ChatGPT search, and ChatGPT-User for fetches a user triggers; sites that block OAI-SearchBot do not appear in ChatGPT search answers. Perplexity documents PerplexityBot for its search results and Perplexity-User for user actions, and says neither is used to train foundation models. Google's training control, Google-Extended, has no effect on Google Search, so blocking it does not remove you from AI Overviews. The decision you need to make is therefore not 'AI yes or no', but 'training yes or no' and 'AI search yes or no', bot by bot.

robots.txt
# Example: stay visible in AI search, opt out of model training.
# Make this a deliberate business decision, bot by bot.

User-agent: Googlebot          # Google Search, incl. AI Overviews and AI Mode
Allow: /

User-agent: OAI-SearchBot      # ChatGPT search results
Allow: /

User-agent: PerplexityBot      # Perplexity search results
Allow: /

User-agent: GPTBot             # OpenAI model training
Disallow: /

User-agent: Google-Extended    # Gemini training; no effect on Google Search
Disallow: /

Sitemap: https://www.example.com/sitemap.xml

Tip from practice

Check your CDN and firewall, not only robots.txt. Bot-protection rules often block AI search crawlers silently, and the site looks fine in every browser.

From question to cited answer: the assistant searches its index or the live web, robots.txt decides which bots may read your pages, and your site, listings and mentions elsewhere supply the facts. Semrush and Peec AI show how often you are named, and a backlog turns the gaps into fixes.
How AI assistants pick the sources they cite, and how you measure it

3. Make your entity unambiguous

An AI answer merges facts from many sources. If your opening hours differ between your website, your Google Business Profile and three directories, the model either picks one at random or leaves you out because it cannot reconcile them. The fix is boring and effective: one source of truth for your core facts (legal name, brand name, address, phone, opening hours, prices, what you offer, where you operate) and a routine that pushes it everywhere. Give the brand a real 'about' page with who is behind it, since when, and what makes it different, written in plain sentences a model can quote. Claim and complete your Google Business Profile if you have a physical location. If you are notable enough, a clean Wikidata item helps machines connect the dots between your name, your website and your social profiles. Use the same spelling of your name everywhere, including the people behind the company. Ambiguity is the most common reason I see for a strong business being absent from AI answers.

4. Add structured data that matches the page

Structured data in JSON-LD, using the schema.org vocabulary, tells machines in a fixed format what a page is about: an organization, a local business, a product with a price, an article with an author and a date. Google uses it for rich results and to understand pages; for AI answers it removes guesswork when facts are extracted. Start with Organization (or LocalBusiness and its subtypes such as Restaurant) on the home page, then add the type that fits each template: Product, Article, Event, FAQPage, BreadcrumbList. Two rules matter more than the number of types. First, the markup must match what a visitor sees on the page; markup that describes content that is not there is a guideline violation, not a trick. Second, generate it from the same data that renders the page, so prices and opening hours can never drift apart. Test with Google's Rich Results Test and the Schema Markup Validator, and check templates rather than single URLs.

json-ld
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Example Bistro",
  "url": "https://www.example-bistro.com/",
  "telephone": "+49 30 0000000",
  "servesCuisine": ["Mediterranean"],
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Example Street 1",
    "postalCode": "10115",
    "addressLocality": "Example City",
    "addressCountry": "DE"
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
    "opens": "11:30",
    "closes": "23:00"
  }],
  "acceptsReservations": "https://www.example-bistro.com/reserve",
  "sameAs": ["https://www.wikidata.org/wiki/Q000000"]
}
</script>

5. Write content an AI wants to quote

A model that writes an answer looks for passages that state something clearly and can be attributed. Put the answer first: the first two sentences of a page or section should answer the question in the heading, then go into detail. Use concrete numbers, dates and conditions instead of adjectives. Original data is gold: your own prices, waiting times, measured results or survey numbers are things nobody else can provide. The GEO research found that adding citations, quotations and statistics was among the most effective changes, with effects that varied by topic. Comparison tables, step lists and short FAQ blocks are easy to lift into an answer. Keep a visible 'last updated' date and actually update. What does not work, according to Google's own guidance for its AI features: chopping text into artificial chunks for machines, mass-producing near-identical pages, or chasing inauthentic mentions. Google's advice is to create unique, non-commodity content that people find useful; that is also what other assistants end up citing.

Tip from practice

Read your key page aloud and stop after two sentences. If a stranger could not answer the heading's question from them, rewrite the opening, not the whole page.

6. Be present where the AI looks besides your site

Look at the sources an AI cites for your most important questions and you will often find review platforms, booking and comparison portals, directories, industry media and forums, not brand websites. That is where GEO becomes a distribution job. Keep your listings complete and consistent on the portals that show up in the answers for your market. Ask happy customers for reviews and answer the critical ones; sentiment travels into AI answers. Earn mentions in the media and partner sites your audience reads, with the same facts you publish yourself. On a European hospitality platform with a large network of restaurant websites, one of the proofs of concept I built was exactly this: publishing restaurant data automatically to third-party portals, so the facts an AI finds elsewhere match the source. The second was a generator for blog articles, so each restaurant could add original, quotable content without a marketing team. Both started as small experiments with a measurable goal, not as big platform projects.

Interactive

How ready is your brand for AI answers?

Tick what is already true. What's left is your GEO to-do list, most important first.

0/10 ready

Your next three steps

  1. Brand facts are identical on the site, Google Business Profile, LinkedIn and directories
  2. Key pages answer the main question in the first paragraph
  3. Organization or LocalBusiness structured data on key pages
Get a GEO visibility check
All calculators and checklists

7. What about llms.txt?

llms.txt is a proposal for a Markdown file at the root of a site that summarizes the most important content for language models. It is popular in developer documentation and cheap to add. Be honest about its status, though: it is a community proposal, not a standard. Google states in its guidance for generative AI features that Google Search does not use llms.txt or other special AI files, and that you can ignore them for Search. None of the large AI search providers has publicly confirmed that it reads the file for ranking or citations. My rule: add one if you have documentation that agents and coding assistants consume, because it can help them navigate, but do not expect it to move your visibility in AI answers, and never let it replace the work in the steps above. If a vendor sells you llms.txt as the core of a GEO strategy, ask them for the data.

8. Measure AI visibility before and after

Without a baseline, every GEO project turns into opinions. I measure three things before touching a page. First, AI-referred visits in your analytics: sessions coming from chatgpt.com, perplexity.ai, gemini.google.com, copilot.microsoft.com and similar, knowing that some assistants send no referrer, so this is a lower bound. Second, Google's own numbers: Search Console has a generative AI performance report for AI features in Search, alongside the regular performance data. Third, a tracked set of real customer prompts in a tool such as the Semrush AI Visibility Toolkit or Peec AI, which run your prompts daily against the major assistants and report how often you appear, at which position, with which sentiment and next to which competitors. On the hospitality platform I mentioned, the baseline came first, then prompt research for around 150 landing pages, then ten prioritized experiments in three phases: assessment, a selection workshop, and short sprints. Read trends over weeks, not single days; AI answers vary from run to run.

regex
# Analytics channel rule for AI assistants (referrer / session source).
# A lower bound: some assistants send no referrer at all.
(^|\.)(chatgpt\.com|chat\.openai\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai)$

Takeaway

GEO is not a trick file or a new kind of keyword; it is SEO done properly, plus clear facts everywhere and content worth quoting, measured against a baseline.

More articles

    Get in touch

    Tell me what you're building. I'll reply within 1–2 business days.

    Dominik Heinrich
    Company
    MADO Consulting

    Available worldwide, remote. On-site on request, depending on the country.

    I reply within 1–2 business days. Free slots: see the calendar

    Opens Calendly's booking calendar here. Loading it sends data to Calendly (see Impressum).