ChatGPT recommends your competitor. Here's how to find out why
It is rarely a judgement about your product. Usually the model had something quotable about them and nothing quotable about you.
Updated
What is actually happening when your name is missing?
The model is assembling an answer from what it can retrieve now and what it retained during training. Your absence usually means it had nothing attributable about you — not that it compared you to somebody else and preferred them.
That is worth sitting with, because the instinct is to read the answer as a verdict on the product. It is far more often a verdict on the page: the crawler was allowed in for them and not for you, their claim was in the HTML and yours was assembled by JavaScript, their identity was in markup and yours had to be inferred from a headline.
The ten-second version
Run the free audit on this site. It fetches your page, robots.txt, llms.txt and sitemap.xml, runs no browser, and returns a score out of a hundred in about ten seconds with no account.
Be clear about what that answers. The audit tells you whether an engine CAN quote you — it does not ask ChatGPT anything. Sampling the engines to see which companies they actually name is a separate, paid thing, and it is downstream of this one: an engine that cannot read your page has nothing to name you for.
The three failures that account for most of it
Three failures cover most of it. All three are configuration rather than craft, and any one of them is enough on its own:
- The crawler was never allowed in. A root-level Disallow in robots.txt, usually added by a security plugin or copied from another project, and unread since.
- The page arrives empty. The content is assembled in the browser, so the crawler — which runs no JavaScript — receives a shell and quotes nothing from it.
- The facts are prose only. With no structured data, your identity has to be inferred from a headline and a nav bar, and inference is where a competitor's name gets substituted for yours.
What to do this week
Check robots.txt against the nine crawlers that matter — that is a free tool on this site and it takes a few seconds. If any of them is blocked at the root, that is the whole job for this week; nothing else you do will register until it is fixed.
Then view source on the page you most want quoted and search it for a sentence you can see on screen. If the sentence is not in the source, an engine cannot read it either, and server-rendering that route is the next ticket. Everything after those two is optimisation; those two are the difference between being read and not being read.
One question
Find out what ChatGPT says about you.
Same seven checks, same ten seconds, still no signup.
Free forever. The score is never gated.