# 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.

Updated 2026-09-13 · Source: https://porteur.ai/guides/seo-for-chatgpt

## 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 |
| Google | Googlebot | Search, and the pages AI Overviews cite |
| Google | 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.

> Rule: allow the answering and search bots that serve your buyers. Only block what you truly cannot serve, such as staging, private docs or rate-limited assets.

## 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.

```en
# 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: /

```

> Blocking training limits future model updates, not current rankings. Blocking answering and search bots removes you from answers and citations.

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.

1. **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.
2. **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.
3. **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.
4. **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.
5. **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.

1. **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.”
2. **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.
3. **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.
4. **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.”
5. **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

### What is SEO for ChatGPT called?

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.

### Is SEO dead now with AI?

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.

### How do I optimise for ChatGPT search?

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.

### What is the difference between GPTBot and OAI-SearchBot?

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.

### Do I need schema to get cited?

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.

### How often should I update comparison pages?

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.

## Read next

- [Generative engine optimization (GEO): how to be named by AI answers](https://porteur.ai/guides/generative-engine-optimization): How to get your site named in AI answers: sources, crawlers, lists, structure, llms.txt, comparisons, and how to measure by asking assistants.
- [robots.txt for AI crawlers: GPTBot, ClaudeBot, PerplexityBot and what to allow](https://porteur.ai/guides/robots-txt-for-ai-crawlers): Decide which AI crawlers to allow in robots.txt, why it matters, and copy‑paste examples for GPTBot, ClaudeBot, PerplexityBot, Google‑Extended and more.
- [llms.txt: what it is, examples, and how to write yours](https://porteur.ai/guides/llms-txt): llms.txt is a Markdown file at /llms.txt that maps your site for language models. See the format, a worked example, and write yours in twenty minutes.
- [How to appear in Google’s AI Overviews](https://porteur.ai/guides/how-to-rank-in-ai-overviews): What overviews cite, which queries trigger them, and how to structure pages that get linked. Steps to find your openings and measure them.
- [Comparison pages: the “vs” page your buyers are searching for](https://porteur.ai/guides/comparison-pages): Buyers search “x vs y”. Here is how to pick rivals, write an honest comparison, structure the page and table, and measure what it earns.
- [Internal linking for a small site: which pages link to which](https://porteur.ai/guides/internal-linking-for-seo): Decide which pages rank. Build hubs, write clear anchors, fix orphans, and crawl your site to map links you control.
- [ChatGPT for SEO: what it does well, what it invents](https://porteur.ai/guides/chatgpt-for-seo): ChatGPT is good for briefs, outlines and rewrites, and useless for volumes and positions. The jobs it does well, four prompts, and the checks.

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: https://porteur.ai/
