Short answer: ChatGPT recommends a local business when the pages it reads for that question name the business and give a reason to call it. So the work is to let OpenAI's search crawler reach your site, get onto the pages ChatGPT cites for your questions, and give those pages a specific fact to repeat.
Someone in your city opens ChatGPT and types "who is the best plumber near me". They get a short list of names, a sentence about each, and often a suggestion about who to call first. They do not open a map. They do not scroll a results page. They call.
If your business is not on that list, you did not lose that job on price or on reviews. You never entered the room.
This post is about what actually happens between the question and the answer, and which parts of that chain you can change. It is deliberately light on promises, because a lot of what is written about this subject is confident in ways nobody can support yet.
What ChatGPT needs before it can name you
Start with the two things that are specific to ChatGPT, because no amount of profile work helps if either one is wrong.
Let OpenAI's search crawler in
OpenAI runs a crawler called OAI-SearchBot to surface websites in ChatGPT's search features. OpenAI's crawler documentation says sites that opt out of OAI-SearchBot will not be shown in ChatGPT search answers, and recommends allowing it in robots.txt if you want to appear. The same page lists GPTBot, the crawler that collects training data, as a separate setting, so blocking training does not have to mean blocking search.
Check two places.
- Your robots.txt file, at the root of your domain. A
Disallow: /rule underUser-agent: OAI-SearchBotkeeps the search crawler out. So does one underUser-agent: *, but only when the file has no OAI-SearchBot group of its own, because a crawler follows the group that names it. - Your CDN or firewall. Some offer a single setting that blocks AI crawlers, and it can catch the search crawler along with the training ones. OpenAI publishes the IP ranges its crawlers use, so a firewall rule can allow them.
If you want ChatGPT search to reach the site but do not want it used for training, the robots.txt rules look like this:
User-agent: OAI-SearchBot
Allow: /
User-agent: GPTBot
Disallow: /
Know where ChatGPT gets its answers
When OpenAI introduced ChatGPT search in October 2024, it said ChatGPT chooses whether to search the web based on what you ask, that you can also start a search yourself, and that results come from third-party search providers and from content its partners supply. OpenAI has not published which local directories or review sites those searches reach. The practical way to find out is to read the sources ChatGPT cites for your own questions.
Test it the way a customer would
Open ChatGPT logged out or with memory turned off, turn search on, and ask the question the way a customer would. When the answer names businesses, open the cited sources under it and write the URLs down. That list, repeated across several phrasings, is the page set that decides the answer for your city. The 15-minute manual audit sets out the full method, including how to score what you find.
What ChatGPT does with a local question
When ChatGPT answers a local recommendation question with search on, it goes through three steps.
First, it decides whether it needs to search. OpenAI says that depends on what you ask. A question about local businesses today needs current information, so expect a search, and look for cited sources under the answer to confirm one ran.
Second, it runs one or more searches and reads the results. Not the whole web: a handful of pages returned for that phrasing. The cited sources show you what kind of pages they were, whether directory pages, "best of" listicles, review aggregators or a forum thread.
Third, it writes an answer that reads like a recommendation. This is the part people underestimate. The model is not returning a ranked list, it is composing a paragraph. It picks names that appeared repeatedly, that came with something quotable, and that fit the shape of the sentence it is writing. Names that were mentioned once in passing get dropped, because a paragraph with eight names in it reads badly.
That third step is why AI answers concentrate. A search results page has ten slots. An assistant's answer has room for a handful, because only a few names fit in a readable paragraph. Count the names in your own answers and you have the size of the shortlist for that question. The gap between position 5 and position 15 in traditional search was a difference in traffic. The gap between mentioned and not mentioned in an AI answer is closer to a difference in existence.
The four things that decide whether you are named
Working backwards from that sequence, four things matter.
You have to exist in the sources the model reads. If the pages ChatGPT pulls for "best plumber in your city" are three directories and two listicles, and you are on none of them, no amount of work on your own website changes the answer. This is the least glamorous item on the list and by far the most decisive.
Your name has to be attached to a reason. Assistants write sentences like "X has strong reviews for emergency callouts" because a source said something specific. A directory listing with a name, a phone number and nothing else gives the model nothing to write. A page that says you do same-day emergency work, that you have been operating since a particular year, or that you specialise in one thing gives it a clause.
Your name has to be stable. Models match names loosely, but not magically. If you are "Smith & Sons Plumbing" on Google, "Smith and Sons Plumbing LLC" on your invoices, and "Smith Plumbing Austin" on a directory, you have split your own evidence into three piles. Pick one legal-looking form and use it everywhere.
You have to be a plausible answer to the actual question. "Best plumber" pulls generalists. "Emergency plumber", "water heater replacement", "commercial plumbing" pull different sets. Most businesses are invisible for the broad question, which is arithmetic: a city has hundreds of plumbers and an answer names a handful. The narrow questions are where the candidate set is small enough to enter, and they are the questions people ask when they are ready to buy.
Work that changes the answer
Once the crawler can reach your site, here is the honest order of operations. It is boring on purpose.
1. Fix your Google Business Profile first
Assistants read pages that quote Google Business Profile data constantly, and Google's own AI features read it directly. Complete the profile, pick the primary category that matches the phrase you want to win, add the services list, and keep the hours accurate. A profile with a category of "Contractor" will not be named for "plumber" questions as often as one with a category of "Plumber". The Google Business Profile signals post goes through the fields in the order to fix them.
Reviews matter here in a specific way. The count and the rating get quoted. The text gets mined for phrases. A business with 40 reviews that all say "fast" and "emergency" is easier for a model to describe than one with 300 reviews that say "good service". The 4.8-star post covers why a high rating on its own does not get a business named.
2. Get into the pages that get read
Find what ChatGPT actually cites for your question. With search on, the sources appear with the answer; if they do not, ask for them, and write the URLs down. Whatever comes back is the page set that decided the answer for that phrasing in your city, and it is short enough to work through by hand.
Then work through them one at a time. Some are directories you can list on in ten minutes. Some are "best of" posts by a local publication that takes submissions. Some are trade association listings you already qualify for and never claimed. This is link building's unglamorous cousin, and it works because the citation set is small.
3. Write the one page that answers the question
Not a blog. One page on your site, titled the way people ask, that answers it plainly: what you do, where, what it costs roughly, how fast you turn up, and who you are not right for. Assistants quote pages that state facts in short sentences, because those are easy to compress into a clause.
Say the city name in text, not just in a footer. Say the neighbourhoods. If you serve three towns, say the three towns.
4. Give the model something to differentiate you with
Every business in your category claims to be reliable and professional. None of that survives compression into a recommendation sentence. What survives is specific: 24 hour callout, family run since a particular year, one named specialisation, a guarantee with a number in it.
If you cannot finish the sentence "we are the plumber to call when ____", the model cannot either.
What does not work
Stuffing your website with the phrase. The model is not counting keyword density on your page. It is reading a handful of pages, most of which are not yours.
Buying a "get ranked in AI" package with no method. Ask any vendor two questions: which prompts did you check, and can you show the answers. If they cannot show you the raw answers with your name absent, they measured nothing.
Waiting for it to settle down. The mechanism has been stable for a while now even though the models keep changing: search, read a few pages, compress into a paragraph. Work that gets you into that page set keeps paying.
How to know if any of it worked
Measure before and after, with the same questions.
Write down eight phrasings a real customer would use. Not "best plumber", but the whole spread: "who should I call", "emergency", "cheapest", "near me", "for a burst pipe". The 8 question shapes are a set to start from. Ask each one, in a fresh conversation with search on, and write down every business name in the answer. Do it across the assistants your customers actually use.
That gives you a baseline: how many of the eight named you, and who got named instead. Repeat it in a month. If your count went from zero to three, the work moved something. If it stayed at zero while your competitor sits at six, you know where the gap is.
The counting is tedious and it is the whole job. That is the part AIgnored automates, with its own fixed set of 8 broad recommendation questions per model, listed in every scan's why drawer. They cover who to call first and who to trust for an urgent job, not price, "near me" or a service such as a burst pipe, so ask those by hand. It matches the names the models give back to real businesses, and gives you the score plus the list of who was named instead. The methodology page sets out exactly how the matching and the scoring work, including where they are approximate, and the pricing page has a free plan that runs one city.
The short version
ChatGPT names a handful of businesses per question because that is what fits in a paragraph. It picks them from a small set of pages it reads at answer time, and OpenAI says a site that blocks OAI-SearchBot is left out of those search answers. Getting named means being in that page set, with a stable name, attached to a specific reason someone would call you.
None of this is a trick. It is the same work as being findable anywhere else, aimed at a smaller and more brutal shortlist.