TL;DR
OpenAI operates three distinct crawlers with separate robots.txt tokens, and blocking GPTBot to prevent training data use does nothing to remove a site from ChatGPT Search — that requires blocking OAI-SearchBot instead. The Vercel analysis of millions of GPTBot fetches found zero JavaScript execution, meaning any content injected client-side is invisible to the crawler, not just poorly ranked. The same dataset showed roughly a third of OpenAI’s crawler fetches hit 404 pages, versus about 8% for Googlebot, making clean internal linking and a current sitemap a concrete advantage.
A controlled Ahrefs study of 1,885 pages adding JSON-LD schema found no statistically meaningful citation lift for ChatGPT Search. The article’s verdict: focus on server-side rendering for bot visibility, basic crawl hygiene, and clear factual writing — ignore unverifiable schema or formatting hacks sold as ranking factors.
Search "ChatGPT ranking factors" and you'll find dozens of listicles promising a formula: add this schema type, hit this word count, format this way, and ChatGPT will cite you. Almost none of it is verifiable. OpenAI has published real, specific documentation about how its crawlers work — but almost nothing about how citations are selected or weighted. The gap between those two facts is where most "ChatGPT SEO" content lives.
This is an attempt to separate the two categories honestly: what OpenAI has actually documented and what independent testing has actually measured, versus what's industry speculation dressed up as a ranking algorithm.
The three crawlers, and what each one actually controls
Direct answer: OpenAI operates three distinct bots, each with a different purpose and a different robots.txt token. Confusing them is the single most common mistake site owners make.
| Bot | Purpose | Respects robots.txt? |
|---|---|---|
| GPTBot | Crawls content for training OpenAI's foundation models | Yes — disallow it to opt out of training use |
| OAI-SearchBot | Crawls and indexes pages for citation in ChatGPT Search | Yes — disallow it and the site won't appear in search answers, though it may still surface as a plain navigational link |
| ChatGPT-User | Fetches a page when a user or a Custom GPT explicitly requests it mid-conversation | Not reliably — OpenAI's own documentation notes that because these are user-initiated actions, robots.txt rules may not apply |
Source: OpenAI's crawler documentation (developers.openai.com/api/docs/bots).
The practical trap: teams block GPTBot to keep content out of training, assume that also removes them from ChatGPT Search, and are surprised when it doesn't — search visibility runs through OAI-SearchBot specifically. OpenAI's documentation also notes that changes to robots.txt take roughly 24 hours to propagate to search eligibility, so verification takes patience, not repeated edits.
What's genuinely controllable
1. Whether the crawler can reach your content at all. This is the highest-leverage lever and the least glamorous. OAI-SearchBot does not execute JavaScript — it fetches HTML, CSS, and JS files but does not run them. Vercel's widely cited "Rise of the AI Crawler" analysis, based on hundreds of millions of real GPTBot fetches, found zero evidence of JavaScript execution across the crawler traffic it observed (Vercel, "The rise of the AI crawler"). If your primary content is injected client-side by a JavaScript framework and isn't present in the initial HTML response, it functionally doesn't exist for these crawlers — not "ranks poorly," but isn't seen. Server-side rendering, static generation, or pre-rendering for these bots is a real, mechanical fix, not a growth-hack claim.
2. Basic crawl hygiene. The same Vercel dataset found ChatGPT's crawler spending roughly a third of its fetches on 404 pages, versus about 8% for Googlebot — suggesting OpenAI's crawler is less efficient at avoiding dead links and redirect chains than Google's mature crawler. Clean internal linking, working canonical URLs, and a current XML sitemap reduce the odds that the crawler burns its (finite, rate-limited) attention on your site hitting broken paths instead of your actual content.
3. Verifying the bot is who it claims to be. GPTBot and OAI-SearchBot identify themselves by user-agent string, but user-agent strings are trivially spoofable — OpenAI publishes the authoritative IP ranges at openai.com/gptbot.json, openai.com/searchbot.json, and openai.com/chatgpt-user.json specifically because relying on the string alone isn't reliable. If you're doing anything conditional based on bot identity (rate limiting, serving pre-rendered variants), match against the IP list, not just the header.
4. Factual accuracy and internal citation hygiene, on your own pages. ChatGPT Search returns inline citations linking back to the pages it drew from (OpenAI Help Center, ChatGPT Search). What you can control here is narrow but real: your own page should state claims plainly and attribute them to their actual source, rather than making a reader (or a crawler) infer facts from marketing copy. This isn't a documented ranking factor — it's just good writing that happens to also be legible to a model doing extraction rather than deep reading.
5. Freshness of genuinely time-sensitive content. ChatGPT Search exists specifically to answer queries where the model decides current web information would improve the response (OpenAI Help Center). That's a reasonable basis to keep dated content — pricing, feature lists, comparison pages — visibly current, since a stale answer is a bad candidate for a "what's current" query by definition. This is directional logic, not a documented weighting; nobody outside OpenAI knows how heavily recency is scored, or whether it's scored explicitly at all versus being an artifact of what the underlying search index (see below) prioritizes.
6. Accessible, well-structured HTML. Clear heading hierarchy, real <table> markup instead of images of tables, descriptive link text, alt text on informative images — these help any automated extraction process (crawler, screen reader, or an LLM parsing a fetched page) get an accurate read of your content. It's worth doing regardless of AI search; treat any specific "this exact structure boosts ChatGPT citations" claim about it skeptically.
What's speculation, unverified, or genuinely out of your control
Schema markup as a direct citation lever. This is the one worth slowing down on, because the evidence is more interesting than either the hype or the dismissal. A large Ahrefs study published in May 2026 tracked 1,885 pages that added JSON-LD schema and compared their citation trajectory against 4,000 matched control pages over 30-day windows. The result: no statistically meaningful citation lift for ChatGPT or Google AI Mode, and a small, statistically significant decline for Google AI Overviews (Ahrefs, "We Tracked 1,885 Pages Adding Schema. AI Citations Barely Moved"). Ahrefs was explicit about the limitation: every page in the dataset already had over 100 AI citations before the test began, so the study shows schema doesn't move pages that are already in the consideration set — it doesn't prove schema is useless for pages trying to break in for the first time. Separately, a February 2026 technical test reported that ChatGPT and Perplexity tokenize JSON-LD as raw text rather than semantically parsing it as structured data, which would help explain why adding the markup alone doesn't do much on its own. Treat "add Product/FAQ schema to get cited by ChatGPT" as unproven, not disproven, and definitely not the sure thing it's marketed as.
Whether ChatGPT Search runs on Bing, Google, or something proprietary. OpenAI's original, documented partnership made Bing the backing search infrastructure starting in 2023. But in mid-2025, independent researchers — including a former Google search infrastructure engineer, and separately corroborated by other SEO practitioners — reported evidence that paid ChatGPT tiers appeared to be returning results consistent with Google's index rather than Bing's, a claim OpenAI has not confirmed or denied in public documentation. This is a genuinely open question, not a solved one, and it directly undercuts any advice premised on "optimize for Bing because that's what feeds ChatGPT" — that may be true for some tiers and not others, and nobody outside OpenAI has confirmed the current state with certainty.
llms.txt. The proposed convention for a plain-text file summarizing a site for LLMs has low real-world adoption (single-digit to low-double-digit percentage of sites, by different surveys) and weaker evidence of actual use: one large-scale traffic analysis found AI crawlers, GPTBot and OAI-SearchBot included, essentially never requesting the file — a few hundred fetches out of hundreds of millions of bot visits monitored. No major AI provider, including OpenAI, has publicly committed to consuming it in production. It's low-cost to add and harmless, but presenting it as an optimization is not supported by current evidence.
Publisher licensing deals. OpenAI has signed content-licensing agreements with major outlets — Washington Post, Condé Nast, Hearst, Dotdash Meredith, Axel Springer, and others — that put summaries, quotes, and attributed links from those specific publishers into ChatGPT responses (OpenAI, "Our approach to data and AI"). This is a real, documented mechanism — and it is categorically unavailable to the overwhelming majority of B2B sites. It's worth knowing it exists so you don't mistake a large publisher's visibility for a technique you can replicate; it's a commercial relationship, not an SEO tactic.
Any claim of a specific, weighted "ranking algorithm" for ChatGPT citations. OpenAI has not published one. Every article asserting precise factors and weights is inferring from correlation in scraped citation datasets, which is legitimate directional research but not documentation, and correlation in these datasets is confounded by exactly the problem Ahrefs identified with schema: sites that do well on structured data, freshness, and accessibility also tend to be larger, more authoritative, better-linked sites for unrelated reasons. Attributing citation success to any single visible factor on such a site is usually attributing it to the wrong thing.
The practical takeaway
If you're deciding where to spend engineering and content time this quarter, the defensible list is short: make sure OAI-SearchBot can actually fetch your real content (server-rendered, not JS-only), keep your site free of dead links and redirect chains, keep genuinely time-sensitive pages current, write clearly and attribute your own claims, and verify crawler identity by IP rather than user-agent if you're doing anything conditional. Everything past that — schema as a citation lever, Bing-vs-Google optimization, llms.txt — is either unproven, contested, or actively in flux. The honest answer to "how do I rank in ChatGPT Search" in 2026 is that nobody outside OpenAI can tell you the weights, and most people confidently telling you otherwise are reading the same public signals you can read yourself.
Sources:



