SIGNALS
Technical explainer · How AI citation works

The RAG Pipeline Explained: How ChatGPT, Claude, and Perplexity Decide What to Cite

When someone asks ChatGPT a question, it doesn't just make up an answer. It runs a four-stage retrieval process — fetching web pages, extracting content, ranking them, and generating a response. Most websites fail at stage 2 or 3. By the time AI evaluates content quality, your page has already been eliminated.

Understanding this pipeline is the foundation of Answer Engine Optimization (AEO). Once you see where your pages fail, the fixes are obvious. This is the model that drives the SIGNALS framework.

Short answer

RAG architecture retrieves web pages for a query, parses them, ranks them, and generates an answer from what survives. Citation decisions are taken at the last two stages: ranking decides whether your page is read at all, and generation decides whether a sentence from it is quoted. Content structure changes citation probability by deciding how far down that pipeline a page gets, which is why a page can be accurate, well written, and still never cited.

Victor Xu
Victor Xu
Founder, SIGNALS · AI Visibility Intelligence · LinkedIn
Updated October 2026

What is RAG architecture?

RAG architecture is a retrieve-then-generate design, and RAG stands for Retrieval-Augmented Generation. It is what powers how ChatGPT (with web browsing), Claude, Perplexity, and Google AI Overviews answer questions using real web content rather than just training data.

The architecture has four moving parts: an index of the web, a retriever that pulls candidate pages for a query, a ranker that orders them, and a generator that writes the answer from what it was handed. The shape is the same across the engines. The index underneath is not, which is why the same question produces different sources on ChatGPT, Claude, and Gemini. Same architecture, different evidence base, different answer.

The basic idea: instead of relying only on what the model learned during training, the AI retrieves fresh web pages relevant to the query, extracts the useful content, and generates a response grounded in that content. The pages it retrieved become the citations.

This is why AEO is fundamentally different from SEO. Google asks "which pages does the web trust?" RAG asks "which pages best answer this specific query right now?" Different question, different algorithm, different signals.

What are the four stages of the RAG pipeline?

Every RAG-based AI system runs some version of this pipeline. The specific implementation varies between ChatGPT, Perplexity, and Google AI Overviews, but the four-stage structure is consistent according to AgentGEO's 2026 pipeline failure analysis.

1
Retrieval
Can the AI crawler access and fetch this page?
✓ Most pages pass this stage

The AI system sends a crawler to fetch pages that might answer the query. For most publicly accessible websites, this stage isn't the problem — crawlers can reach the page.

Pages that fail here
  • → Pages blocked by robots.txt for AI crawlers (GPTBot, ClaudeBot, PerplexityBot)
  • → Pages behind login walls or paywalls
  • → Pages with server errors or extremely slow load times
  • → Pages that require session cookies to render

Check your robots.txt at signalscite.com/robots.txt — look for disallow rules targeting GPTBot, ClaudeBot, or anthropic-ai.

Retrieval isn't one pipeline — it's three. Each AI engine reads from a different search index, and being in one does not put you in the others:

  • → ChatGPT crawls with its own bot (OAI-SearchBot) and falls back to Bing. Not in Bing's index, ChatGPT's fallback fails. Microsoft Copilot uses Bing too — so that's two surfaces gated by one index.
  • → Claude runs its web search on Brave Search. Anthropic added Brave to its subprocessor list in March 2025, and the overlap figure quoted everywhere for it, 86.7%, is 13 matches in 15 results across three commercial queries in a Profound analysis, which is a direction rather than a rate (Profound, What is Claude web search, read at source 23 October 2026). Not in Brave, Claude can't surface you. There's no Brave webmaster dashboard — you submit URLs one at a time at search.brave.com/submit-url.
  • → Gemini and Google AI Overviews sit on Google's index.

The practical consequence: optimizing for Google alone leaves you invisible to Claude and to ChatGPT's primary path. "Getting indexed" means getting indexed in all three — and explicitly allowing the AI crawlers (OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended) in robots.txt and at your CDN/WAF. Roughly a third of business sites block at least one by accident through a default Cloudflare rule.

↓
2
Parsing
Can the AI extract clean, structured content from the HTML?
✗ Major failure point — especially for JS-heavy sites

Once fetched, the content must be extractable. The AI system reads the raw HTML and tries to identify: what is the main content, what is the heading structure, what are the key claims. Pages that make this hard — through JavaScript rendering, poor structure, or content buried in dynamic elements — get partially or fully eliminated here.

Pages that fail here
  • → React/Vue/Angular SPAs without server-side rendering — crawlers get an empty shell
  • → Content inside JavaScript-rendered tabs, modals, or accordions
  • → No clear heading hierarchy — multiple H1s, skipped levels
  • → Key content inside iframes or embedded widgets
  • → Heavy navigation and footer content overwhelming the main content
Pages that pass here
  • → Server-rendered HTML with real content in the page source
  • → Clean H1→H2→H3 hierarchy that maps to content sections
  • → Main content in semantic HTML elements (p, article, section)
  • → FAQPage or Article JSON-LD schema giving explicit structure signals
↓
3
Ranking
Does this page rank above competitors in the retrieved set?
✗ The most common failure point — where vocabulary alignment decides

Your page is now competing against every other retrieved page for the same query. The AI system ranks them by semantic relevance — how well the page's vocabulary matches the query's intent and sub-queries. This is where most pages lose, not because of content quality, but because of language mismatch.

Discovered Labs (2026) found that vocabulary alignment is the only page-level signal with a documented causal effect independent of domain authority — β=+0.37. A small, well-aligned page consistently beats a major brand's page if its language better mirrors how buyers actually search.

Pages that fail here
  • → Internal product terminology instead of buyer search language
  • → H2s as category labels ("Our Services") instead of buyer questions ("How much does X cost?")
  • → Opening paragraph doesn't directly answer the query
  • → Page covers only the primary intent, missing adjacent sub-queries
  • → No FAQ section covering query decompositions
Pages that pass here
  • → Title and H1 mirror exact buyer search phrases
  • → Opening paragraph answers the query directly in 2–3 sentences
  • → H2s phrased as buyer questions covering multiple sub-intents
  • → FAQ section addressing every decomposition of the main query
↓
4
Generation
Is the content quotable as a standalone unit?
⚠ Often the last mile failure

Your page made it to the generation stage — the AI is now writing its response using your content. But it needs sentences that can be quoted directly, without surrounding context. Vague, relative, or conditional statements get skipped. Specific, sourced, standalone claims get cited.

Princeton GEO (2024) found that adding sourced statistics increased citation frequency by 41%, and adding named expert quotes increased it by 28%. These aren't content quality improvements — they're citation unit improvements. They give the AI something to quote.

Content that fails here
  • → "Our approach has been shown to significantly improve outcomes" — vague, unverifiable
  • → "As mentioned in the previous section..." — requires context
  • → "Results may vary depending on your situation" — conditional, non-quotable
  • → "We're the industry leader in..." — unsourced superlative
Content that gets cited
  • → "Enterprise VR training reduces learning time by 40% vs. classroom instruction (PwC, 2023)" — specific, sourced, standalone
  • → "The average enterprise VR project takes 12–20 weeks from discovery to deployment" — factual, quotable
  • → "Among the top AR development firms, Treeview specializes in enterprise HoloLens and Meta Quest builds" — verifiable, entity-rich

At what stage of the RAG pipeline do citation decisions actually occur?

Citation decisions occur at two stages of the RAG pipeline, and they are different decisions. Ranking, stage three, decides whether your page enters the small set the model actually reads. Generation, stage four, decides whether a sentence from that page is quoted and attributed in the answer. Retrieval and parsing decide nothing about citation. They only decide whether your page is still in the running when the two decisions that matter are taken.

The distinction is practical rather than academic. A page can survive ranking, get read, and still not be cited, because the model found nothing in it worth lifting. That is a generation-stage loss, and it looks identical from the outside to never having been retrieved. The two failures need opposite fixes: a ranking loss is a vocabulary problem, and a generation loss is a quotability problem.

One consequence is worth stating plainly. Because the ranking decision is made against the retrieved set for that specific query, and not against the web as a whole, a small page can be cited over a large one whenever its language matches the question more closely. Citation is decided per query, at the moment of the query, from the sources the engine happened to pull.

How does the structure of your content determine whether an answer engine cites it?

The structure of your content determines citation probability by deciding how far down the pipeline your page gets, rather than by making the page better. Each structural property acts on a specific stage, and failing at an early stage makes every later property irrelevant. A page with immaculate sourced statistics that renders as an empty shell to a crawler never reaches the stage where statistics count.

Structural properties, the pipeline stage each acts on, and what it changes
Structural propertyStage it acts onWhat it changes about citation probability
Crawler access in robots.txt and at the CDNRetrievalNothing downstream runs if the fetch fails. This is a gate, not a ranking factor
Server-rendered HTML rather than a client-rendered shellParsingA shell has no content to extract, so the page is eliminated before quality is ever assessed
A heading hierarchy that maps to real content sectionsParsingGives the extractor the boundaries of each answer unit instead of one undifferentiated block
Article and FAQPage JSON-LDParsingStates the structure explicitly rather than leaving it to be inferred from the markup
H2s phrased as buyer questionsRankingMatches the query and its sub-queries in the buyer's own words, which is where most pages lose
An opening paragraph that answers the query directlyRanking and generationSupplies a passage that can be lifted whole, which is what the generator is looking for
Sentences that stand alone without back-referencesGenerationA sentence that needs the paragraph above it cannot be quoted on its own, so it is skipped
Sourced statistics and named quotesGenerationGives the model something specific and attributable rather than a claim it has to hedge

Read the table as a sequence rather than a checklist. The properties near the top are cheap, binary, and worth nothing on their own, because passing retrieval and parsing only earns the right to compete. The properties near the bottom decide the outcome but cannot be reached from a page that fails higher up. This is why the fix order below is the whole method, and why auditing a page for quotable sentences before checking whether a crawler can read it wastes the effort.

How is your page split into chunks before retrieval, and why does that decide what gets cited?

Your page is split into chunks because retrieval does not operate on pages. Before anything can be searched, a document is divided into smaller passages, each one embedded separately, and the unit scored against a query is the chunk rather than the whole document. This is the mechanism underneath everything in the section above. When people say an answer engine "read your page", what it read was one or two passages of it, chosen without reference to the rest.

The practical consequence is that a page competes passage by passage. A section that answers one question completely, inside its own heading boundary, can be lifted whole and stands a chance on its own. An answer assembled across three paragraphs with an anecdote in the middle may be split so that no single passage carries the whole thing, and each fragment then looks weaker than the page actually is. The page is not being judged. Its pieces are.

How those pieces are cut is an active research question rather than a settled one. The published work finds that chunk size, the overlap between neighbouring chunks, and where the boundaries fall all change retrieval quality, and that splitting which follows the document's own structure generally beats splitting at a fixed length. See Mix-of-Granularity: Optimize the Chunking Granularity for Retrieval-Augmented Generation (COLING 2025) and the survey of chunking methods at arXiv 2606.00881, which compares the main strategies against their computational cost.

What nobody outside those companies knows is the parameters. No answer engine publishes its chunk size, its overlap, or whether it splits on headings, on sentences or on embedding similarity, and the values differ between engines and change without notice. So there is no chunk length to write to, and anyone selling one is guessing. Treat any specific number you are given about this as unverified.

What does survive the uncertainty is the direction. Every splitting strategy in the literature is trying to find boundaries that coincide with where the meaning changes, and a page whose headings already sit at those points gives the splitter the answer for free. In practice that means the whole answer to a question lives under the heading that asks it, sentences name their subject instead of pointing back at the section above, and a table stays with the caption that explains it. Those are the same instructions as the previous section, seen one level down. The structural advice and the chunking mechanism are the same fact described at two scales.

How much does structure actually change the probability of being cited?

Nobody can give you a citation probability for your page, and anybody who quotes one has made it up. No answer engine publishes the odds it assigns a source, and the retrieval set changes with the query, the engine and the day. What has been measured, on a benchmark rather than on your site, is the size of the change that specific content edits produce, and those numbers are the closest thing to an answer that exists.

Measured effects of content edits on visibility in generated answers, from the GEO benchmark
EditMeasured effectWhat it tells you
Adding relevant statisticsAmong the strongest methods tested, up to a 41% improvement over baseline on position-adjusted word countA specific figure gives the generator something it can repeat without hedging, which is what earns the sentence a place in the answer
Adding direct quotationsAmong the strongest methods tested, with a 28% improvement on subjective impressionAn attributable quote is easier to carry into an answer than a paraphrase the model has to take responsibility for
Citing authoritative sourcesIn the same group, contributing to visibility gains of up to 40%Grounding is read as a property of the passage, not of the site, so it is available to a small domain
Keyword stuffingNo improvementThe optimisations that worked on a ranking system do not transfer to a generative one
Stylistic padding without new substanceNo improvementLength is not the variable. What the passage can be used for is

Effect sizes vary by domain, so treat these as the shape of the effect rather than as a forecast for your page.

The figures come from the study that named this problem. Aggarwal and colleagues built a benchmark of real queries, applied content methods one at a time, and measured what each did to a source's visibility in the generated answer, finding that adding statistics, quotations and cited sources raised visibility by up to 40%, with the best methods improving on baseline by 41% on position-adjusted word count and 28% on subjective impression, while keyword stuffing and stylistic padding did nothing (GEO: Generative Engine Optimization, Aggarwal et al., KDD 2024). The same study found that how well each method works depends on the domain the query sits in, which is the reason to read the table as a direction rather than as a rate card.

Set that against the pipeline and the numbers stop being a list of tactics. Every method that worked acts at the generation stage, on what a retrieved passage can be used for once it is already in the context window. Every method that did not work is an attempt to influence ranking with the vocabulary of an older system. That is the practical reading of the whole page: structure decides whether your passage is retrieved at all, and substance decides whether the generator can do anything with it once it is, and no amount of the second compensates for failing the first.

How much do the engines’ retrieval sets actually overlap?

The engines’ retrieval sets overlap barely at all, and that is the bound on any single answer to the probability question. Profound ran 100,000 identical prompts through ChatGPT and Perplexity and found that 11.0% of cited domains appeared in both, while 37.4% were cited only by ChatGPT and 51.6% only by Perplexity, according to its citation overlap analysis, checked 28 September 2026. Other 2026 datasets put the same pair in the same region, at or below roughly one domain in ten. Perplexity is the one worth treating separately, because it runs its own crawler and its own index rather than borrowing anyone else's, and how to get cited by Perplexity covers the two agents it fetches with and what controls each one.

Where cited domains sat across two engines answering the same 100,000 prompts (Profound)
Where the domain was citedShare of cited domainsWhat it means for a publisher
Both ChatGPT and Perplexity11.0%The only group for which one engine’s result predicts the other
ChatGPT only37.4%Visible on one assistant and absent from the other, on the same question
Perplexity only51.6%Same, in the other direction. Neither absence is a verdict on the page

Widen it to four engines and the divergence holds, and the day of the week starts to matter as much as the engine. GetMentions asked the same 2,398 questions of ChatGPT, Google AI Mode, Perplexity and Gemini every day for a week, logged 530,875 citations, and found that 84% of the sources cited for a question were used by only one of the four engines, with 69% of the sources behind a typical answer changing from one day to the next, according to its citation volatility study, checked 28 September 2026. A citation is a sample of one engine on one day, not a position you hold.

That sets the limit on what structure can do, and it is the honest answer to the question this page keeps returning to. Structure decides how a page fares inside a corpus it is already in. It cannot place the page in a corpus that never crawled it, and with overlap at this level the two failures need separating before anything is rewritten. Absence from one engine and presence on another points at index coverage and crawler access, which our guide to checking whether AI can read your website covers. Absence across all of them, on a page the crawlers reach, points at parsing and chunking, which is the pipeline order set out above.

It also decides how the result is read. An average taken across engines is four series wearing one name, and at 11% overlap a gain on one of them predicts almost nothing about the others, so per-engine reporting is a requirement rather than a presentation choice. The same divergence is why a drop needs a threshold before it means anything, which our guide to measuring AI citation decay works through.

What information is passed to search engines by ChatGPT compared with Claude?

Both pass a short search query derived from your request, not the conversation itself, and each passes it to a different index. Neither company documents the internals of its consumer assistant, but both document the developer version of the same tool, and those two pages are the closest thing to a published specification a publisher can read. The table and the paragraphs below are taken from them rather than inferred.

Anthropic's documentation describes a search query that is visible rather than hidden: the query Claude runs is returned in its own block with a single query field, and the worked example in the documentation turns a request about Claude Shannon's birth into the four-word search "claude shannon birth date" (Anthropic, web search tool documentation, read 21 October 2026). OpenAI describes the same step in one line for the simpler case: "The non-reasoning model sends the user's query to the web search tool, which returns the response based on top results" (OpenAI, web search guide, read 21 October 2026). Either way a few terms go to the index, not the paragraph a person typed.

What each vendor documents about its web search tool, read 21 October 2026
What a publisher wants to knowOpenAI, web search guideAnthropic, web search tool
What reaches the indexThe model sends the user's query to the search tool; the queries that were run can be returned with the responseA short generated query, returned in the response as a query field
What comes back per resultTop results, plus the full list of URLs retrieved if the caller asks for itURL, title, page_age, defined as "when the site was last updated", and the page content
Whether everything retrieved is readNo: the sources field returns every URL retrieved, and the documentation says "the number of sources is often greater than the number of citations"With basic search every result enters the context window; from web_search_20260209 the model can write code that filters results before they get there
What a citation carriesA url_citation with the URL, the title and the location in the answer; the documentation says inline citations show "only the most relevant references"URL, title and cited_text, documented as "up to 150 characters of the cited content". Citations "are always enabled for web search"

Both rows describe each vendor's developer tool, which is the documented version of the retrieval step. The consumer assistants are not specified in the same detail.

Where the query lands differs by assistant, and this page's index question below sets that out: Claude runs its web search on Brave, ChatGPT uses its own crawler and falls back to Bing, and Gemini and Google AI Overviews read Google's index. The Brave connection is known from Anthropic's subprocessor list, where Brave Search was added in March 2025 rather than announced as a partnership (TechCrunch, 21 March 2025). Same question, three different corpora, which is why a page cited by one assistant can be absent from another for reasons that have nothing to do with the page.

What do ChatGPT's and Claude's documented search fields change about how you write a page?

The documented search fields change three things about how a page should be written, and the first is the one most publishers get wrong. Being retrieved and being cited are separate events, and OpenAI documents the gap: every URL the model pulled is available in one field, the citations shown to the reader are a subset of it, and the subset is usually smaller. A page can be fetched, read and used to compose an answer without its name appearing anywhere, which is the mechanism behind the question of whether an AI citation means your page was actually used, now with a vendor's own documentation behind it.

The second is the length of what gets lifted. Anthropic caps the quoted span it returns with a citation at 150 characters of the cited content, which is roughly one sentence. Whatever the consumer assistants do, that is the unit a retrieval system in this family is built to carry: a sentence that survives on its own. A claim that needs the two sentences before it to make sense does not fit in the slot, which is the same instruction as the chunking section above arriving from a different direction.

The third is that a last-updated date travels with the result. Claude's search results carry page_age before the model reads a word of the page. Anthropic does not say how, or whether, that field is weighed, so nobody should claim it is a ranking factor. What it does establish is that the age of a page is in front of the model as metadata rather than something it has to infer from the text, and that an inaccurate visible date is therefore contradicted by a value the model already holds.

What the documentation adds to all three is not a new tactic but a field name. The instructions were already readable off the pipeline. They are now readable off a vendor's own schema, which is a harder thing for a buyer to argue with.

The consequence for retrieval is the one most publishers miss. Your page is compared against the rewritten query, not against the prompt a person typed. A long conversational request gets compressed into a handful of terms before any page is scored, so writing a page to match some exact long-form phrasing optimises for a string the retrieval stage never sees. What survives the compression is the intent and its vocabulary, which is why an H2 phrased as the question a person would ask out loud tends to match, while a heading built from a keyword string tends not to.

A second consequence is worth holding on to. Because the rewrite happens before retrieval and the user does not see it happen, two people asking the same thing in very different words can be handed the same sources, and one person asking twice can be handed different ones. The rewrite is a step in the pipeline like any other, and it varies.

What are the limitations of RAG in models like ChatGPT and Claude?

The limitations of RAG in ChatGPT and Claude all come from one place: each assistant is held to what its index already contains and to what a single retrieval pass happens to surface, which is a much narrower window than the web. Four limits follow from the four stages above, and each one explains a failure that looks like something else from the outside.

The first is index coverage. A page that is not in the corpus cannot be cited however well it answers the question, and because the assistants read different corpora, being citable on one says nothing about the others. The second is that retrieval runs before the model reasons about your question. The model cannot go looking for a page it did not retrieve, so a page that loses at ranking is not weighed and found wanting. It is never seen.

The third is the size of the read set. Retrieval returns more sources than the model reads closely, so surviving retrieval earns consideration rather than a citation. The fourth is the one that matters for anyone relying on these answers: the model composes the answer from what it read together with what it already holds, so a citation beside a sentence is not proof that the cited page states that sentence. Checking a claim means opening the source, not counting the footnotes.

These limits are also why a single answer is poor evidence about your own visibility. The same question, asked again, runs a different rewrite against a partly different retrieved set, so the roster moves. Anything you want to conclude about whether an engine cites you has to come from repeated runs rather than from one screenshot, which is the method set out in how many runs a visibility measurement needs.

No, because with web search off nothing is retrieved: ChatGPT answers from its trained parameters alone, and nothing is fetched or cited. RAG is not a property of ChatGPT or Claude as products. It is what happens on the subset of turns where the assistant decides to go and look, and on every other turn the pipeline on this page does not run at all.

Anthropic publishes the criteria its own tool uses, which is the only vendor statement of this we have found in writing. Claude searches when the request depends on information that is "current, changing, or outside its training data", and the documentation lists recent events and announcements, current prices, rates, scores or statistics, information about specific organisations, people or products that might have changed, and explicit requests to look something up. It answers directly, without searching, on what the documentation calls stable knowledge: established facts, maths and science fundamentals, coding concepts, creative writing and brainstorming, analysis of content already supplied in the conversation, and conversational turns (Anthropic, web search tool documentation, read 21 October 2026). The same page notes that the behaviour is steerable by the system prompt and cappable with a max_uses limit, so the split is a configuration rather than a fixed law.

Two consequences follow for anyone trying to be cited, and they pull in opposite directions from the rest of this page.

The first is that your page only competes on prompts that trigger a search. A question the assistant treats as settled knowledge is answered from memory, and no amount of structure, grounding or crawler access earns a citation on it, because no retrieval ever happens. That is a different failure from losing at ranking, it is invisible in exactly the same way, and it is the mechanism behind the problem of whether AEO works when nobody is searching your category.

The second is a measurement instruction. When you run a prompt set against an assistant, record whether it searched, not only what it cited. A prompt answered without retrieval tells you nothing about your page and should not be counted as a miss against it, and a prompt set made mostly of such prompts measures the model's memory rather than your visibility. That is one of the reasons a single run is weak evidence, which how many prompts a visibility measurement needs works through.

How the SIGNALS framework maps to the pipeline

Each of the 7 SIGNALS dimensions targets a specific stage of the RAG pipeline. This is why fixing the right dimension matters — there's no point improving Generation-stage signals if your page is failing at Parsing.

Stage 1
Retrieval
Newness (5%) — visible timestamps help crawlers assess recency. No dedicated dimension because retrieval failures are rare and binary — either the page is accessible or it isn't.
Stage 2
Parsing
Structure (12%) — heading hierarchy, self-contained sections, semantic HTML. The primary parsing signal. JSON-LD schema also helps here by giving explicit structural instructions.
Stage 3
Ranking
Alignment (35%) · Language (10%) · Intent (10%) — the three vocabulary signals. Alignment measures overall lexical overlap with buyer queries. Language focuses on title and opening paragraph specifically. Intent measures coverage of adjacent sub-queries.
Stage 4
Generation
Grounding (13%) · Substantiation (15%) — the citation unit signals. Grounding measures sourced statistics and expert quotes. Substantiation measures third-party validation that makes claims credible enough to cite.

In what order should you fix RAG pipeline failures?

Fix RAG pipeline failures in pipeline order: retrieval, then parsing, then ranking, then generation. The most common mistake in AEO is optimizing the wrong stage. Businesses spend weeks improving their content quality (Generation stage) while their pages are failing at Parsing because they're built on a JavaScript SPA that renders an empty shell to crawlers.

The SIGNALS framework diagnoses which stage is failing first, so optimization happens in priority order. There's no point adding sourced statistics (Generation fix) to a page that AI systems can't extract content from (Parsing failure).

The correct order: fix Retrieval (accessibility) → fix Parsing (structure, SSR) → fix Ranking (vocabulary, FAQ, headings) → fix Generation (statistics, quotable claims). Most pages need work at Ranking — that's where vocabulary alignment lives, and it's the highest-leverage fix available.

Each stage has a cheap test that tells you whether to move on. For retrieval, fetch the page the way a crawler would and confirm the bots are allowed in robots.txt and at the CDN. For parsing, view the page source rather than the rendered page and check that the body copy and headings are in the HTML that arrives. For ranking, read your own H2s and ask whether a buyer would type any of them. For generation, take any sentence out of the page and ask whether it still stands up alone, without the paragraph above it. A page that passes all four is not guaranteed a citation, but it is in the running for one, which the majority of pages are not.

Frequently asked questions

At what stage of the RAG pipeline do citation decisions actually occur?

At two stages, and they are different decisions. Ranking, stage three, decides whether your page enters the small set the model actually reads. Generation, stage four, decides whether a sentence from that page is quoted and attributed. Retrieval and parsing decide nothing about citation; they only decide whether the page is still in the running when those two decisions are taken. The distinction is set out above: a ranking loss is a vocabulary problem, a generation loss is a quotability problem, and from the outside they look identical.

How does the structure of web content determine the probability of being cited?

Structure determines citation probability by deciding how far down the RAG pipeline a page gets, rather than by making the page better. Crawler access acts on retrieval. Server-rendered HTML, heading hierarchy and JSON-LD act on parsing. Question-shaped H2s and a direct opening answer act on ranking. Standalone sentences and sourced statistics act on generation. Failing at an early stage makes every later property irrelevant, which is why the properties have to be fixed in pipeline order.

How much does structure actually change the probability of being cited?

Nobody can give you a probability for your own page, because no answer engine publishes the odds it assigns a source and the retrieval set changes with the query, the engine and the day. What has been measured is the size of the change specific edits produce on a benchmark. In the GEO study (Aggarwal et al., KDD 2024), adding relevant statistics, direct quotations and cited authoritative sources raised a source's visibility in generated answers by up to 40%, with the strongest methods improving on baseline by 41% on position-adjusted word count and 28% on subjective impression, while keyword stuffing and stylistic padding produced no improvement. Effect sizes varied by domain, so read those figures as the shape of the effect rather than as a forecast. The measured effects are set out above.

How much do the retrieval sets of different AI engines overlap?

Not much. According to Profound’s citation overlap analysis, 100,000 identical prompts run through ChatGPT and Perplexity found that 11.0% of cited domains appeared in both, with 37.4% cited only by ChatGPT and 51.6% only by Perplexity. Across four engines the divergence is wider: GetMentions asked the same 2,398 questions of ChatGPT, Google AI Mode, Perplexity and Gemini daily for a week, logged 530,875 citations, and its study found 84% of the sources cited for a question used by only one engine, with 69% of the sources behind a typical answer changing overnight. Being cited on one engine therefore says little about the others, and a page missing from one is a coverage question before it is a content question.

What is RAG (Retrieval-Augmented Generation)?

RAG is the four-stage process AI systems use to answer questions with real web content. Stage 1: Retrieval (fetch relevant pages). Stage 2: Parsing (extract clean content from HTML). Stage 3: Ranking (sort by relevance to the query). Stage 4: Generation (write a response from top-ranked content, citing sources). Most websites fail at Parsing or Ranking — before content quality is ever evaluated.

Why do most websites fail the RAG pipeline?

Usually structural issues, not content quality. The most common failures: JavaScript-only rendering (crawlers see an empty page), poor heading structure (content hierarchy can't be extracted), and vocabulary mismatch (internal language instead of buyer search terms). Pages that fix these structural signals consistently outperform better-written pages that don't.

How is RAG different from Google's algorithm?

Google's PageRank rewards backlinks and domain authority. RAG rewards structural clarity, vocabulary alignment, and quotable standalone content. A page can rank #1 on Google and fail the RAG pipeline entirely. The top-10 Google ranking and AI citation overlap collapsed from 75% in mid-2025 to 17-38% in early 2026, with Ahrefs putting the 2026 figure at 38% — they've decoupled completely.

Which AI systems use RAG?

ChatGPT (with web browsing enabled), Claude, Perplexity, Google AI Overviews, Microsoft Copilot, and Gemini all use RAG or similar retrieval architectures. The specific implementation varies but the four-stage structure — and the signals that predict citation — are consistent across all of them.

What is the most important RAG pipeline stage to fix?

Fix in order: first ensure your pages are server-rendered and accessible (Retrieval/Parsing), then fix vocabulary alignment (Ranking). Most pages that pass Retrieval and Parsing still fail at Ranking because of vocabulary mismatch — this is where Alignment's 35% weight in the SIGNALS framework comes from. It's the highest-leverage fix for most businesses.

How does the SIGNALS framework diagnose RAG pipeline failures?

The SIGNALS framework assesses each of the four pipeline stages, identifies the primary failure point, and prioritizes fixes accordingly. It maps all 7 dimensions to pipeline stages — Structure and Language for Parsing/Ranking, Alignment and Intent for Ranking, Grounding and Substantiation for Generation. To see where your own pages stand, request a free visibility assessment.

What information is passed to search engines by ChatGPT compared with Claude?

Both pass a short search query derived from your request rather than the conversation itself, and each passes it to a different index. Neither company specifies its consumer assistant, but both document the developer version of the tool. OpenAI's guide says the model "sends the user's query to the web search tool", and that the sources field lists every URL retrieved while inline citations show "only the most relevant references", so "the number of sources is often greater than the number of citations". Anthropic's returns a visible query field, gives each result a page_age for "when the site was last updated", and caps the quoted cited_text at "up to 150 characters". Both pages were read on 21 October 2026. The full answer, with the comparison table, is above.

Does ChatGPT use RAG when web search is off?

No. With search off nothing is retrieved, so the answer comes from the model's trained parameters and nothing is cited. RAG is not a property of ChatGPT or Claude as products; it is what happens on the turns where the assistant decides to look something up. Anthropic documents the split for its own tool: Claude searches when a request depends on information that is "current, changing, or outside its training data", and answers directly on stable knowledge such as established facts, maths and science fundamentals and coding concepts. For a publisher that means your page only competes on prompts that trigger a search, and a prompt answered from memory should not be counted as a citation miss against it. The two consequences are set out above.

What are the limitations of RAG in models like ChatGPT and Claude?

RAG limits these assistants to what their index already holds and to what one retrieval pass surfaces. A page outside the corpus cannot be cited however well it answers the question. Retrieval runs before the model reasons about the question, so a page that loses at ranking is never seen rather than weighed and rejected. Retrieval also returns more sources than the model reads closely. And because the model composes the answer from what it read together with what it already holds, a citation beside a sentence is not proof that the cited page states it. The four limits are set out above.

Which search index does each AI engine use?

Three different indexes. Claude runs its web search on Brave, which is known from Brave Search being added to Anthropic's subprocessor list in March 2025 rather than from an announced partnership (TechCrunch, 21 March 2025). ChatGPT crawls with its own bot (OAI-SearchBot) and falls back to Bing, which Microsoft Copilot also uses. Gemini and Google AI Overviews read Google's index. Being indexed in one does not put you in the others, and ranking #1 on Google does nothing for Claude. Getting cited across AI means getting indexed in all three, and allowing each engine's crawler in robots.txt.

Related reading

How AI Engines Choose Which Sources to Cite → What is Answer Engine Optimization (AEO)? → The SIGNALS Framework: 7 Dimensions Explained → See the RAG Pipeline in Action: Treeview Teardown →
The Assessment

See where your company stands across all four engines.

A free, PULSE-powered visibility assessment maps exactly where you’re cited and where you’re invisible — against the competitors winning your category, category by category.

Request a free visibility assessment →
SIGNALS · A BlackSig Systems company