Guide
How to rank on ChatGPT
There is no ranking to be had, which is the first thing worth saying: an answer engine produces prose, not a list of ten positions. What exists instead is retrieval and citation, and while nobody outside these companies knows how either decision is made, the layer underneath is completely ordinary and completely checkable. Most sites lose there, before any of the interesting questions arise.
What is actually happening
Two different mechanisms get called the same thing. A model answers from what it learned during training, which is fixed at the point the model was built and not something you can influence after the fact. Separately, when a question needs current information, the product fetches pages and answers from those, sometimes with links.
Only the second one is addressable, and it is much more familiar than it sounds: it is a crawler fetching a URL. If your page cannot be fetched, or does not contain a liftable answer, it cannot be used.
The honest scope of this page
No published ranking factors exist for any answer engine. Anything framed as a checklist of them is invention. What follows is the layer beneath that: the mechanics that decide whether you are even eligible, all of which you can read on your own site today.
1. Check which AI agents you allow
This is where sites remove themselves by accident. AI companies run several user-agents for different jobs, and blocking one blocks only that one:
- GPTBot is OpenAI’s training crawler. Blocking it is a content-licensing decision.
- OAI-SearchBot is the one associated with fetching pages for search-style answers. Blocking this is what removes you from being cited.
- ClaudeBot and PerplexityBot belong to other products entirely and obey their own names.
- Google-Extended is not a crawler. It controls whether content Googlebot already fetched may be used in certain AI products. Disallowing it changes nothing about crawling or Search.
A robots.txt written years ago, or copied from a template, frequently says something its owner never decided. Our checker reports each of these separately, which is the fastest way to find out what your file currently says to whom.
Most people have never seen their file listed agent by agent, and the answer is frequently not the one they would have chosen. Read your own robots.txt, no account needed.
2. Stay in the indexes that get searched
Retrieval usually rides on a search index rather than on a crawl performed from scratch. So a page carrying a noindex, or blocked from crawling, is out of the running twice over: it cannot be found by the search step, and it cannot be fetched by the answer step.
This makes the ordinary technical checks the same work as the AI-era ones, which is a relief and a slight disappointment. Check a page is indexable; there is no separate AI version of it.
3. Write so an answer can be lifted out
An engine quoting you has to find a passage that stands on its own. That favours plain structure over cleverness: a question answered directly in the first sentence under a heading that matches how people ask it, facts stated once rather than implied across three paragraphs, and no context that only exists in a sidebar.
The old-fashioned FAQ format does unusually well here for exactly this reason, and it costs nothing that a human reader loses. If you have to choose, write the sentence you would want quoted, and put it first.
4. llms.txt: a cheap bet, not a factor
llms.txt is a proposed convention: a plain text file at your root pointing language models at your best content. This site publishes one, at shipdr.dev/llms.txt, listing every tool and guide with a line saying what each one reads.
Being straight about it: no major engine has committed to using it, and there is no evidence it changes anything today. It costs half an hour, it is honest documentation of your own site either way, and that is the entire case for it. Anyone selling llms.txt as an optimisation is ahead of the evidence.
What we are not going to claim
That there is a way to be cited more often. Citations from these products are unstable: ask the same question twice and the sources can differ, models are replaced, and retrieval behaviour changes without announcements. Anybody presenting a repeatable method is describing a coincidence they have not tested twice.
What is durable is eligibility. Fetchable by the right agents, indexable, answerable in a self-contained passage. That is not a growth hack, but it is true this year and will still be true next year, which is more than most articles on this subject can say.
Questions people actually ask
Can you actually rank on ChatGPT?
Not in the way you rank on Google, because there is no ranked list to be placed in. What there is: a model that answers, sometimes retrieves pages while answering, and sometimes cites what it used. So the goal is being retrievable and quotable rather than being ranked, and the mechanics that decide it are ordinary ones, mostly about whether your pages can be fetched and understood.
How does ChatGPT decide what to cite?
Nobody outside OpenAI knows, and anyone publishing a list of ranking factors for it is guessing. What is observable is the layer underneath: when a question triggers a search, the answer is built from pages that were retrievable at that moment, so a page a crawler cannot fetch cannot be used. That is the part you control, and it is the part most sites get wrong without knowing.
Do I need an llms.txt file?
It is cheap and it is not a ranking factor. llms.txt is a proposed convention for pointing language models at your best content in plain text. No major engine has committed to reading it, so treat it as a low-cost bet rather than a requirement, and do not let anybody sell you one as an optimisation.
Should I block AI crawlers?
That is a judgement, not a best practice, and it is a genuine trade. Blocking training crawlers keeps your content out of model training; it can also keep you out of the answers those products give, and one token does not always separate the two. What matters is that the choice be deliberate: each crawler is a separate user-agent, blocking one blocks nothing else, and plenty of sites have a policy they never chose.
Is GPTBot the same as the crawler that fetches pages when answering?
No, and confusing them is the most common way a site accidentally removes itself from answers. OpenAI publishes separate user-agents for different jobs: one for training, others for fetching pages at answer time. A robots.txt that blocks the training crawler leaves the others alone, and one that blocks everything removes you from both.
Does Google-Extended block Google from crawling me?
No. Google-Extended is not a crawler at all: it is a control over whether content already fetched by Googlebot may be used for certain AI products. Disallowing it changes nothing about crawling or Search indexing, which is the opposite of what its name suggests to most people reading their own file.
What actually helps, if the ranking factors are unknowable?
The unglamorous layer everything else depends on. Your pages have to be fetchable by the specific agents that matter, kept in indexes that get searched, and written so a machine can lift a self-contained answer out of them. None of that is a growth hack, all of it is checkable, and it is the same work that makes a page good for search engines.
Eligibility is a technical fact, and it changes without telling you.
A template rebuild adds a noindex, a robots.txt gets copied from somewhere else, an agent gets blocked by a plugin. ShipDR reads the pages that carry your backlinks on a schedule and reports the day one stops being crawlable or indexable, which is the same eligibility every engine needs, answer engines included.
- Every listing rechecked on a schedule, not once
- Live, dofollow and indexable, read from the page itself
- Told the day a backlink drops or flips
Adding a website and charting its Domain Rating is free, no card. The backlink engine is $10 once, per website, with no subscription.