---
title: "Why ChatGPT and Perplexity Cite Some Pages and Never See Others"
description: "A useful page cannot earn an AI citation unless it survives retrieval. Follow a buyer’s question through query fan-out, indexing, live fetches and passage selection to find the first gate your page misses."
url: "https://groas.com/post/how-chatgpt-and-perplexity-actually-choo"
image: "https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/261bda42-f6be-41e0-9181-2cac43c0246c.png"
published: "2026-10-26T05:33:13.449Z"
modified: "2026-10-26T05:33:13.508Z"
---

October 26, 2026 · 10 min read

# Why ChatGPT and Perplexity Cite Some Pages and Never See Others

[Alexander PerelmanHead Of Product @ groas](https://groas.com/author/alexander-perelman)[LinkedIn](https://www.linkedin.com/in/alexander-433793253/)

![Tabletop model of a path through five tiny gates; most paper pages pile up stuck at the first barrier while one courier carries a page toward a lit podium.](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/261bda42-f6be-41e0-9181-2cac43c0246c.png)

In this article

1. [1. Your buyer’s question becomes several searches](#1-your-buyers-question-becomes-several-searches)
2. [2. The search index decides which pages get a chance](#2-the-search-index-decides-which-pages-get-a-chance)
3. [3. A candidate page still has to be readable on fetch](#3-a-candidate-page-still-has-to-be-readable-on-fetch)
4. [4. The engine needs a passage it can actually quote](#4-the-engine-needs-a-passage-it-can-actually-quote)
5. [5. A clean answer is not the only evidence available](#5-a-clean-answer-is-not-the-only-evidence-available)
6. [Test the first gate you might be missing](#test-the-first-gate-you-might-be-missing)
7. [One more case: the fast page that still loses](#one-more-case-the-fast-page-that-still-loses)

A page can answer a buyer’s question perfectly and still never appear in a ChatGPT or Perplexity citation. If the engine cannot find, fetch or extract that answer, the quality of the prose is beside the point.

I spent years running search accounts for founders who wanted to know why a good page was not getting seen. The answer was rarely “write more authoritatively.” Distribution comes first. **Getting cited is a retrieval problem before it is a content problem.**

Follow one buyer question through the system: `what is the average cost of commercial air compressor preventive maintenance contracts for machine shops?` The exact route varies by engine and query, but the useful model has five gates: the question becomes searches; those searches produce candidate pages; the engine tries to fetch them; it selects passages that answer; and other available evidence can affect which answer it trusts. A page that misses an early gate never gets a fair hearing at the later ones.

## 1. Your buyer’s question becomes several searches

A buyer asks about the average cost of a maintenance contract. That sounds like one topic. To retrieve an answer, an engine may break it into narrower searches: contract pricing, compressor type, service frequency and the kind of facility involved. This is [_query fan-out_](https://groas.com/post/chatgpt-doesn-t-answer-your-buyer-s-ques).

![An incoming buyer question splits into several narrower search queries.](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/918375e8-c079-42a3-8a2c-0419942c6ccf.png)

For our example, plausible searches include `industrial rotary screw compressor service contract pricing` and `machine shop compressed air maintenance cost benchmarks`. These are illustrations of the mechanism, not a transcript of what an engine searched. [Dan Petrovic’s examination of ChatGPT retrieval](https://dejan.ai/blog/how-gpt-sees-the-web/) offers a closer look at how the system works.

Here is the first failure mode: your page answers the broad question in its title but never names the component the search is looking for. A page headed “Everything You Need to Know About Compressed Air” might contain three screens of manufacturing background before it reaches maintenance contracts. A service page that names the equipment and describes the contract may be a better candidate for the narrower search, even if the first page is more polished.

This changes what a content gap means. It is not just a missing article about a buyer’s exact prompt. It may be a missing answer to one of the smaller questions inside it. **If the search never surfaces your URL, better prose farther down the page cannot win the citation.** Start by asking which concrete parts of the buyer’s question your page actually covers.

## 2. The search index decides which pages get a chance

Those narrower searches still need somewhere to run. Answer engines draw candidate URLs from search indexes; they do not generate a list of source pages from memory alone. That is why ordinary search visibility still matters, even when the final answer does not resemble a Google results page.

![Indexed pages narrow into candidate documents and answer passages.](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/0bd1a4cd-7e69-445d-9742-44a7312fd96b.png)

The distinction is _which_ search you measure. In [an Ahrefs study of 15,000 queries](https://ahrefs.com/blog/ai-citations-study/), 12% of URLs cited by ChatGPT appeared in Google’s organic top 10 for the exact prompt query; the reported overlap for Perplexity was 28.6%. That does not prove rankings are irrelevant. The buyer’s wording is not necessarily the wording used to retrieve a source. A page may be visible for a narrower equipment or pricing query without ranking for the whole conversational prompt.

There is also a difference between finding a page about a topic and finding the part of that page that answers it. As Perplexity engineer Johnny Dwyer discussed in [an interview with _Search Engine Journal_](https://www.searchenginejournal.com/perplexity-ai-interview-explains-how-ai-search-works/538054/), sub-document indexing lets a system work with portions of pages rather than treating each document as one indivisible result. For the air-compressor question, a maintenance-cost section can matter more than the general subject of the homepage.

Older pages appeared prominently in [Ahrefs’ analysis of 1.4 million prompts](https://ahrefs.com/blog/chatgpt-citations-study/): cited pages had a median age of roughly 500 days. I would not turn that observation into a rule that a new page cannot be cited. It is a reminder that publishing a page and making it retrievable are different jobs. **Check whether the relevant page is indexed and visible for the narrower searches before rewriting its introduction.**

## 3. A candidate page still has to be readable on fetch

A URL in the candidate set is not yet a usable source. The engine may need to fetch its content, and the request can fail before any answer is evaluated. This is where a blanket bot rule, an edge firewall or a JavaScript-only page can turn a perfectly relevant URL into an empty promise.

First, distinguish crawlers by job. [OpenAI’s bot documentation](https://developers.openai.com/api/docs/bots) distinguishes `GPTBot`, used for training-related crawling, from `OAI-SearchBot`, which serves ChatGPT Search indexing, and `ChatGPT-User`, which can fetch a page in response to a user’s request. A decision about training access is not automatically a decision about search access. If you block `OAI-SearchBot`, do not assume your page remains available for ChatGPT Search indexing.

[Perplexity likewise distinguishes](https://docs.perplexity.ai/docs/resources/perplexity-crawlers) `PerplexityBot`, which builds its index, from `Perplexity-User`, which handles user-initiated requests. Its documentation says `Perplexity-User` generally does not follow standard `robots.txt` disallows. An edge firewall is a separate obstacle: it can return a `403 Forbidden` or `429 Too Many Requests` response to a request that otherwise could have reached the page.

Then inspect what a successful request receives. If the maintenance-contract table exists only after client-side JavaScript runs, the initial HTML may contain little more than a container. A browser user sees the prices or service details; a fetcher reading that initial response may not. In [our teardown of AI crawler logs](https://groas.com/post/teardown-what-30-days-of-our-own-ai-craw), technical fetch failures were a bigger issue than weak writing. The practical lesson does not require guessing an engine’s exact time limit: put the answer in HTML a fetcher can read.

![An empty initial HTML shell beside a rendered technical service table.](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/27e6d8e9-3995-4664-9853-0f7b19f4f62f.png)

Standard analytics will not necessarily show a visit stopped at the firewall. [Server-log guidance for AI bots](https://chalklabs.io/blog/how-to-monitor-ai-bot-activity-in-server-logs) is useful here because the request and its status code tell a different story from a traffic dashboard. **Before editing a passage, confirm that the relevant bots can reach the URL and receive the answer-bearing HTML.**

## 4. The engine needs a passage it can actually quote

Fetching a page is not the same as selecting it. An answer engine needs a compact passage that addresses the question without forcing it to reconstruct the answer from scattered hints. Perplexity describes [query-aware context compression](https://www.perplexity.ai/hub/blog/query-aware-context-compression-for-better-snippets): selecting useful source material while discarding text that does not help answer the query.

Return to the maintenance page. “We provide reliable agreements designed to maximize uptime” says little about contract cost or what a contract includes. A passage that identifies the compressor class, states which services the agreement covers, and gives a price range _if the business has one it can support_ gives the engine something to use. Do not invent a number to fill the gap. If pricing depends on a quote, say what determines the quote and which services are included. That is more useful than a claim about being “industry-leading.”

The position and shape of that answer matter too. A section headed “Maintenance contract scope and pricing” is easier to find and interpret than the same information buried under “Things to Consider.” Define the subject close to the details; do not make a passage depend on a pronoun whose referent sits four paragraphs earlier. **Write the part a reader would want quoted as a self-contained answer.** You can still write a good article around it. The machine just needs a clear place to start.

## 5. A clean answer is not the only evidence available

Suppose two pages provide readable, relevant maintenance-contract details. The engine can also encounter third-party material about the same equipment, services or provider. That outside context may strengthen one candidate and cast doubt on another. It is not a guaranteed final “corroboration step” applied identically to every answer, and it cannot be diagnosed from a server response code.

The useful principle is narrower: **a claim that exists only on your own page has less independent context around it.** If the maintenance information also appears in relevant industry discussions or other third-party sources, an engine has more to compare it with. If your page makes a striking claim that nothing else supports, clean formatting alone will not make it persuasive. Get the underlying claim right before worrying about how neatly it can be extracted.

## Test the first gate you might be missing

I would test retrieval before commissioning a rewrite. The question is simple: **does the engine find and successfully fetch the page you expect it to cite?** The setup should help you separate that observation from your theory about why a citation did or did not appear. If you want a fuller example of the approach, see our [30-day server-log test for AI citations](https://groas.com/post/are-ai-assistants-even-reading-your-page).

Set up the test prospectively:

1. **Choose 10 buyer prompts.** Use multi-part questions your prospects might ask, including the equipment, setting and decision they care about. Record the page you expect to answer each one.
2. **Prepare the logs.** Export server or CDN access logs with timestamps, request paths, status codes and full User-Agent strings. Make sure the view you use includes requests stopped at the edge; origin logs alone may miss them.
3. **Set the controls.** Run the same saved prompts on each engine, note when you ran them, and avoid changing the target pages during the test. Record citations as they appear rather than relying on memory.
4. **Build the sheet.** Track the prompt, likely narrower searches, target URL, relevant bot requests, returned status and citation result. Mark a narrower search as your hypothesis unless you can actually observe it.

Run the prompts through ChatGPT Search and Perplexity, then inspect requests near each run. A quick filter for live user agents in an Nginx-style log is:

`grep -iE 'ChatGPT-User|Perplexity-User' /var/log/nginx/access.log | awk '{print $7, $9}' | sort | uniq -c`

That command is a starting point, not a complete attribution method. It collapses request paths and status codes across the file; timestamps and your CDN records help you connect an event to a particular run. Keep index crawlers separate from live user agents. Count fetch attempts for the pages you expected to win, inspect their status codes, and check the HTML returned by successful requests.

My expectation is that this will expose an earlier failure for some pages that looked like writing problems. Interpret the outcomes in order:

- **No observed request:** Check indexation and visibility for the narrower searches. A missing hit in the logs you have does not, by itself, prove the page was never considered; the engine may have relied on indexed material or a request your logs do not show.
- **A `403` or `429`:** Investigate the edge rule or rate limit that returned it. The request reached a barrier, not an answer. Confirm what happened before assuming one rule change will solve every citation problem.
- **A `200` with an unreadable initial response:** Fix delivery. Put the relevant contract details in the HTML the fetcher receives.
- **A readable `200` without a citation:** Now inspect the passage and the other sources the answer used. A successful fetch proves delivery, not extraction, trust or selection.

A result either way changes the next task. An access failure sends you to the firewall or rendering setup. A readable page that loses to another source sends you back to the actual answer and its supporting context. That is a better use of 40 hours than rewriting every service page because a visibility chart went down.

## One more case: the fast page that still loses

Imagine a regional distributor with a static, easily fetched service page. Its maintenance-contract section names rotary screw compressors and lists the services included, but says nothing about how pricing is determined. A larger manufacturer publishes a slower, more elaborate page with a readable section on contract pricing. The buyer asks our original cost question.

Work through the gates. The distributor might enter the candidate set for searches about compressor maintenance. Its page might return a clean `200`, and the service list might extract beautifully. None of that makes it an answer to _average cost_. The manufacturer’s pricing section is a better fit for that part of the question if it can be retrieved and read. The distributor does not need more introductory prose, and its fast server is not the missing ingredient. It needs to decide whether it can publish useful, supportable pricing information. If it cannot, it should not invent a range for a citation.

That is the point of the model: find the first gate the page fails, then change the thing responsible. A missed citation is an outcome, not a diagnosis. At [groas](https://groas.com/), the work starts with that distinction: autonomous execution across paid and organic search, with a human strategist setting direction and owning accountability, rather than handing you another dashboard of missing mentions. Whether you work with us or run the test yourself, **fix the earliest broken step first.** A better answer matters once the engine can find and read it.

## Frequently Asked Questions

### Why does ChatGPT or Perplexity search for narrower queries instead of my exact question?

Answer engines break one buyer question into several narrower searches, such as equipment type, contract pricing and facility kind, so each part can be retrieved separately. A page that only answers the broad question in its title may never surface for the narrower search, and then better prose farther down cannot win the citation.

### Does regular Google ranking still matter for getting cited by AI answer engines?

Yes, because answer engines pull candidate URLs from search indexes rather than generating sources from memory. In an Ahrefs study of 15,000 queries, 12% of URLs cited by ChatGPT appeared in Google's organic top 10 for the exact prompt query, with 28.6% overlap for Perplexity. A page can rank for a narrower query without ranking for the full conversational prompt.

### Which bots do I need to allow for ChatGPT and Perplexity to read my pages?

OpenAI distinguishes GPTBot, used for training-related crawling, from OAI-SearchBot, which serves ChatGPT Search indexing, and ChatGPT-User, which fetches pages in response to a user request. Perplexity similarly distinguishes PerplexityBot, which builds its index, from Perplexity-User, which handles user-initiated requests. Blocking one bot does not automatically decide access for the others.

### What makes a page passage quotable by AI answer engines?

A quotable passage addresses the question directly without forcing the engine to reconstruct an answer from scattered hints. Name the subject close to the details, use a clear heading such as the specific topic being covered, and state concrete facts the business can support. If pricing depends on a quote, explain what determines it rather than inventing a number.

### Do AI answer engines check third-party sources about my company or product?

Engines can encounter third-party material about the same equipment, services or provider, and that outside context may strengthen one candidate page and cast doubt on another. A claim that exists only on your own page has less independent context around it, so a striking unsupported claim will not become persuasive through clean formatting alone.

### How can I check whether ChatGPT or Perplexity can actually fetch my page?

Set up a prospective test with saved buyer prompts and export server or CDN access logs with timestamps, request paths, status codes and full User-Agent strings, including requests stopped at the edge. Run the prompts, inspect requests near each run, and interpret in order: no observed request points to indexing, a 403 or 429 points to an access barrier, a 200 with unreadable HTML points to delivery, and a readable 200 without a citation points to the passage or competing sources.

## Paid Ads & SEO, Run For You

Businesses pay one flat monthly fee per service, agencies resell it under their own brand, and groas does the work either way.

[See Pricing](https://groas.com/pricing)

## Structured data

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://graph.groas.com/entity/groas","name":"groas","url":"https://groas.com/","description":"groas is a done-for-you marketing service, not software: elite people working with proprietary technology systems run search ads, Meta ads, SEO and AI search for businesses, and white label for agencies, with a dedicated senior strategist owning every account.","logo":{"@type":"ImageObject","url":"https://groas.com/icon-512.png","width":512,"height":512},"sameAs":["https://www.linkedin.com/company/groas/"]},{"@type":"WebSite","@id":"https://groas.com/#website","name":"groas","url":"https://groas.com/","inLanguage":"en-US","publisher":{"@id":"https://graph.groas.com/entity/groas"}},{"@type":"WebPage","@id":"https://groas.com/post/how-chatgpt-and-perplexity-actually-choo#webpage","url":"https://groas.com/post/how-chatgpt-and-perplexity-actually-choo","name":"Why ChatGPT and Perplexity Cite Some Pages and Never See Others","description":"A useful page cannot earn an AI citation unless it survives retrieval. Follow a buyer’s question through query fan-out, indexing, live fetches and passage selection to find the first gate your page misses.","inLanguage":"en-US","isPartOf":{"@id":"https://groas.com/#website"},"about":{"@id":"https://graph.groas.com/entity/groas"},"primaryImageOfPage":{"@type":"ImageObject","url":"https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/261bda42-f6be-41e0-9181-2cac43c0246c.png"},"breadcrumb":{"@id":"https://groas.com/post/how-chatgpt-and-perplexity-actually-choo#breadcrumb"},"dateModified":"2026-10-26T05:33:13.508Z","mainEntity":{"@id":"https://groas.com/post/how-chatgpt-and-perplexity-actually-choo#article"}},{"@type":"BreadcrumbList","@id":"https://groas.com/post/how-chatgpt-and-perplexity-actually-choo#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://groas.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://groas.com/blog"},{"@type":"ListItem","position":3,"name":"Why ChatGPT and Perplexity Cite Some Pages and Never See Others","item":"https://groas.com/post/how-chatgpt-and-perplexity-actually-choo"}]},{"@type":"BlogPosting","@id":"https://groas.com/post/how-chatgpt-and-perplexity-actually-choo#article","url":"https://groas.com/post/how-chatgpt-and-perplexity-actually-choo","mainEntityOfPage":{"@id":"https://groas.com/post/how-chatgpt-and-perplexity-actually-choo#webpage"},"isPartOf":{"@id":"https://groas.com/blog#blog"},"headline":"Why ChatGPT and Perplexity Cite Some Pages and Never See Others","description":"A useful page cannot earn an AI citation unless it survives retrieval. Follow a buyer’s question through query fan-out, indexing, live fetches and passage selection to find the first gate your page misses.","datePublished":"2026-10-26T05:33:13.449Z","dateModified":"2026-10-26T05:33:13.508Z","image":{"@type":"ImageObject","url":"https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/261bda42-f6be-41e0-9181-2cac43c0246c.png"},"author":{"@id":"https://groas.com/author/alexander-perelman#person"},"publisher":{"@id":"https://graph.groas.com/entity/groas"},"keywords":"page, answer, pages, engine, search, chatgpt, perplexity, question","wordCount":2163,"inLanguage":"en-US"},{"@type":"Person","@id":"https://groas.com/author/alexander-perelman#person","name":"Alexander Perelman","jobTitle":"Head Of Product @ groas","description":"My background includes Goldman Sachs and Stanford Computer Science.","image":"https://groas.com/media/blog/4f17cac3a81acc224cc1b2cfab8f94bbc295a3089d13e8421125771ef8d4064f.jpg","worksFor":{"@id":"https://graph.groas.com/entity/groas"},"sameAs":["https://www.linkedin.com/in/alexander-433793253/"]},{"@type":"FAQPage","@id":"https://groas.com/post/how-chatgpt-and-perplexity-actually-choo#faq","mainEntity":[{"@type":"Question","name":"Why does ChatGPT or Perplexity search for narrower queries instead of my exact question?","acceptedAnswer":{"@type":"Answer","text":"Answer engines break one buyer question into several narrower searches, such as equipment type, contract pricing and facility kind, so each part can be retrieved separately. A page that only answers the broad question in its title may never surface for the narrower search, and then better prose farther down cannot win the citation."}},{"@type":"Question","name":"Does regular Google ranking still matter for getting cited by AI answer engines?","acceptedAnswer":{"@type":"Answer","text":"Yes, because answer engines pull candidate URLs from search indexes rather than generating sources from memory. In an Ahrefs study of 15,000 queries, 12% of URLs cited by ChatGPT appeared in Google's organic top 10 for the exact prompt query, with 28.6% overlap for Perplexity. A page can rank for a narrower query without ranking for the full conversational prompt."}},{"@type":"Question","name":"Which bots do I need to allow for ChatGPT and Perplexity to read my pages?","acceptedAnswer":{"@type":"Answer","text":"OpenAI distinguishes GPTBot, used for training-related crawling, from OAI-SearchBot, which serves ChatGPT Search indexing, and ChatGPT-User, which fetches pages in response to a user request. Perplexity similarly distinguishes PerplexityBot, which builds its index, from Perplexity-User, which handles user-initiated requests. Blocking one bot does not automatically decide access for the others."}},{"@type":"Question","name":"What makes a page passage quotable by AI answer engines?","acceptedAnswer":{"@type":"Answer","text":"A quotable passage addresses the question directly without forcing the engine to reconstruct an answer from scattered hints. Name the subject close to the details, use a clear heading such as the specific topic being covered, and state concrete facts the business can support. If pricing depends on a quote, explain what determines it rather than inventing a number."}},{"@type":"Question","name":"Do AI answer engines check third-party sources about my company or product?","acceptedAnswer":{"@type":"Answer","text":"Engines can encounter third-party material about the same equipment, services or provider, and that outside context may strengthen one candidate page and cast doubt on another. A claim that exists only on your own page has less independent context around it, so a striking unsupported claim will not become persuasive through clean formatting alone."}},{"@type":"Question","name":"How can I check whether ChatGPT or Perplexity can actually fetch my page?","acceptedAnswer":{"@type":"Answer","text":"Set up a prospective test with saved buyer prompts and export server or CDN access logs with timestamps, request paths, status codes and full User-Agent strings, including requests stopped at the edge. Run the prompts, inspect requests near each run, and interpret in order: no observed request points to indexing, a 403 or 429 points to an access barrier, a 200 with unreadable HTML points to delivery, and a readable 200 without a citation points to the passage or competing sources."}}]}]}
```
