SEO for ChatGPT: how assistants choose what to cite
You want your page named in answers written by assistants, not just found in classic search. This guide shows how ChatGPT with search retrieves and cites pages, what structures it quotes, how to allow the right crawlers, and how to test your prompts each month. It is written for small product sites and stores that can change their own pages.
By Théophile Louvart, founder of Porteur · Updated 13 September 2026 · Markdown
What assistants cite and why it matters
Generative engine optimisation is being named and cited in answers written by AI systems. It covers ChatGPT with search, Perplexity, Google AI Overviews and AI Mode, Claude, Gemini and Microsoft Copilot. The term was popularised by a 2023 paper by Aggarwal and colleagues.
These assistants pull sources from a web index. They quote pages that answer the question directly. Clear structure, consistent names, lists, comparisons and quotable figures raise your chances. There is no submit button. Allowing the answering crawlers is a precondition.
For a small site, a single citation in a high intent query can bring steady referred visits and brand searches. Buyers scan the sources on the answer. You want your “/pricing”, “/compare/you-vs-x” or “/guides/getting-started” there, not a thin blog post.
How ChatGPT with search retrieves sources
ChatGPT with search draws from a search index. As of 2026, vendors document separate crawlers: training, answering and on-demand fetchers. For ChatGPT, OAI-SearchBot is for indexing search results, GPTBot is for model training, and ChatGPT-User fetches a page a user asks about. The pattern is similar across other assistants.
| Vendor | Tokens you will see | What each is for |
|---|---|---|
| OpenAI | GPTBot | Crawling for model training |
| OpenAI | OAI-SearchBot | Indexing for ChatGPT search results |
| OpenAI | ChatGPT-User | Fetches a page when a user asks about it |
| Anthropic | ClaudeBot | Crawling for training and to improve models |
| Anthropic | Claude-SearchBot | Search index |
| Anthropic | Claude-User | Fetches a page a user asks about |
| Googlebot | Search, and the pages AI Overviews cite | |
| Google-Extended | A control for Gemini training and grounding, not Search ranking | |
| Microsoft | Bingbot | Bing Search and Microsoft Copilot |
| Perplexity | PerplexityBot | Index |
| Perplexity | Perplexity-User | Fetch on demand |
| Apple | Applebot | Siri and Spotlight |
| Apple | Applebot-Extended | A control for Apple Intelligence training |
| Common Crawl | CCBot | Open crawl corpus used to train models |
| ByteDance | Bytespider | Crawling |
| Meta | meta-externalagent, meta-externalfetcher | Training and fetchers |
| Amazon | Amazonbot | Crawling |
| Cohere | cohere-ai | Crawling |
| DuckDuckGo | DuckAssistBot | Crawling for answers |
Robots.txt is honoured voluntarily. Blocking a training crawler does not remove data already collected. Blocking answering and search crawlers makes you invisible in assistants. That includes OAI-SearchBot, Claude-SearchBot, PerplexityBot, Bingbot and Googlebot.
Robots.txt: allow the right bots, control training
Your robots.txt should allow Googlebot, Bingbot and the search bots used by the assistants you want to appear in. You can still restrict training crawlers if needed. Use explicit sections per user agent so you can audit changes later.
# Answering and search bots you likely want
User-agent: Googlebot
Allow: /
User-agent: Bingbot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
# On-demand fetchers, allow so answers can verify
User-agent: ChatGPT-User
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Perplexity-User
Allow: /
# Optional: limit model training crawlers
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: meta-externalagent
Disallow: /
User-agent: Applebot-Extended
Disallow: /
User-agent: Google-Extended
Disallow: /
Keep your robots.txt small and readable. Add a comment with the date when you change controls. Test that the file is reachable at yourproduct.com/robots.txt over HTTPS. Audit after any CDN or firewall change.
Pages that get quoted: clarity, structure and scope
Assistants extract short claims and names. They cite clear sentences near headings and lists. They skip vague copy. Write for fast parsing by a reader and a retriever. Use exact names for your product, plans and competitors, and keep them consistent sitewide.
- One page per intent. Do not hide pricing on a features page.
- Lead with the answer. Put the claim up top.
- Use short paragraphs and sentence case.
- Add lists and short tables the assistant can pull.
- Name products and people the same way every time.
- Give quotable figures: limits, counts, dates, sizes. Mark examples as examples.
A fixed “/pricing” shows the plan names, what is included and a couple of constraints in a small table. A fixed “/compare/you-vs-competitor-x” opens with a short summary, then a row-by-row table and links to proofs. A fixed “/guides/getting-started” shows steps with commands and screenshots, each named and labelled.
Lists, comparisons and figures they can quote
Assistants love lists and comparisons because they map to answers. For a feature checklist, a “You vs X vs Y” page with a row for each feature gets cited more than a wall of text. For an alternatives query, a ranked list with one sentence reasons and links to proof is easy to quote and to click.
- Use a standard order in lists. Number them if the order matters.
- Put one figure per claim. Example: “Free plan includes up to 3 projects.” This is an example, not measured on your site.
- Cite dates for fresh data. Example: “Updated September 2026.”
- Link each claim to a method or a source. Example: benchmarks, docs.
- Avoid adjectives you cannot back up. Replace “fast” with a number.
If a buyer asks “What is the difference between A and B,” assistants look for a two column layout with scannable rows. If a buyer asks “best tools for X,” assistants look for a short list with explicit criteria. Build those pages and keep them current.
Be on the pages that answers already cite
There is no submission form. The most reliable route is to be named on the roundups and comparisons that assistants already cite. If “best A/B testing tools” answers always name a few list posts, you need to be on those lists. That is classic outreach with a clear target list.
Find the answer pages
Ask ChatGPT with search, Perplexity and Copilot the exact buyer query. List every cited domain. Repeat with a couple of close variants.
Score the gaps
Mark which list posts and comparisons you are missing. Note their criteria and format. If they link to a data source, read it.
Pitch the update
Write a short, factual pitch to the editor. Offer a one sentence reason to include your product, plus a link to a proof page and a logo kit.
Back it with your own page
Ensure your “/compare/you-vs-x” and “/alternatives/x-alternatives” say the same names and figures you used in the pitch.
Track the citation
Re-run the same questions monthly. Watch for your domain in the sources list. Save screenshots before and after any change.
Outreach is slow. While you wait, add internal links from your own pages that already earn impressions. Link “/pricing”, “/compare/you-vs-x” and “/guides/getting-started” from the home page and the footer. Assistants often fetch the home page first, then follow internal links to evidence pages.
Keep names consistent and pages fresh
Assistants match names. If your product is “Acme Deploy” on “/pricing” but “AcmeDeploy” on “/about”, you split signals. Pick one form and use it everywhere. Match that in your structured data and in your social profiles. Use the same plan names in docs, support and the app UI.
- Freezing plan names for a quarter is typical.
- Publish a change log or “What’s new” with dates.
- Update comparison tables the same day a feature ships.
- Avoid alias paths. Redirect /price, /plans to /pricing.
- Add the month and year to any benchmark or statistic.
For a small site, recency is a tie breaker. An “Updated September 2026” line above your table can be the difference between being quoted or skipped. A fixed page here: “/compare/you-vs-x” with a last updated line, a clean table and a method link for each figure.
Test your prompts monthly and log who gets cited
You measure GEO by asking the assistants the questions a buyer asks and reading who is named. This is not traffic in Search Console. It is a monthly, repeatable prompt set and a short log. Keep it short, about thirty minutes is typical.
Write about five buyer questions
Use the language you see in support tickets and demos. Example: “Best ecommerce A/B testing for Shopify,” “Acme Deploy vs X,” “Is Acme PCI compliant.”
Run them in three assistants
Use ChatGPT with search, Perplexity and Copilot. Paste the exact query. If the model asks to browse, accept. Save the answer and the cited domains.
Score your presence
For each question, mark Yes if your domain appears in sources. If not, list the closest cited page and what it has that your page lacks.
Ship one fix per month
Pick the quickest high impact fix. Typical wins: add a two column table to “/compare”, add missing plan limits to “/pricing”, add steps to “/guides/getting-started.”
Retest and file before-after
Re-run the same prompts. Save screenshots. Name the files like “2026-09-chatgpt-best-ab-testing.png” so you can compare later.
Do not chase prompts you cannot serve. If you do not integrate with Jira, skip “best Jira integrations” and focus on what you do support. This keeps the log short and the fixes real.
Common pitfalls that keep you out of citations
- Robots.txt blocks answering crawlers. OAI-SearchBot or PerplexityBot are disallowed.
- No clear claim to quote. Your page never states the limit, price or support hours.
- Names change across pages. The assistant cannot reconcile Acme Pro with Acme Growth.
- Your page hides the answer behind a click or a login.
- Vague roundups. Your “alternatives” page lacks criteria or a table.
- Stale data. The only dated line is from last year.
Fix one at a time. The simplest fix is often internal links to stronger pages. For example, add a short “Evidence” section on “/features” that links to “/pricing”, “/compare” and “/guides/getting-started,” using exact anchor text for the claim you want quoted.
Questions
Generative engine optimisation. It is the practice of being named and cited in answers written by assistants like ChatGPT with search, Perplexity, AI Overviews, Claude, Gemini and Copilot. The term was popularised by a 2023 paper by Aggarwal and colleagues.
No. Classic SEO still moves buyers to your site from search. GEO adds a second route, where assistants cite your pages. Both rely on clear answers, crawl access and good internal links. You need both on a small site.
Allow OAI-SearchBot and on-demand fetchers in robots.txt, and keep Googlebot and Bingbot open. Build clear “/pricing”, “/compare” and “/alternatives” pages with quotable figures and dates. Each month, ask the questions buyers ask and see if your domain is cited, then ship one fix.
GPTBot is for model training. OAI-SearchBot builds the search index that ChatGPT uses to find and cite pages. Blocking GPTBot limits training data. Blocking OAI-SearchBot makes your site invisible to ChatGPT’s search-backed answers.
There is no special submission or required schema for citations. Clear headings, lists, tables and consistent names matter more. Use schema where it helps search features, but build the page a person and a retriever can parse in seconds.
Review them monthly. Update the table on the day a feature ships or a plan changes. Add “Updated Month Year” above the table so assistants can see recency at a glance.
Sources
Check my site, free
Paste your home page URL to see which buyer searches and rival pages assistants already cite around you, free, in about thirty seconds.
- Free check, no card
- Read-only, your own accounts
- Readable by your agent
Read next
- GuideGenerative engine optimization (GEO): how to be named by AI answers
- Guiderobots.txt for AI crawlers: GPTBot, ClaudeBot, PerplexityBot and what to allow
- Guidellms.txt: what it is, examples, and how to write yours
- GuideHow to appear in Google’s AI Overviews
- GuideComparison pages: the “vs” page your buyers are searching for
- GuideInternal linking for a small site: which pages link to which
- GuideChatGPT for SEO: what it does well, what it invents
- ComparisonGoogle Search Console vs Bing Webmaster Tools