When someone asks ChatGPT for a restaurant, the model is not browsing the way a person scrolls a map. It is assembling an answer from pages it has already indexed, pages it can fetch on demand, and text that describes your restaurant in plain, extractable terms. If your menu is a PDF image, your hours are wrong on three platforms, and your cuisine is described only as "modern American," you are giving the model very little to work with.
The mechanics matter here, so start with the crawlers.
Which bots actually feed restaurant answers
Different AI companies use different crawlers for different jobs, and blocking the wrong one can quietly remove you from recommendations.
| Crawler | What it does |
|---|---|
| OAI-SearchBot (OpenAI) | Surfaces sites in ChatGPT search. Sites opted out are not shown in ChatGPT search answers. robots.txt changes can take about 24 hours. |
| GPTBot (OpenAI) | Collects content for foundation model training. Blocking it does not affect ChatGPT search. |
| ChatGPT-User (OpenAI) | User-initiated actions in ChatGPT and custom GPTs. Because a user triggered it, robots.txt rules may not apply, and it is not used to decide whether content appears in search. |
| ClaudeBot (Anthropic) | Collects content that may be used for training. Blocking excludes future content from training. |
| Claude-User (Anthropic) | Fetches pages when a user asks Claude a question. Blocking prevents retrieval for those queries. |
| Claude-SearchBot (Anthropic) | Indexes content to improve search results. Blocking prevents indexing for search. |
| PerplexityBot | Surfaces and links sites in Perplexity search results; not used to crawl for foundation models. |
| Perplexity-User | Fetches pages for user questions and generally ignores robots.txt because the user requested it. |
| Google-Extended | Controls training and grounding for Gemini; does not affect Google Search inclusion and is not a ranking signal. |
Two practical takeaways. First, Google AI Overviews are part of Google Search, so they are governed by normal Googlebot crawling and indexing — there is no separate AI switch to flip. Second, if your site blocks OAI-SearchBot or Claude-SearchBot, you are opting out of the surfaces that generate recommendations, not just training. Check your robots.txt before you do anything else.
One nuance worth knowing: robots.txt follows RFC 9309. A crawler obeys the most specific group that names it and ignores the * group in that case. Within a group, the longest matching rule wins. It expresses intent; it is not access control.
Make the menu machine-readable
This is the single highest-leverage fix for restaurants. A model cannot read a photographed menu. It can read text.
- Publish the menu as HTML on your own domain, not only as a PDF. Keep a PDF too if you like, but the HTML version is what gets quoted.
- Use real dish names with real descriptions. "Wood-fired margherita, San Marzano tomatoes, basil" beats "Margherita — 14."
- Include prices in text. Models are cautious about stale prices, so date the page or note when it was last updated.
- Mark up the restaurant itself. Organization or LocalBusiness JSON-LD with name, address, telephone, opening hours, and cuisine gives parsers clean fields instead of forcing them to guess from prose.
If you do not want to hand-write that markup, our free schema markup generator builds JSON-LD for Organization, LocalBusiness, Product, or FAQPage from a short form. LocalBusiness is the one restaurants want.
Hours, location, and the details models get wrong
Inaccurate hours are the most common reason a restaurant gets excluded from a confident answer. Models often hedge when sources disagree, and a hedged answer rarely names you.
Pick one canonical source — your own site — and make every other listing match it exactly. That includes holiday hours, kitchen closing time versus door closing time, and whether you take walk-ins. If your kitchen stops serving at 9:30 but the door stays open until 10, say both.
For location, write for the query people actually type. "In the Shaw neighborhood of Washington, DC" is more extractable than a street address alone. Name the cross streets, the nearest transit stop, and the parking situation.
Cuisine and area clarity
Vague cuisine labels are a visibility problem. "Contemporary" and "elevated" tell a model nothing about whether you match a request for Thai food, a tasting menu, or a late-night burger.
Be specific and slightly redundant:
- State the cuisine in the first sentence of your homepage and in your LocalBusiness markup.
- Name the formats you serve: tasting menu, counter seating, large-format shared plates, takeout, private dining.
- List dietary reality, not aspirations. If the fryer is shared, say so. If you have a dedicated gluten-free prep area, say that too.
- Mention price band in words. "Most plates $18–$32" is easier to match than a dollar-sign rating.
Reviews and local press
AI answers lean on third-party text because it is corroborating. Two or three consistent sources describing you the same way carry more weight than one perfect page.
Keep your Google Business Profile, Yelp, and any reservation platform listing current — hours, menu link, and cuisine category. Reviews matter less for their star average than for the vocabulary in them: when diners repeatedly mention your omakase counter or your patio, that language becomes part of how you are described.
Local press is underrated. A neighborhood paper's review or a city magazine's roundup gives a model a dated, attributable source that says what you are and why you matter. If a publication covers you, make sure the article is indexed and that your site links to it. Do not expect a single mention to do much; expect a pattern of consistent descriptions to help.
A realistic way to check your progress
Ask ChatGPT, Gemini, and Perplexity the questions your customers ask — "best omakase in [neighborhood]," "restaurants open late near [landmark]," "where to take a group of eight in [city]." Record whether you appear, which competitors appear, and what language the answer uses. Repeat monthly. If you handle marketing for multiple restaurants, this is the same reporting loop described in Adding AI Visibility Reporting to Your Agency's Services, and the underlying work resembles what we wrote about for dental practices and law firms: clean structured data, accurate facts, consistent third-party corroboration.
No one can promise a mention. Models change, sources conflict, and answers vary by phrasing. What you control is whether the facts about your restaurant are readable, current, and consistent across the places these systems look.
Start with one thing today: open your menu page and check whether the dishes are real text on your own domain. If they are locked inside a PDF or an image, that is your first fix.