ChatGPT SEO is the work of getting ChatGPT to name your site when it answers a buyer’s question. Most of that work is not writing. OpenAI publishes what decides whether a page can be cited at all, and the list is short: the search crawler has to be allowed in robots.txt, your host or CDN has to let its IP addresses through, and the page has to be crawlable. Everything after those three is ranking, and on ranking OpenAI says one sentence: placement is not guaranteed. This article separates the documented half from the unpublished half, using only OpenAI’s own pages, read on 17 September 2026.
ChatGPT SEO is two jobs, and only one is about content
OpenAI runs separate crawlers for separate purposes and states that the settings are independent. GPTBot gathers content that may be used in training; OAI-SearchBot is the one that decides whether you can appear in an answer. Its crawler overview puts the consequence plainly.
Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers, though can still appear as navigational links.
Two practical notes from the same page. A robots.txt change is not instant: OpenAI says “it can take ~24 hours from a site’s robots.txt update for our systems to adjust”. And ChatGPT-User, the agent that fetches a page because a person asked for it, “is not used to determine whether content may appear in Search”, so seeing it in your logs tells you nothing about eligibility. The full token list for all five assistants is in AI crawlers and robots.txt.
The half of eligibility that is not in robots.txt
This is the gate almost nobody checks, and OpenAI states it in one sentence in its help article on searching the web with ChatGPT: “To make a website eligible for inclusion, allow OAI-Searchbot to crawl the site and confirm that the website host or content delivery network allows traffic from OpenAI’s published searchbot IP addresses.”
Robots.txt is a request to a crawler. A web application firewall is a refusal to a network. A bot-management rule that challenges or blocks unfamiliar agents will stop OAI-SearchBot before it ever reads the file that welcomes it, and nothing in Search Console or your analytics will tell you. OpenAI publishes the address ranges as JSON so this is checkable: openai.com/searchbot.json for the search crawler, with equivalent files for gptbot and chatgpt-user.
- 01Open
https://yourdomain.com/robots.txtand confirm no group disallowsOAI-SearchBot. A blanketDisallow: /underUser-agent: *also applies, because an unlisted agent falls through to it. - 02Fetch
https://openai.com/searchbot.jsonand hand the ranges to whoever runs your CDN or firewall. Ask for them to be allowed, and ask whether bot management currently challenges unknown agents by default. - 03From outside your own network, request one of the pages you want cited with the documented user-agent string and confirm a 200 rather than a challenge page:
curl -A "Mozilla/5.0 ... compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot" -I https://yourdomain.com/page. - 04Confirm the page has no
noindexand that the answer is present in the HTML the server returns, not only after JavaScript runs. The test for that is in do AI crawlers execute JavaScript. - 05If you changed robots.txt, wait about 24 hours before concluding anything, per OpenAI’s own note.
- 06Record the date you finished, then measure from there rather than from the day you started writing.
You are not optimizing for the question your buyer typed
ChatGPT does not hand the prompt to a search engine. The same help article states that “ChatGPT search typically rewrites your query into one or more targeted queries that it sends those providers”, and it gives its own worked example. The retrieval query is narrower, more entity-heavy and often dated. That is the query your page has to match.
| What the person asks ChatGPT | What ChatGPT may send to a search provider | What that implies for a page |
|---|---|---|
| “what’s the latest on the development of drugs that target CCR8 for cancer?” | “CCR8 immunotherapy drug development 2025”, then “CHS-114 conference 2025” | The retrieval query names a target, a mechanism and a year. A page headed “our oncology pipeline” matches none of them. |
| “What are some good restaurants near me?” | “top restaurants San Francisco”, using the general location inferred from the IP address | Geography is added for you. A page that never writes its own city in its text cannot match the query that was actually run. |
| The same question with memory enabled and “I am vegan” saved | “good vegan restaurants San Francisco” | Personal context enters the query invisibly. It is one documented reason two people asking the same thing get different answers. |
This also explains why testing ChatGPT from your own logged-in account is misleading, and why the check in does ChatGPT recommend your business insists on a temporary chat. Memory is documented as an input to the rewrite.
What OpenAI declines to publish, and what it says instead
There is no ranking factor list, no diagnostic report and no explanation of why one page was chosen over another. The whole of OpenAI’s public statement on ranking is this: “ChatGPT ranks search results using multiple factors intended to help users find relevant, reliable information. Placement is not guaranteed.” Any vendor offering you the ChatGPT ranking factors is describing its own inference, not a document.
Two things are documented and worth holding on to. First, retrieval runs through search providers, and OpenAI names Microsoft and Shopify among them in the same article, which means conventional indexing still carries a large part of the load: a page that Bing cannot find is not a page ChatGPT can retrieve. Second, OpenAI warns its own users that “search results and citations can be incomplete, outdated, or incorrect”, so a wrong answer about your business is an expected failure mode rather than a signal that you did something wrong.
| Layer | Documented by OpenAI | Under your control |
|---|---|---|
| Crawler access | Yes, in full: tokens, behavior, IP ranges, the 24 hour lag | Yes |
| Network access | Yes, one sentence: the host or CDN must allow the published IP addresses | Yes, through whoever runs the CDN |
| Page eligibility | Yes: crawlable, and noindex as the opt out | Yes |
| Query rewriting | Partly: that it happens, with examples, plus location and memory as inputs | No, only the words on the page it lands on |
| Ranking among eligible pages | No. “Multiple factors”, and placement is not guaranteed | No |
Three documented page-level details most guides miss
OpenAI’s publishers and developers FAQ, updated in late August 2026, carries three specifics that rarely appear in ChatGPT SEO advice.
- Blocking does not always mean absence. If OpenAI obtains the URL of a disallowed page from a search provider or by crawling other pages, it says it “may surface just the link and page title in ChatGPT Atlas”. The only stated remedy is the
noindexmeta tag. - The noindex catch. In OpenAI’s words, “in order for our crawler to read a meta tag, it must be allowed to crawl the relevant page(s)”. Disallowing the crawler and adding
noindextogether means the tag is never read. To be reliably excluded you have to let the crawler in. - ARIA is agent optimization. For the browsing agent, OpenAI advises: “follow WAI-ARIA best practices by adding descriptive roles, labels, and states to interactive elements like buttons, menus, and forms.” The accessibility work you already owed is now also how an agent understands your booking form.
How to measure ChatGPT SEO without guessing
One number is free and exact. OpenAI states that “ChatGPT automatically includes the UTM parameter utm_source=chatgpt.com in referral URLs”, so every click from a cited link is identifiable in whatever analytics you already run. Segment on it and you have a dated series rather than an impression.
What that number cannot see is the answer where nobody clicked, which is most of them. Counting citations needs the other half: asking the buying questions on a schedule and recording who gets named. SearchLift runs both sides, the scheduled questions across ChatGPT, Claude, Perplexity, Gemini and Grok and the visits that arrive from them, on AI visibility tracking, and checks the robots and page-level gates above on every audit run.

Common questions
- 01What is ChatGPT SEO?
- ChatGPT SEO is the work of getting ChatGPT to name and link your site when it answers a question. It has two parts: eligibility, which OpenAI documents in full and which is infrastructure work, and ranking among eligible pages, which OpenAI does not publish.
- 02Does blocking GPTBot stop me appearing in ChatGPT?
- No. OpenAI documents GPTBot as the training crawler and OAI-SearchBot as the crawler that decides whether a site is shown in ChatGPT search answers. The settings are independent, so a site can opt out of training and stay citable.
- 03Why does ChatGPT cite my competitor and not me?
- OpenAI publishes no ranking factors, so any specific answer is inference. What is documented is that the prompt is rewritten into narrower queries before retrieval, so the usual finding is that a competitor page matches the rewritten query, naming the product, the place and the year, while yours matches the prompt.
- 04How do I track traffic from ChatGPT?
- Filter your analytics for the parameter utm_source=chatgpt.com, which OpenAI says it adds to referral URLs automatically. That counts clicks from cited links. It does not count answers where you were named and nobody clicked, which is the larger number.
- 05Does ChatGPT SEO replace Google SEO?
- No. OpenAI states that ChatGPT search partners with third-party search providers and names Microsoft and Shopify among them, so ordinary indexing still decides much of what can be retrieved. ChatGPT SEO adds an eligibility layer and a measurement layer on top of conventional SEO.