Getting found in ChatGPT: appearing as a source

A growing share of searches ends in an answer, not a list of links. Whoever is named as a source there gets visitors who have half-decided already.

22 minute readUpdated October 1, 2026Read in German

A growing share of searches no longer ends in a list of links but in a finished answer. Somebody asks ChatGPT what to look for in a good kitchen planner and gets a paragraph with three named sources. Whoever is among those sources gets visitors. Whoever is not does not exist for that search.

This is a new kind of visibility, and it follows different rules from the classic results page. Not entirely different, but different enough that it pays to understand them while most competitors still do not. This piece answers both halves of the question: how these systems pick their sources, and what to change in your copy and your markup so that your page shows up as a source in ChatGPT.

What "ChatGPT as a source" actually means

When ChatGPT answers a question using web search, the answer carries a list of links, either inline or at the end: the sources it leaned on. Appearing in the ChatGPT sources simply means your URL is one of those links. It is also the only way an AI answer turns into a visit, because without a linked source the person asking gets the text and no reason to click.

What matters is the distinction between the three ways content enters an answer, because only one of them is yours to influence. First, the model's training knowledge: it may hold something about your industry, but it is not linked and you cannot write yourself into it after the fact. Second, a live web search the system runs in the background while it answers — this is where the linked sources come from, and where all the work happens. Third, a URL the user pastes in themselves; that is luck, not a strategy.

That split also explains why ChatGPT sometimes makes up sources. When the model answers without web search, there are no fetched pages it could point to. Ask it for references anyway and it produces titles, authors and addresses that look the way sources on the topic typically look, whether or not they exist. With web search active, the linked pages are real fetches. Even then the click is worth it, because the model does not check for you whether the statement really sits on that page.

When people say "ChatGPT as a source", they almost always mean the second case. And it works closer to classic search than most expect: there is a query, an index, and a selection from results. Only the last step is new.

How these systems pick their sources

ChatGPT with web search, Perplexity, and Google's AI overviews work in much the same way at their core: they run a search in the background, read the best results, and compose an answer that cites some of them. Between the question and the source list sit four stages, and something drops out at each one. Knowing which stage your page fails at also tells you what to work on.

First, one question becomes several search queries. The system does not search with the sentence somebody typed; it turns it into two to five shorter, differently phrased queries — "what should I look for in a kitchen planner" becomes searches about the consultation process, measuring up, and cost. Optimizing a page for one exact wording therefore buys you little. What is wanted is a topic covered across its breadth.

Second, the results come out of a search index. That index is not magic, it is filled by crawlers: OpenAI maintains it with its own OAI-SearchBot and supplements it with bought-in search results. For you that means your page has to rank high enough in an ordinary index for the queries from stage one, because only the first results get read. A page sitting at position 90 for its topic in classic search rarely becomes the source of an AI answer. The groundwork in finding SEO problems is not a separate job, then, but the precondition.

Third, those results are fetched and cut into passages. This is where the technology bites: these bots generally do not execute JavaScript and do not wait for anything to load later. Whatever only comes into being in a browser — text inside accordions, sections pulled in by script, content behind a cookie banner or a login — simply does not exist for them. What remains is cut into sections along the headings.

Fourth, passages compete, not websites. From all the sections of all the pages it read, the model picks the ones that answer its question most directly, writes the answer out of them, and attaches to every borrowed statement the source it came from. That is why the strongest website does not win at this point; the clearest paragraph does. A paragraph that answers the question in full, without needing the rest of the page for context, gets cited far more often than the same content spread across four sections full of "as mentioned above". A small supplier with a precise answer regularly ends up standing beside an industry giant whose page only circles the same question.

What a page needs to survive all four stages

That boils down to a fairly short list of requirements:

  • Findable in classic search, for the topic rather than for one phrasing. What sits on page ten never gets read.
  • Fetchable without a browser: the text you want cited is in the delivered HTML — not behind JavaScript, a login, or a consent dialog.
  • A section that answers one question completely, under a heading that names that question.
  • Checkable specifics in the copy: a number, a unit, a date, a proper name, instead of "depends on the job".
  • Visible currency: a date on the page saying when the details were last true.
  • Mentions elsewhere, so the source does not rest on its own claim alone.

The first two points are craft carried over from classic search; the rest is decided in the copy. The next sections walk through exactly that rest.

What to change about your writing

The first lever is the self-contained answer. For every important question you want to be found for, picture a paragraph that carries the answer within it. Not "that depends on many factors, more on that shortly", but the answer, directly, with the elaboration after it. Journalism calls this the inverted pyramid: the most important thing first. AI answer systems love this shape, because that is exactly how they read.

The second lever is structure. Clear subheadings that name a real question or a real topic help the system find the right section. A heading like "What does it cost" is more useful than "Pricing", because it resembles the way people ask. That structure pays twice, because it also helps real visitors skim, as described in reducing bounce rate.

The third lever sits outside your page: mentions elsewhere. These systems also weigh whether a source appears elsewhere on the web. A specialist article that a directory links to and a forum quotes counts as more trustworthy than a page nobody else mentions. That is more effort than a copy change, but it is the same trust mechanism that counts in classic search too.

How content actually gets into an AI answer

The three levers above describe the attitude. Here are the three concrete moves that turn a well-written page into a citable one.

Clear facts somebody can copy down

An answer system prefers statements it does not have to rephrase and can stand behind. Those are sentences with a number, a unit and a reference: "The call-out fee is 45 euros within 20 kilometres" instead of "travel costs depend on effort". A date instead of "for many years". A proper name instead of "the market leader". Every one of those specifics turns your sentence into a checkable claim, and checkable claims get cited, because the model can attach a source to them.

Part of this is not hiding the fact. If the number lives in an image caption, inside a graphic, or behind an accordion that only loads on click, it does not exist for many systems. Whatever you want cited belongs in the visible page text.

Structured data that confirms those facts

Structured data is the same facts a second time, in machine-readable form: a small JSON block in the source that states what the page actually contains. Who wrote it, when it was last changed, what the product costs, which question is answered in which section.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "How do I appear in the ChatGPT sources?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "By being findable in classic search for the question and having a section that answers it completely on its own."
    }
  }]
}
</script>

The markup is not an incantation that lifts a weak page. It removes ambiguity: "there is a year somewhere on this page" becomes "the publication date is 14 March 2026". Which types are worth it for a small site, and how to add and test them, is in structured data for AI answers.

llms.txt as a map

The third offering is a file at your-domain.com/llms.txt: a plain Markdown list of your best pages with one sentence of description each. It replaces nothing, but it is written in half an hour and needs no maintenance afterwards. Honestly placed, llms.txt is a young proposal and not a standard everyone is guaranteed to read — its shape, its use and its limits are in creating llms.txt.

The contradiction with pure keyword optimization

Here the new visibility parts ways with an old habit. For the classic results page, people often built a page around a keyword and worked it in as often as possible. For AI answers that helps little to nothing. These systems understand meaning, not word density. A page that repeats "rent a plate compactor" fifteen times does not get cited more. A page that cleanly answers the question behind the term does.

That is good news for anyone who would rather write clearly than write optimized anyway. The text that helps a human is the same one an answer system is happy to quote. The two goals that sometimes fought each other in old search pull in the same direction here.

The implementation plan: five steps to becoming a ChatGPT source

The sections above explain why things work. This is the order in which you work through them. It is not arbitrary, because each step assumes the one before it: the best paragraph is useless if the bot may not fetch it, and a test tells you nothing while the page sits in no index.

Step 1: Check whether the AI bots are allowed in at all

These systems read your page through their own bots, and OpenAI splits the jobs across several: GPTBot collects material for training, OAI-SearchBot maintains the index behind web search, and ChatGPT-User fetches a page when a conversation asks for it right now. Perplexity uses PerplexityBot accordingly. Any of them can be blocked through robots.txt, the same way you could block Google.

The distinction has practical consequences: if you do not want to supply training data but do want to show up in answers, block GPTBot and let OAI-SearchBot and ChatGPT-User through. Blocking everything is a decision against being named — a legitimate stance, but it has a price. For a small site only just building visibility, the maths is usually clear: the citation and its visitors are worth more than the content you would be protecting. Check once whether your robots.txt accidentally carries such a block, because some builders add it unasked.

If you want to state the "no to training, yes to answers" stance explicitly, the block looks like this:

# Search and user-initiated fetches: yes
User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

# Training: no (optional)
User-agent: GPTBot
Disallow: /

Two fine points. A bot follows only the group that names it most specifically and then ignores everything under User-agent: *. If you blocked paths such as /cart/ or /internal/ there, repeat those lines in the new groups. And a change does not take effect at once: OpenAI states that its systems need around 24 hours to pick up an updated robots.txt.

Then two checks, a minute each. First: is the text you want cited in the delivered HTML? Fetch the page without a browser and count how often a word from the key paragraph appears:

curl -s https://your-domain.com/services/kitchen-planning | grep -c "fixed price"

If that returns 0 although the words are visible in the browser, the text only comes into being through JavaScript, and for the bots it is missing. Second: does your host or CDN turn AI crawlers away before robots.txt is even read? A quick hint is the same request under the bot's name, curl -s -o /dev/null -w "%{http_code}" -A "OAI-SearchBot" https://your-domain.com/. A 403 points to a block. A 200, on the other hand, does not prove the real bot gets through, because some protection systems check the source IP rather than the name. You only know for sure after a look at the bot settings at your host and at the server logs, where OAI-SearchBot should turn up regularly. Which bot does what, and which blocks fit which stance, is covered in detail in controlling AI crawlers.

Step 2: Make sure Bing knows your page

ChatGPT does not rely on the OAI-SearchBot index alone; it supplements it with results from search providers OpenAI works with. By everything publicly known, the most important of them is Microsoft's Bing. Anyone who has dismissed Bing as a rounding error for years has a gap exactly where ChatGPT looks for its candidates. Copilot even sits entirely on the Bing index; how the individual answer engines differ is in generative engine optimization.

The check is quick:

  1. Spot check: search Bing for site:your-domain.com, then for the exact addresses of your most important pages. If pages that have ranked on Google for ages are missing, that is your finding.
  2. Set up Bing Webmaster Tools: signing up is faster than with Google, because Bing can import a verified property straight from Google Search Console. Submit your sitemap there and check that bingbot is not blocked in robots.txt.
  3. Use URL Inspection: the tool shows for each address whether Bing knows it, has indexed it, or why not. The usual reasons are the same as with Google: noindex, redirect chains, thin content, duplicates.
  4. Connect IndexNow: IndexNow is an open protocol through which you actively notify Bing and other participating search engines as soon as a page changes, instead of waiting for the next crawl. Many CMSs and SEO plugins ship it as a toggle; at Cloudflare it sits inside the "Crawler Hints" feature.

Without a plugin, IndexNow has two parts: a text file in the root directory that contains a key you pick yourself and is named after it, and one request per changed address:

https://your-domain.com/7f3a9c2e5b.txt      contains only: 7f3a9c2e5b

https://api.indexnow.org/indexnow?url=https://your-domain.com/services/kitchen-planning&key=7f3a9c2e5b

Google does not take part in IndexNow. There it stays with sitemaps and Search Console.

Step 3: Rewrite the key pages

Not the whole website, but the three to five pages that matter for your business: the most important service, the most common customer question, the price. For each page:

  1. Write down the question the page should answer, the way a customer would type it into ChatGPT.
  2. Turn it into a subheading, or check whether an existing one names the question.
  3. Write the first paragraph under it so that it contains the full answer: two to four sentences, with at least one checkable detail.
  4. Read the paragraph on its own, without the rest of the page. Does it make sense? Then it can be cited.
  5. Add a visible update date whenever you have changed details.

An example shows how big the difference is. Before, under the heading "Our service":

At our studio, the customer always comes first. Every kitchen is as individual as its owners, which is why we take as much time for planning as it needs. Get in touch, we look forward to your visit!

After, under the heading "How does kitchen planning work, and what does it cost?":

Kitchen planning with us takes two appointments of about 90 minutes each. In the first we cover the room, the budget and the appliances; in the second we present the 3D design with a fixed price. The on-site measurement costs £75 and is credited in full if you place an order. From first meeting to installation currently takes eight to ten weeks (as of September 2026).

The first text holds no sentence an answer system could take over, because none of them claims anything. The second holds four, each with a number and a reference. The figures here are made up; yours have to be right: a wrong detail that gets cited does more harm than one that appears nowhere.

Step 4: Describe your business the same way everywhere

Before a system names you as a source, it has to be able to place who you are: which company, which offer, which place. It reads that not only from your page but cross-checks what is said about you elsewhere. Specialists call this the entity. If the details contradict each other, your statement stands against others, and that makes you the weaker source.

  • One name, one spelling: "Harper Kitchens Ltd" on the website, "Harper's Kitchen Studio" in a directory and "HarperKitchens" on LinkedIn are, to a machine, possibly three companies.
  • One sentence that says what you do: write a one-sentence description with service and place, and use it word for word on your about page, in your Google Business Profile, on LinkedIn and in directories.
  • Matching core data: address, phone number, founding year, opening hours. Clean up stale entries in old directories instead of leaving them lying around.
  • An about page that answers questions: who is behind the business, since when, where, for whom. No mission-statement prose.
  • An Organization block with sameAs: it ties your website to exactly those profiles so they are read as one identity. What the block looks like is in structured data for AI answers.

The test for this step: ask ChatGPT with web search on, "What does [your business name] do?". Is the answer right, and do the sources come from you or from profiles you maintain? Every wrong detail in the answer tells you which entry on the web is still out of date.

Step 5: Check whether you appear in the ChatGPT sources

The test costs two minutes and is uncomfortably honest. Ask one of these systems the question you want to be found for, phrased the way a customer would phrase it, and make sure web search is actually active — without it the model answers from memory and names no sources at all. Then look at who is in the source list. If the same three competitors keep showing up, you know which pages you are measured against, and you can look at how their answer to the question is built.

Repeat the test every few weeks with the same questions. Unlike classic search, there are barely any tools yet that track this visibility for you. Your own spot check is, for now, the most honest instrument you have.

To turn the spot check into an instrument, you need a fixed list of questions and a log. Put together five to ten questions covering three kinds:

  • Problem questions from someone who does not know you yet: "What should I look out for when planning a kitchen?"
  • Comparison and location questions that end in a recommendation: "Which kitchen studio in Bristol plans at a fixed price?"
  • Brand questions that test what ChatGPT knows about you: "What does Harper Kitchens offer, and what does the measurement cost?"

Ask them in a temporary chat, so earlier conversations and saved memories do not colour the answer, and make sure sources are shown every time. For each question and date, record:

FieldExample
Date1 October 2026
QuestionWhat should I look out for when planning a kitchen?
Web search activeyes
Your page citedyes, /services/kitchen-planning
Who else is citedtwo competitors, one consumer portal
Is what is said about you correctyes, or no with a note

Answers vary from run to run, even for an identical question. So ask each one two or three times and count how often you appear. A single hit is chance; three out of three is a result.

The second half of the measurement happens in GA4. Visits from ChatGPT arrive with the source chatgpt.com, and OpenAI also appends utm_source=chatgpt.com to its links, so they stay attributable even when the referrer gets lost on the way. Under Reports > Acquisition > Traffic acquisition, set the dimension to "Session source" and filter for chatgpt. If the number rises after you rewrote a page, and the visits land on exactly that page, you have the connection a spot check alone cannot give you. How to set up a dedicated AI channel for this permanently is in measuring AI traffic in GA4.

Where this fits in the larger sum

AI visibility is one of several routes to more visitors, and on its own it delivers small volumes. Its quality is unusually high in return, because these people have half-decided before they arrive. Where this lever sits alongside the others is in increasing website traffic.

Where to start

If the whole plan is too much for this week: first spend two minutes checking whether your robots.txt blocks OAI-SearchBot. Then take the one question you would most like to be found for. Find the paragraph on your page that answers it. Does the answer sit there whole and readable, or is it scattered across half the page? Rebuild it into a paragraph that stands on its own, and put a heading above it that names the question. That is the one change that makes the biggest difference for both humans and machines. Markup and llms.txt come after that, not before.

Frequently asked questions

How do I appear in the ChatGPT sources?

Your page has to meet two conditions. It has to be findable in web search for the question asked, because ChatGPT picks its sources from search results. And it has to contain a section that answers exactly that question on its own, under a heading that names the question. Miss the first and you are never read; miss the second and you are read but not cited.

Where does ChatGPT get its sources from?

From a web search that runs in the background while the answer is being written. The system turns your question into one or more queries, reads the best results, and cites some of them as sources. Answers without web search come from the model's training knowledge and therefore carry no links.

How does ChatGPT choose its sources?

In four steps. The question becomes several search queries; those queries hit a search index OpenAI maintains with its own OAI-SearchBot plus bought-in results; the best hits are fetched and cut into sections along their headings; and from all those sections the model picks the ones that answer its question most directly, attaching the matching source to every statement it borrows. What gets chosen, in other words, is not the strongest website but the clearest paragraph.

Why does ChatGPT make up sources?

Because without web search it has no real sources. The model then answers from its training knowledge, and when asked for references it produces titles, authors and links that sound plausible but need not exist. With web search active, the linked pages are real fetches. Whether the statement really appears there is still worth checking with one click.

Which bot do I need to allow in robots.txt for ChatGPT?

OAI-SearchBot, because it fills the search index ChatGPT picks its sources from. You should let ChatGPT-User through as well; it fetches pages a conversation needs right now. GPTBot only collects training material; blocking it costs you no mentions in answers with web search.

Does my site need to be indexed in Bing to appear in ChatGPT?

It is not a hard requirement, but it is an important way in. ChatGPT supplements its own index with results from search partners, by everything known mainly from Bing. So check in Bing Webmaster Tools whether your most important pages are indexed there, and report changes through IndexNow.

Can I cite ChatGPT as a source in my own work?

For evidence, generally no. ChatGPT is not a reference work but a model that composes from training data and search results, and it can be wrong. The citable thing is the page it points to — follow the link in the source list and verify the claim there. Citing ChatGPT itself only makes sense when the conversation is the subject, for instance in a piece about AI tools.

Does structured data help you get cited in AI answers?

It helps indirectly and reliably, but it is not a switch. Markup makes facts that are already in the text unambiguous: price, date, author, question and answer. It does not substitute for missing content and will not lift a page that contributes nothing. The effort pays off once the copy is already good.

How long does it take before my page shows up as a source?

That depends on when the page enters the search index the system draws on — for new pages, typically days to weeks. The only way to speed it up is the usual one: submit a sitemap, link internally, and check indexing in Google Search Console.

Keep reading