← Back to blog

How to Rank in ChatGPT: 7 Tactics That Actually Work in 2026

Ronak Kadhi Ronak Kadhi · Updated Sep 26, 2026 · 11 min read
How to rank in ChatGPT: the prompt-to-citation loop

One prospect says “ChatGPT recommended you.” The next says it recommended a competitor you’d never heard of. Nobody can say why, or whether last month’s “GEO work” moved anything. The tactics are mostly known. What’s missing is a way to see where you stand per prompt, per engine, and to tell a real change from noise.

Short answer: to rank in ChatGPT, find the prompts your buyers actually ask, run them repeatedly to see which brands and sources get cited, then get your brand onto those sources, make your own pages easy to extract, and make sure OAI-SearchBot can crawl you. Re-measure on a fixed schedule, because answers change run to run.

There is no position 1 in ChatGPT. There’s “how often am I named when a buyer asks this,” and that’s what this post teaches you to track.

Why a tactic list isn’t enough

Two facts shape everything below.

Answers are random at the list level. SparkToro and Gumshoe ran 12 brand-recommendation prompts 2,961 times across ChatGPT, Claude and Google’s AI Overviews and found less than a 1% chance of getting the same brand list twice. Rand Fishkin’s verdict on AI “rank trackers”: any tool claiming a ranking position in AI is “full of baloney.” The same study found that how often a brand appears across many runs was more consistent than its position. So you measure frequency, not rank.

ChatGPT answers from the web it can see. When ChatGPT searches, it leans on Bing: OpenAI’s help center says it may share disassociated search queries with Bing to get web results, and Seer Interactive found 87%+ of SearchGPT’s citations matched Bing’s top organic results for the same query (Feb 2025, ~500 citations). Your brand gets named because pages ChatGPT retrieves name you. Which means the fastest lever usually isn’t your own site. It’s the third-party pages already being cited.

There are seven tactics that reliably work, and they’re below. But a list can’t tell you which one your gap needs. The loop can, so the tactics hang off it.

The 7 tactics (and when each one applies)

  1. Get onto the pages ChatGPT already cites. When a listicle or review is cited and you’re missing, pitch its author with something useful. (Step 3)
  2. Show up in the community threads being cited. Reddit and Hacker News answers, as yourself, with disclosure. (Step 3)
  3. Describe yourself identically everywhere. Site, GitHub, docs, directories, LinkedIn, Crunchbase. (Step 3)
  4. Put the answer first. Write the canonical page for the prompt and answer it in the first paragraph. (Step 3)
  5. Fix wrong facts at the source. Find the cited page carrying the stale fact and get it updated. (Step 3)
  6. Let the right crawler in. OAI-SearchBot for ChatGPT search, and make sure Bing indexes you. (Step 4)
  7. Measure frequency, not rank. Same prompts, several runs, every engine, on a schedule. (Steps 1, 2 and 5)

The loop

  1. Pick the prompts buyers actually ask.
  2. Run them across ChatGPT, Perplexity, Gemini and Google AI Overviews, several times each.
  3. Record who gets cited, and from which sources.
  4. Close the gap with one specific fix per prompt.
  5. Re-measure.

Here’s the sheet that runs it.

The prompt-to-citation tracker (copy this)

One row per prompt per engine. Keep it in a spreadsheet, not a doc, so you can filter by gap.

PromptBuyer stageEngineCited sources (domains)Our statusNamed in (of 5 runs)GapAction
best feature flag tool for a small teamShortlistChatGPTvendor-a.com/blog/best-…, reddit.com, g2.comAbsent0Not on the listicles it citesPitch the 2 cited listicle authors with a real comparison
best feature flag tool for a small teamShortlistPerplexityvendor-b.com/compare, dev.to postMentioned2, usually 4thNamed, not recommendedPublish a “vs” page that answers the small-team angle directly
how to do gradual rollouts without a vendorProblem-awareGoogle AI Overviewdocs.competitor.com, stackoverflow.comAbsent0Competitor docs own the answerWrite the canonical how-to in our docs, lead with the answer
[your product] vs [competitor]DecisionChatGPTour pricing page, competitor pricingCited5Cites old pricingFix pricing page copy, check OAI-SearchBot can crawl it
is [your product] SOC 2 compliantDecisionGemininoneWrong3Fact missing from the webAdd a plain-text security page, link it from the footer

How to fill it:

  • Prompt: 15 to 25 prompts. Take them from sales call notes, support tickets, and the phrases prospects use in “how did you hear about us.” Write them the way a buyer types, long and specific, not as keywords.
  • Buyer stage: Problem-aware, Shortlist, Decision. Most teams only test shortlist prompts (“best X”) and miss the decision prompts where wrong facts cost deals.
  • Engine: track each engine separately. They retrieve from different places, so don’t assume a fix for one moves another.
  • Cited sources: the domains and exact URLs in the source panel. This column is the gold. It’s your outreach list.
  • Our status: the best outcome across your runs. Absent (not in the answer). Mentioned (in a list, no endorsement). Recommended (the answer tells the buyer to pick you). Cited (your own URL is in the sources). Wrong (named with bad facts, which is worse than Absent). “ChatGPT knows us” and “ChatGPT picks us” are different rows of this scale, and most teams conflate them.
  • Named in: how many of 5 runs you appear in. Frequency, not rank. Run each prompt 5 times in fresh, logged-out or temporary chats. Given the randomness above, a single run tells you almost nothing.
  • Gap and Action: one gap, one action. If you write three actions, you’ll do none.

The weekly checklist

  • Re-run the top 10 prompts, 5 runs each, on every engine you track
  • Log new cited URLs you haven’t seen before (new listicles, new threads, new competitor pages)
  • Flag any prompt where a competitor appeared that wasn’t there last week
  • Flag any “Wrong answer” row and trace which cited source carries the bad fact
  • Ship one Action per week, from the row with the highest buyer stage
  • Check your robots.txt and server logs for OAI-SearchBot, PerplexityBot and Googlebot hits
  • Once a month: retire 3 prompts nobody asks, add 3 new ones from sales calls

Step 1: Pick the prompts buyers actually ask

Most “rank in ChatGPT” advice skips this and optimizes pages for prompts nobody types.

Good prompts are specific: “best open source alternative to LaunchDarkly for a 10-person team” beats “feature flags.” Include constraints your buyers actually mention (team size, stack, budget, compliance). ChatGPT answers constraint-heavy prompts differently, and that’s usually where a smaller brand can win.

Split them by stage. Shortlist prompts get the attention, but decision prompts (“is X HIPAA compliant,” “X pricing,” “X vs Y”) are where a wrong answer quietly kills a deal.

Step 2: Run them across engines and read the sources

Each engine fetches the web differently, so check them one by one:

  • ChatGPT search draws on Bing plus OpenAI’s own index built by OAI-SearchBot (details in Step 4). Turn on search, or the answer comes from training data and there are no sources to read.
  • Perplexity always shows sources. Its index crawler is PerplexityBot, which Perplexity says is used to surface and link websites in search results and not to train models.
  • Google AI Overviews and AI Mode pull from Google’s normal index. Google uses “query fan-out,” issuing related searches across subtopics to display a wider and more diverse set of helpful links. So pages that rank for adjacent questions can get cited even if you don’t rank for the main one.
  • Gemini is worth a separate check, especially for decision prompts. Treat it as its own engine, not a proxy for AI Overviews.

Now read the “Cited sources” column across all your rows. You’ll see a pattern: a handful of domains show up again and again. For devtools that’s typically comparison listicles, docs pages, GitHub READMEs, Reddit and Hacker News threads, and review sites. Ahrefs calls Reddit ChatGPT’s #1 most-cited domain across its analysis of millions of AI responses, but source mixes shift over time and by category. Don’t copy someone else’s source list. Build yours from your own prompts, and rebuild it monthly.

Step 3: Close the gap with one lever per row

Every gap in the tracker maps to one of these.

What the tracker showsMost likely causeThe lever
Not named, a listicle is citedYou’re not on the pages ChatGPT readsPitch the cited authors with something they can use (a real comparison, a benchmark, a free tier they can test).
Not named, a Reddit or HN thread is citedNo community footprintAnswer real questions in those threads as yourself, with disclosure. Spam gets downvoted and ignored.
Named but low frequencyWeak or inconsistent signalsMake your one-line description identical everywhere (site, GitHub, docs, directories, LinkedIn, Crunchbase). Engines reconcile entities from many sources, and mixed descriptions dilute you.
Competitor’s docs own a how-to promptYour answer isn’t extractableWrite the canonical page and put the answer in the first paragraph.
Named with wrong factsA cited source is stale, or your page is unreadableFind the source carrying the bad fact and ask for an update; fix your own page and check it renders without JavaScript.
Cited on Google, invisible in ChatGPTCrawl access or Bing indexingStep 4.

On answer format. Match the shape of the answer the engine already gives. If ChatGPT answers “best X” with a table of options and one-line reasons, a page that has exactly that table (with you in it, honestly positioned) is easy to lift. Front-load: per Ahrefs’ summary of Kevin Indig’s analysis of 1.2 million ChatGPT citations, 44.2% of citations came from the first 30% of the content. A 400-word intro before the answer is a tax you pay in citations.

On entity consistency. Organization schema with sameAs links to your GitHub, LinkedIn and Crunchbase is cheap and helps disambiguate you from similarly named companies. Just don’t expect markup alone to get you into answers. Google says plainly that there’s no special schema.org structured data you need to add to appear in AI Overviews or AI Mode. Consistency across the sources engines read matters more than any tag.

For how this fits with the SEO you’re already doing, see GEO vs SEO: what’s different and what’s the same.

Step 4: Fix crawl access (the step that silently kills everything)

OpenAI runs three separate agents, and blocking the wrong one is an easy self-inflicted wound:

AgentWhat it doesIf you block it
OAI-SearchBotSurfaces sites in ChatGPT’s search featuresPer OpenAI, sites opted out of OAI-SearchBot will not be shown in ChatGPT search answers
GPTBotCrawls content that may be used to train OpenAI’s modelsYou opt out of training. Search visibility is controlled separately.
ChatGPT-UserVisits a page when a user’s question triggers itOpenAI says robots.txt rules may not apply, and it isn’t used to decide search inclusion

So a team that “blocked AI bots” with a blanket rule may have removed itself from ChatGPT search while thinking it only opted out of training. If you want to be cited but not trained on, the minimum is:

User-agent: OAI-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: GPTBot
Disallow: /

Changes aren’t instant: OpenAI notes it can take about 24 hours for its systems to pick up a robots.txt update. Also check your CDN or WAF. Bot-protection rules can block these agents before robots.txt is ever consulted.

Perplexity works the same way: PerplexityBot respects robots.txt, while Perplexity-User, which fetches pages for a live question, generally ignores robots.txt because a user requested it.

Google AI Overviews need nothing new. A page must be indexed and eligible to show with a snippet. If you’ve set nosnippet or max-snippet:0 on key pages, you’ve opted them out.

Bing. Since ChatGPT search leans on Bing, verify your site in Bing Webmaster Tools and confirm your key pages are actually indexed there. Being indexed on Google tells you nothing about Bing, so check.

Run your domain through the robots.txt checker to see which AI agents you currently allow.

What about llms.txt?

Skip it as a ranking tactic. Google’s John Mueller said in June 2025 that “no AI system currently uses llms.txt”. Ahrefs then checked 137,210 domains and found 97% of llms.txt files got zero requests in May 2026, AI retrieval bots made just 1.1% of the AI bot requests the files did get, and AI bots never went looking for the file on sites that didn’t have one. Google’s AI features guidance adds that you don’t need AI text files to appear. If coding agents read your docs, an llms.txt pointing to clean markdown can help those users. It won’t get you cited in ChatGPT.

Step 5: Re-measure, and judge the trend, not the run

Rerun the same prompts on the same schedule, same number of runs, same logged-out setup. Then read the tracker as frequencies:

  • “Named in 1 of 5 runs” moving to “3 of 5” across two consecutive weeks is a signal.
  • One good run is not. Neither is one bad run.
  • A new cited URL for a prompt is often the earliest sign something changed, before your frequency moves.
  • Read each engine on its own. A win in ChatGPT says nothing about Gemini, which is why the Engine column exists.

This is also where manual tracking breaks. Twenty prompts, four engines, five runs is 400 answers a week, and the interesting events (a competitor appearing, a source dropping you, a wrong fact spreading) happen between your checks. If you’d rather buy than build, our roundup of AI visibility tools compares the options.

FAQ

Does SEO still matter for ranking in ChatGPT? Yes. ChatGPT search leans on a search index (Bing’s plus OpenAI’s own), and Google’s AI features use its normal index. Pages that can’t be found or crawled can’t be cited.

How long does it take to show up? Crawl fixes can take effect within days (OpenAI cites about 24 hours for robots.txt changes). Getting onto third-party sources depends on those publishers. Measure weekly so you can see which one landed.

Track it without the spreadsheet

The loop above works by hand, and you should run it by hand once so you understand your own gaps. After that, 400 answers a week is a job, not a habit. RunAgents tracks AI citations and brand mentions per engine, your AI share of voice against competitors, and robots.txt and AI bot access, then sends a real-time alert to Slack, Discord, Telegram or email when you drop out of an answer or a competitor enters one. Set up your prompt set and see which answers you’re missing this week.

More reading

See it in practice

How real teams are doing this with AI, from our marketing use cases wall.

Catch what's breaking your revenue.

A swarm of agents on your SEO, AI search, email, and competitors, around the clock.

Start free →