Start with the number nobody has. Ask how long a correction takes to reach ChatGPT and three vendors selling the remedy return three incompatible answers. Growtika says 60 to 180 days. It cites nothing at all. MaxAEO reports a 24 day median for ChatGPT with search on, from unpublished tracking of 412 brand-fact errors between September 2025 and May 2026.

MaxAEO also disagrees with MaxAEO. Its other published dataset, 18 changes across 12 B2B SaaS sites between 5 January and 30 April 2026, puts ChatGPT with search on at a 7 day median and spends the 24 day figure on a different quantity, propagation across every search-grounded platform. One vendor publishes both...a reader has no way to tell which one answers the question.

Only the third answer is worth quoting. Ranqo sells the same category of software and writes that "No platform publishes a figure, and no credible independent study exists. Anyone quoting you a specific window is guessing."

That is correct...it is also the only sentence in this market that costs its author a sale.

Three Failures, Not One

Being absent from an answer is three problems wearing one costume...the remedy differs for each.

  • Collision: another real company shares the name, and the system resolves to whichever is better known.
  • Proximity: facts attach to a business because it appeared near them inside one document.
  • Absence: the model holds almost nothing and produces something plausible to fill the gap.

Chen and four co-authors measured collision in a paper submitted to arXiv in June 2021, across two collections of same-named entities, 2,093 sets in one and 5,237 in the other, with roughly 80,000 queries between them, head and tail assigned by a single month of Wikipedia page views. Those retrievers proved "twice as likely to retrieve erroneous documents on queries for the less popular entity under the same name", four times worse for TF-IDF, the weakest retriever tested, and still 1.5 times lower for Bootleg, the best. One caveat governs it. That study tested 2021 retrieval systems...no equivalent measurement of a current assistant has been published by anyone.

Absence has its own literature. Mallen and five co-authors found in December 2022 that scaling "fails to appreciably improve memorization of factual knowledge in the long tail". Scale is not the lever here...bigger models do not learn small businesses.

What the Crawler Saw

A client-rendered page can rank first on Google...it can still be blank to ChatGPT. Vercel reported on 17 December 2024 that "none of the major AI crawlers currently render JavaScript", naming OpenAI, Anthropic, Meta, ByteDance and Perplexity, with Gemini and AppleBot as the exceptions.

  • Volume: GPTBot made 569 million fetches in the measured month, and Claude 370 million.
  • Waste: JavaScript files were 11.50% of ChatGPT requests and 23.84% of Claude's, fetched and never run.
  • Upstream: Common Crawl documents itself, stating that "Currently, JavaScript is not executed and Cookies are not used".
  • Method: Vercel published the rendering conclusion in December 2024 and never the test design, no probe, no raw data and no account of how non-execution was determined.

Weigh that last item. Almost every page on this topic rests on a nineteen month old post with no stated method behind its central claim...the two 2026 experiments that did publish one go uncited. Vercel's post is still the reference everyone links.

Fifteen Words of React

The check takes about ninety seconds...it returns an actual number.

  • Agent: fetch the page with OpenAI's published GPTBot user agent.
  • Strip: remove every script, style and noscript block first.
  • Count: whatever survives is all that crawler ever sees.

TodoMVC's React demo is the calibration point. Checked on 4 August 2026, it returned 645 bytes and 15 words to the GPTBot user agent. It is a fully working application. To GPTBot, that entire page is a title and a footer credit. Byte count lies, because a 350KB page can be almost entirely inlined bundle and JSON payload...only the surviving word count means anything.

Andre Alpar ran the harder version on 9 June 2026 for Search Engine World, handing twelve assistants a secret unlinked URL whose raw HTML carried a decoy number that external JavaScript then replaced. ChatGPT, Claude, Gemini, Perplexity, Meta AI and Copilot reported the decoy, while DeepSeek, ERNIE, Qwen, Kimi and Mistral reported the real number. Grok executed the script and answered with the decoy anyway...running the code and using its output are two different things.

Two of those names are contested...the paragraph above already stated one of them the other way. Vercel listed Gemini in December 2024 as a full renderer on Googlebot's infrastructure. Writesonic in March 2026 found it executing no JavaScript at any delay, and Alpar in June 2026 found it reporting the decoy...the 2024 claim and the two 2026 tests do not agree. Copilot splits the same way. Writesonic saw it execute at 0ms and 500ms in March, and Alpar saw it download the file and never run it in June. No 2024 baseline exists either, because Vercel excluded Copilot for lacking a unique user agent. No third test has been published to settle either pair.

Alpar states his own limit, "one prompt per assistant, captured at one moment in time", and adds that live-fetch behaviour may differ from background crawlers. That last clause matters here...the separation between a live fetch and a background crawler runs through everything below.

Search Console's Blind Spot

This problem is invisible from inside the tool most people check. Googlebot renders. GPTBot does not. Google's URL Inspection tool shows a screenshot of the rendered page on a live test, though never for the indexed URL, because Googlebot queues pages for rendering in a headless Chromium and indexes whatever comes out. Search Console shows Google's view...it is not a proxy for what GPTBot receives.

Google argues against the tempting fix, and its own documentation calls dynamic rendering "a workaround and not a long-term solution", pointing at server-side rendering or hydration instead. That is not what several vendors here are selling.

Four Named OpenAI Crawlers

Blocking the training crawler and blocking the search crawler are two different lines in robots.txt...sites have done the second by accident with a CDN rule. OpenAI's crawler documentation separates the four jobs.

  • OAI-SearchBot: a site that opts out "will not be shown in ChatGPT search answers, though can still appear as navigational links".
  • GPTBot: crawls content that may be used in training the foundation models, and governs nothing whatever about whether ChatGPT search can find a page.
  • ChatGPT-User: handles the actions a person initiates directly, and OpenAI states it "is not used to determine whether content may appear in Search".
  • OAI-AdsBot: visits only the pages submitted as ads on ChatGPT, and what it collects is not used to train the foundation models.

All four are declared on the same documentation page. OpenAI's publisher guidance goes further, saying that for a disallowed page whose URL arrives from a third-party search provider it "may surface just the link and page title in ChatGPT Atlas"...opting out of the search crawler is not quite disappearing.

Exactly one timing figure appears in that documentation, about 24 hours for a robots.txt change to register...that describes permission and not content.

Four Clocks, One Question

An assistant either answers from memory or goes and looks...those two paths run on unrelated schedules. Training memory ships stale on day one.

  • OpenAI: the models page lists 16 February 2026 for all three GPT-5.6 models.
  • Anthropic: two cutoffs per model, reliable knowledge and training data, five months apart on Sonnet 4.6.
  • Google: no per-model knowledge cutoff appears in the three obvious places a developer looks.
  • Lag: Claude Fable 5 shipped on 9 June 2026 carrying a January 2026 cutoff.

Waiting for a retrain is not a plan on any horizon a business cares about...retrieval is the clock worth working on, and even there Google gives two answers, because crawling takes "several days to several months" on one page and "a few days to a few weeks" on another. Both are current. Both belong to Google.

Ranking Rules OpenAI Never Wrote Down

OpenAI documents how to be crawled...it never documents how anything gets picked.

  • Ranking: attributed only to "a number of factors designed to help users find reliable, relevant information".
  • Guarantee: the help article states that "There is no way to guarantee top placement".
  • Inclusion: allow OAI-SearchBot, and pass the published IP ranges at host and/or CDN.
  • Absent: OpenAI names no schema, no llms.txt and no structured data...the guidance is simply to let the crawler in.

Read that twice...every vendor claim about how ChatGPT ranks is inference from observed citations rather than from a documented system.

Where the Facts Come From

That same help article names the search partners in writing...almost nobody covering this topic quotes it.

  • Partners: OpenAI names two, Bing and Shopify.
  • Listings: Bing calls Bing Places one of the primary sources behind the information in a local listing.
  • Staleness: a record left unedited beyond six months can lose priority to fresher sources.
  • Moves: after a rename or relocation, Bing advises building a new listing and marking the old one closed.

Neither company states whether ChatGPT's local answers consume that listing corpus specifically...both ends are sourced and the join between them is not.

Contradiction, Not Clutter

Publishing something fresh is the instinct...the evidence points the other way. HoH, presented at ACL in 2025 across 96,124 question pairs and 219,463 documents, tested what happens when retrieval pulls the stale document alongside the current one.

  • Noise: six distracting passages moved accuracy under 1%.
  • Contradiction: one outdated passage dropped perfect scores over 10%.
  • Damage: that same document cut overall scores over 24%.
  • Limits: Llama and Qwen on Wikipedia text, not ChatGPT.

A preprint points the same way when StaleBench opens by noting that a retrieval system "can store a new fact in its index and still give the old answer", then measures a recovery rate near 0.50 even under immediate refresh, meaning about half the answers still carry the old value with the new document already sitting in the index. The design is thin, one author, 144 fact-level events and small open models...treat it as a signal rather than a figure.

Old press releases, the archived pricing page, the abandoned subdomain and the directory entry from two addresses ago are not neutral clutter. They are the active cause. Redirecting or deleting them is what the research supports...adding a newer page on top is not.

Schema and Its Actual Job

Structured data does a real job...it is sold under the wrong label.

  • Organization: Google says markup helps it "disambiguate your organization in search results".
  • Properties: iso6523 and naics are named for exactly that job.
  • sameAs: schema.org calls it a URL that "unambiguously indicates the item's identity".
  • Limit: no special schema.org markup is needed for AI features.

Google holds both positions at once, and each is true...neither describes a shortcut into an AI answer, and schema stays what it always was, entity plumbing for the index and the knowledge panel.

Decoration Nobody Requests

llms.txt is the clearest case of this whole pattern...it has now been measured three times.

  • Scale: Ahrefs checked 137,210 domains in May 2026, SE Ranking roughly 300,000 in November 2025.
  • Adoption: 28% of Ahrefs' own AI-aware analytics customers published the file, against 10.13% of SE Ranking's broader sample.
  • Spread: Originality.ai counted 36,120 files across more than 3 million monitored sites, roughly 1.2%.
  • Traffic: 97% of the published files received zero requests during the month measured.
  • Probing: no AI request targeted a missing llms.txt, so the crawlers are not looking.
  • Signal: removing the variable from SE Ranking's model improved its accuracy, meaning the file added noise.

Three figures more than 20x apart...every one of them is correct. What separates them is the sampling frame rather than the web moving, so anyone quoting a single llms.txt adoption rate without naming the frame is quoting the number that suits them.

Ahrefs summed it up as "largely decoration" for anyone chasing ChatGPT, Perplexity or AI Overviews, and Google's own guidance says the same in different words...vendors still ship the file as a paid deliverable.

Testing on the Wrong Account

Most owners run this test on the account that has spent a year describing the business to ChatGPT, which makes the old answer quite possibly a recording of their own words. OpenAI's memory documentation says removing something requires deleting "every source where it appears, including past chats, archived chats, files, the memory summary"...saved memories survive the deletion of a chat.

  • Temporary Chat: it uses no existing memories and creates none, so start the diagnosis there.
  • Logged out: a second run with no account separates personal history from the public index.
  • Three facts: founding year, headquarters city and founder name, asked in one question.
  • Triage: another company's three facts means collision, and vagueness means the long tail.

A Log Beats a Score

One run tells you what one run tells you. Semrush, which sells the tracking, states in its own documentation that "no platform can provide exact numbers on visibility", a striking admission from a vendor selling the number. Repetition is the answer to that...not a better vendor.

  • Prompt: the customer's own wording, fixed month to month and never quietly rephrased.
  • Platform: which assistant answered, logged on its own line rather than averaged together.
  • Outcome: named, cited, both or neither, recorded exactly as the answer came back.
  • Date: the day the run happened, because an answer can sit stale for weeks.

Then run it again next month, unchanged. MaxAEO, FlinnSchema and margen.net each close a page like this one with a free AI visibility audit...that is the standing offer across this whole field. vizmeta HQ re-runs the check monthly across ChatGPT, Claude and Google AI and keeps the log, which is the only artefact that shows whether any of the work above moved anything.