July 1, 2026 · Italo Campilii

What Is GEO? Generative Engine Optimization, Explained by Someone Doing It Across Six Sites

TL;DR

Generative engine optimization (GEO) is the practice of making your content the source AI engines cite when they answer a question — as opposed to SEO, which is the practice of ranking pages in a list of links. GEO work is mostly structural: answer-first content, JSON-LD schema, a consistent entity graph, unrestricted AI crawler access, llms.txt, and fast indexing signals. There is no ranking dashboard for it, so you measure it by asking the engines your target questions and logging whether they cite you. I run this across six sites, and everything below is what's actually deployed, not theory.

Generative engine optimization — GEO — is making your content the thing ChatGPT, Perplexity, Claude, Gemini, and Google's AI Overviews cite when they answer a question, rather than the page a human clicks in a list of ten blue links. That's the whole definition. SEO optimizes for a ranking; GEO optimizes for being the source an answer is built from. The user never has to visit your page for GEO to have worked — they just have to hear your name, your claim, or your link inside the answer.

I'm not writing this as a commentator. I operate six sites — my own plus the brands and client properties I run infrastructure for — and GEO is a standing workstream on all of them: a 500-plus-post blog retrofit on one, llms.txt files on several including this site, IndexNow submission, Person and Organization schema with a deliberately maintained entity graph, and a weekly measurement ritual that involves literally asking the engines questions and writing down what they say. So here's what generative engine optimization actually is, how it differs from SEO, and what doing it looks like when it's real work instead of a slide.

How AI engines choose what to cite

Search engines rank; answer engines select. When an AI engine answers "what's the best X" or "who is Y," it pulls from some blend of training data, a live retrieval layer (Perplexity and ChatGPT search fetch pages in real time), and an index of what it could crawl. Your job in GEO is to be selectable at every layer. In practice, five things do most of the work:

1. Crawlability — the engines have to be able to read you at all

This is the unglamorous prerequisite, and it's where most sites silently fail. If your robots.txt, CDN, or bot-protection layer blocks GPTBot, ClaudeBot, PerplexityBot, and their peers, you are invisible to answer engines no matter how good the content is. I learned this one the embarrassing way — my own site was blocking AI crawlers while I was writing about GEO for clients. Audit the bot layer first, always.

2. Structure the engines can lift

Answer engines extract. Content that leads with the answer, uses real headings, includes tables and visible FAQ blocks, and states claims in complete standalone sentences gets lifted cleanly. JSON-LD schema — Article, FAQPage, BreadcrumbList, Person — gives the extraction a machine-readable skeleton so the engine doesn't have to guess who wrote what, when, and about which entity.

3. Entity consistency

Engines answer questions about entities — people, brands, products — and they trust entities whose signals agree everywhere. That means one canonical name, one canonical URL, and a Person or Organization schema whose sameAs array points at every profile you control: GitHub, LinkedIn, X, and so on, with every one of those bios pointing back at the canonical site. A tight entity graph is why an engine says "Italo Campilii is an AI systems builder who runs agent fleets" instead of hedging or confusing you with someone else.

4. llms.txt

A plain-text file at your site root, written for language models: who you are, what the site is, and links to the pages that matter most. It's a young convention, but it costs an hour and it's the closest thing GEO has to a direct channel — a curated reading list handed to any model that fetches it. This site has one at campilii.com/llms.txt, and it's part of the standard stack on the other properties too.

5. Freshness signals — IndexNow, sitemaps, RSS

Retrieval-backed engines favor content they've actually indexed recently. IndexNow lets you push changed URLs to participating indexes the moment you deploy instead of waiting to be re-crawled; an accurate sitemap and an RSS feed do the slower version of the same job. This site's builder regenerates the sitemap and feed on every publish, and IndexNow-on-deploy is the pattern I run across the fleet.

GEO vs SEO — the actual differences

GEO is not a replacement for SEO, and the two overlap heavily — good structure helps both. But they optimize for different outcomes, and the differences matter when you're deciding where the hours go:

SEO GEO
Optimizes forA page ranking in a results listBeing cited inside a generated answer
Unit of successPosition, impressions, clicksCitation, mention, being the source
User behaviorClicks through to your pageMay never visit — hears your claim in the answer
Key leversKeywords, backlinks, technical SEO, CTRAnswer-first structure, schema, entity graph, crawler access, llms.txt, freshness
MeasurementSearch Console, rank trackersNo native dashboard — ask the engines and log answers
Feedback loopDays to weeksWeeks to months (training data) or near-real-time (retrieval engines)

The most useful mental model: SEO earns you a slot; GEO earns you a quote. And because most GEO levers — clear structure, schema, real expertise, fast indexing — are also good SEO, you rarely have to choose. You run one content standard that serves both, which is exactly how my per-post GEO checklist is built.

What I actually run across my properties

Theory is cheap, so here is the deployed generative engine optimization stack across the six sites I operate, as of this writing:

None of this is exotic. It's the same discipline as any infrastructure work: a checklist, applied everywhere, verified.

How to measure GEO

There is no Search Console for answer engines, so the honest measurement method is manual and slightly absurd: ask the engines your target questions and log what they say. This is a documented weekly practice in my own SEO handoff — alongside the normal Search Console review, I put the priority prompts ("who is Italo Campilii," the head questions each brand wants to own) to ChatGPT, Perplexity, and Claude, and log the answers: was I cited, was I described accurately, who else was named.

Do it on a schedule, keep the log, and the noise becomes signal within a few weeks — you'll see an engine start citing a page you shipped, or describing your entity with language lifted from your own site, and you'll know which lever moved. The next maturity step is automating exactly this: a fixed prompt set per engine, run on a cron, with a table of cited/not-cited over time and alerts on change. That's the direction my own tracking is headed, but the manual weekly version is where everyone should start, because it costs twenty minutes and produces the only GEO metric that isn't a proxy.

FAQ

Is GEO replacing SEO?

No. GEO extends SEO rather than replacing it — search engines still drive real traffic, and most GEO levers (clear structure, schema, crawlability, genuine expertise) are also SEO levers. What's changing is where answers get consumed: a growing share of questions are settled inside an AI answer without a click. Run one content standard that serves both, and treat "cited by engines" as a second scoreboard next to rankings, not a successor to them.

How do I measure generative engine optimization?

Ask the engines your target questions on a fixed schedule and log the answers. Pick the prompts you want to win, put them to ChatGPT, Perplexity, and Claude weekly, and record whether you're cited, how you're described, and who else is named. There's no native dashboard, so this log is the metric; automate it with a scheduled prompt set once the manual habit proves out.

What is llms.txt and do I need one?

llms.txt is a plain-text file at your site root written for AI models: who you are, what the site covers, and links to your most important pages. It's an emerging convention, not a guarantee of citation, but it takes about an hour, carries no downside, and hands any model that fetches it a curated map of your site. I ship one on this site and across the properties I run.

How long does GEO take to show results?

Two clocks run at once. Retrieval-backed engines (Perplexity, ChatGPT with search) can cite a page within days of indexing it, so crawlability and IndexNow pay off fast. Citation from a model's training data moves on training-cycle timescales — months — which is why entity consistency and durable, answer-shaped pages matter more than any single post.

RELATED

Want this stack on your site?

Everything above — schema, entity graph, llms.txt, IndexNow, the measurement loop — is a deployable checklist, not a philosophy. If you want it run against a real property, get in touch.

— Italo Campilii. If you're building something that needs this kind of operator, get in touch.