Per-engine visibility

How to rank in ChatGPT answers

Six steps to get your brand recommended by ChatGPT, starting with the robots.txt check most guides skip. Written from what we see in real answers.

· Published · Updated · 8 min read

  • ChatGPT
  • Measurement
  • Citations
A chat answer bubble with three source cards beneath it, two connected by thin lines and one struck through in orange.

If you search this phrase you get a page of agency blogs telling you to "create high-quality content" and "build authority." I have read most of them. None of them will tell you the thing I would check first, which is whether ChatGPT is allowed to read your site at all.

So this is the version I wish had existed when we started measuring this. Six steps, in the order I would actually do them, with the bits we cannot prove marked as such.

How ChatGPT decides what to recommend

There are two ways a brand ends up in a ChatGPT answer, and they behave nothing alike.

The first is live retrieval. When ChatGPT searches the web, it fetches pages with a crawler called OAI-SearchBot, reads them, and writes an answer that cites some of them. If your page is fetchable and answers the question, it can be cited today.

The second is training. The model also knows things from the data it was trained on. If your brand was well described across the web when that snapshot was taken, ChatGPT may recommend you without fetching anything. If it was not, no page you publish this week changes what the model already believes. That waits for the next model.

You need to know which of these is producing, or failing to produce, your mentions. We store every answer with a note on whether it carried citations for exactly this reason. An answer that names you with no sources is training. An answer that cites you is retrieval. They need different work.

Step 1: Make sure ChatGPT can reach you

OpenAI runs several crawlers and two of them matter here. From OpenAI's own documentation:

  • GPTBot decides whether your content can be used to train models.
  • OAI-SearchBot decides whether you can appear in ChatGPT search answers.

These are independent. OpenAI says a site can "allow OAI-SearchBot in order to appear in search results while disallowing GPTBot to indicate that crawled content should not be used for training." So blocking GPTBot, which many sites did in 2023 and 2024, does not hurt you here.

Blocking OAI-SearchBot does. OpenAI's wording is that such sites "will not be shown in ChatGPT search answers, though can still appear as navigational links." You vanish from the answer while remaining technically linkable, and nothing in your analytics will ever tell you.

Open your robots.txt and look for any of these:

User-agent: *
Disallow: /                  # blocks everything, including OAI-SearchBot

User-agent: OAI-SearchBot
Disallow: /                  # the explicit opt-out

User-agent: GPTBot
Disallow: /                  # training only. This one is fine.

The first pattern is the one that catches people. It usually comes from a staging config that made it to production, or a "block all AI bots" snippet copied from a blog post.

If you run bot protection at the edge, check that too. OpenAI publishes its crawler IP ranges at openai.com/gptbot.json and Cloudflare lists the OpenAI agents among its verified bots. An edge rule can block them regardless of what robots.txt says. That version of the problem is nastier, because robots.txt looks fine while the requests never arrive. Look in your edge logs for OAI-SearchBot and ChatGPT-User before concluding you are reachable. A brand with no citations at all across weeks of stored answers is usually blocked, not unpopular; it is one of the first things brand monitoring flags.

OpenAI asks for about 24 hours after a robots.txt change before its systems adjust.

Step 2: Answer the question in a paragraph ChatGPT can lift

Retrieval works on passages, not pages. This one fact explains most of what we see in the citations.

When ChatGPT builds an answer it pulls chunks of text that address the question and assembles from them. A page that answers "how much does X cost" in one clear paragraph gets lifted. A page that spreads the same answer across a pricing table, two subheadings and a footnote does not, because no single passage stands on its own.

Some things I have noticed in pages that get cited consistently:

The claim and the evidence sit together. "Checks run daily" is a marketing adjective. "Checks run six days a week on five engines and twice a week on Claude, because Claude costs seven to ten times more per answer" survives being quoted out of context, and it is the kind of sentence a model reaches for.

Numbers come with their denominators. "Named in 40% of answers" lifted alone is a claim nobody can check. "Named in 12 of the last 30 checks" carries its own audit trail.

The category is named in plain words. If your page only ever says "our platform," there is nothing for the model to match against "AI visibility tool." Say what the thing is, in the words a buyer would type.

This is not ChatGPT-specific advice. It is what makes a paragraph quotable, and quotable is the entire mechanism. Google's own guidance for its AI features lands in the same place: the content that does best is unique, compelling and useful, and no special markup substitutes for it. We wrote up the Google side separately in how to rank in AI Overviews.

Step 3: Fix how the third-party pages describe you

Run citation tracking for a couple of weeks and a pattern shows up in nearly every category. The most cited domains are not the vendors. They are review sites, comparison posts, Reddit threads and documentation.

That means the description of your product that ChatGPT works from is mostly assembled from pages you do not control. If a comparison post from 2024 calls you "expensive with a steep learning curve," and it ranks, that phrase is what gets folded into answers about your category.

So the work here is:

  1. Find which domains are cited most for the questions where you are absent or badly described. We surface this on the citation tracking page for every question you track.
  2. Get accurately represented on those specific pages. Update your listing, correct the review, answer the thread. One accurate description on a page ChatGPT already cites beats ten new posts on your own blog.
  3. Watch the framing, not just the mention. Being named as "the budget option" is a mention. It is also a problem. We rate how you are described separately because the two need different responses.

Step 4: Make your brand an unambiguous entity

Models resolve brands the way search engines do, by matching a name to a consistent set of facts across sources. If your name is spelled three ways across your site, your LinkedIn and your Crunchbase, you are three weak entities instead of one.

We went through this ourselves last week. Our name was written "AI Mention Tracker" on the site and "AIMentionTracker" in the app and the domain. The spaced version is also the generic category phrase, so when an assistant wrote "an AI mention tracker" we could not tell whether it meant us. We standardised on the closed form everywhere and kept the spaced one only as schema.org alternateName, which is the field that tells a machine two spellings are one thing.

Concretely: one canonical name, used identically across every property. Organization schema with legalName, address, a company registration number if you have one, and sameAs pointing at your real profiles. Google's guidance on Organization markup lists which properties it reads. Not because ChatGPT reads schema.org directly, but because the same facts, stated the same way on the pages it does read, is how an entity gets resolved. Our about page is where we keep ours consistent.

ChatGPT queries are questions, in full sentences, phrased the way a person talks. "Best AI visibility tool for a small agency" rather than "ai visibility tool." A page built around a two-word keyword often answers a question nobody asked in those words.

The questions you track shape every number downstream, so we do not leave them to guesswork. We suggest a set from your category and competitors, price each one against real monthly search volume, and let you edit before anything is tracked. That is prompt tracking, and the point of it is choosing well before measuring.

One caveat, since a few tools sell this dishonestly. Nobody can measure how often a prompt is actually typed into ChatGPT. What we show is Google search volume for the phrasing, as a proxy for demand. We call it search volume because that is what it is.

Step 6: Measure it in a way you can defend

ChatGPT generates each answer fresh. Ask the same question twice in an hour and you may get two different brand lists with nothing having changed on the web. A screenshot proves nothing. A colleague's screenshot proves less.

What works is asking the same set of questions on a fixed schedule, storing every answer in full with its citations, and reporting a rate with the number of checks beside it. Under five checks we show the fraction rather than a percentage, because two out of four is not fifty per cent in any sense you should act on.

Give it two weeks before reading a trend into anything. Give it a day after any robots.txt change before measuring at all.

That is what our ChatGPT tracking does, and the methodology sets out what we will and will not infer from the results.

What does not work

Schema markup aimed at ChatGPT. There is none. The robots.txt standard, formalised as RFC 9309 in 2022, is the only control surface OpenAI exposes, and it is a permission mechanism, not a ranking one.

Publishing more. If you are cited but not named, ChatGPT has already read you. The gap is in how your category is described elsewhere. More documents change the count, not the framing.

Keyword density. Retrieval is semantic. Repeating "AI visibility tool" eleven times makes the passage worse to quote, not better.

Waiting for the next model to notice you. It might. You have no influence over when, and everything above works now.

Share this articleXLinkedInemailmarkdown

Questions about Per-engine visibility

Does blocking GPTBot stop me appearing in ChatGPT?
No. GPTBot controls whether OpenAI can use your pages for training. OAI-SearchBot controls whether ChatGPT can fetch and cite you in a live answer. OpenAI documents them as separate settings. You can block GPTBot and still be recommended. Block OAI-SearchBot and you disappear from the answer itself.
How long does it take to rank in ChatGPT?
Honestly, we do not know, and anyone giving you a number is guessing. What we can say is that a robots.txt fix takes effect within about a day according to OpenAI, a new page can be cited within days of being fetchable, and changing how the model describes your brand from memory takes until the next model release. Plan for weeks on the first two and months on the third.
Is there ChatGPT schema markup?
No. There is no ChatGPT-specific markup, no submission form, and no ranking API. The only control OpenAI gives you is robots.txt. Anyone selling ChatGPT schema is selling something that does not exist.
Why does ChatGPT recommend a competitor when my page is in the sources?
Because the answer and the source list are built separately. ChatGPT can read your page, use it, and still name the brand that a review site or comparison post presented as the obvious choice. When this happens the fix is on those third-party pages, not on yours. Publishing more of your own content will not change it.
How do I know if any of this worked?
Ask the same questions repeatedly and keep every answer. ChatGPT generates a fresh answer each time, so two runs an hour apart can name different brands with nothing having changed. One screenshot tells you nothing. A rate over twenty or thirty checks does.
Jamie Partridge, Founder of AIMentionTracker

Founder, AIMentionTracker

Builds AIMentionTracker. Spends most of his time reading AI answers that name someone else, and working out why.

More from JamieWhy we built this

See where you stand

Connect a brand, pick the questions your buyers ask, and get your first snapshot in a few minutes. Card required, nothing charged for 7 days.