AI visibility for restaurants and cafés
Someone visiting for the weekend asks ChatGPT for a good brunch spot downtown. A remote worker asks for a coffee shop with Wi-Fi that opens at 7. A couple asks where to book an anniversary dinner.
Each of those questions ends at a table. This guide covers how ChatGPT finds a place to eat, the schema a restaurant or café site needs, and six fixes. It uses what we found when we scanned 19 restaurant and café websites on October 28, 2026. No one can promise ChatGPT will name you. These checks remove the reasons it can't.
How ChatGPT answers "where should I eat"
ChatGPT can search the web when a question needs current facts. OpenAI's help page on ChatGPT search says it can use your approximate location and rewrite the question into a search. "Coffee shop near me that opens early" becomes something like "coffee shop open 7am downtown Raleigh."
ChatGPT reads the pages that answer that search and cites them. Those pages may be your site, a review site, or a food blog's list. OpenAI says "Placement is not guaranteed."
That gives a restaurant or café three jobs:
- Let ChatGPT's crawler read your site.
- Put the menu, cuisine, and hours on the page as text, not as a photo or a PDF alone.
- Say where you are, whether you take reservations, and how to order, in plain text and in schema.
The schema a restaurant or café needs
Schema.org groups places to eat under FoodEstablishment. Its sub-types include Restaurant, CafeOrCoffeeShop, Bakery, BarOrPub, FastFoodRestaurant, IceCreamShop, and Brewery. Google's local business guide says to "use the most specific LocalBusiness sub-type possible," and names Restaurant as an example.
Give the block the fields a diner asks about:
- name, url, telephone, and the full street address
- openingHoursSpecification with your real hours, per day
- servesCuisine, such as "Italian" or "Coffee"
- hasMenu, pointing to a menu page with the dishes as text
- acceptsReservations, set to true, false, or a booking link
- priceRange, and sameAs links to your Google Business Profile and review pages
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Your Restaurant",
"url": "https://yourrestaurant.com/",
"telephone": "+1-555-010-0000",
"address": {"@type": "PostalAddress", "streetAddress": "100 Main St", "addressLocality": "Raleigh", "addressRegion": "NC", "postalCode": "27601"},
"servesCuisine": "Italian",
"priceRange": "$$",
"hasMenu": "https://yourrestaurant.com/menu/",
"acceptsReservations": true,
"openingHoursSpecification": [{"@type": "OpeningHoursSpecification", "dayOfWeek": ["Tuesday","Wednesday","Thursday","Friday","Saturday"], "opens": "17:00", "closes": "22:00"}],
"sameAs": ["https://g.page/your-profile", "https://www.yelp.com/biz/your-restaurant"]
}
</script>
For a coffee shop, use "CafeOrCoffeeShop" as the type. Match every field to what the page says. A machine that finds two sets of hours has to guess, and holiday hours left up after the holiday are a common cause.
What we found on 19 restaurant and café websites
On October 28, 2026 we ran our free check on 19 restaurant and café websites. They came from public search results in Raleigh, Sacramento, and Columbus. We are not naming them.
| Finding | Sites | Share |
|---|---|---|
| A Cloudflare challenge blocked our checker | 2 of 19 | 11% |
| No llms.txt | 14 of 17 | 82% |
| No link to a Google Business Profile | 7 of 17 | 41% |
| Uses a specific type (Restaurant, CafeOrCoffeeShop and so on) | 6 of 17 | 35% |
| A general business type, not a food type | 5 of 17 | 29% |
| No business schema type at all | 6 of 17 | 35% |
| No JSON-LD at all | 5 of 17 | 29% |
| JSON-LD with errors | 5 of 17 | 29% |
| No link to review or listing profiles | 5 of 17 | 29% |
| No phone number in the homepage text | 2 of 17 | 12% |
The 17 sites we could read scored 76.5 out of 100 on average. The median was 75. The low was 55 and the high was 100.
Restaurants and cafés scored lower than the dental practices (87.5) and salons (84.3) we scanned the same day. The gap came from schema. About one in three used a food type, and five of the JSON-LD blocks we found had errors a machine could not read past.
A real scan, name removed
One Raleigh café scored 55. Without JavaScript its homepage showed 65 characters of text. The title was four characters long, the page loaded 33 scripts, and the schema said LocalBusiness, not CafeOrCoffeeShop. There was no phone number in the text and no link to its Google profile. A person with a browser saw a full site. A crawler that does not run JavaScript saw a name and little else.
What to fix this month
- Run the free check. It asks ChatGPT the question a diner would ask, shows who it names, and reads your site the way AI crawlers do.
- Use a food type. Replace a plain LocalBusiness block with Restaurant, CafeOrCoffeeShop, Bakery, or BarOrPub, with your name, phone, address, hours, servesCuisine, and hasMenu. Test it in Google's Rich Results Test until it shows no errors.
- Put the menu on the page as text. Keep the PDF if you like, and add an HTML menu page with dish names, a line on each, and prices.
- Make the homepage readable without JavaScript. If your site builder draws the page in the browser, add the address, hours, phone, cuisine, and a short description to the HTML.
- Link your Google Business Profile and review pages. Add the links to the site and to sameAs. Keep the name, address, phone, and hours the same everywhere.
- Add an llms.txt file. An llms.txt file is a short Markdown file at yourrestaurant.com/llms.txt. It is a proposed standard, and OpenAI does not say ChatGPT uses it. List your cuisine, hours, location, reservations, and menu page. See our llms.txt example.
OpenAI's crawler docs say sites that opt out of OAI-SearchBot "will not be shown in ChatGPT search answers." Two of the sites we tried showed our checker a Cloudflare challenge. If you use Cloudflare or another firewall, check that it allows OAI-SearchBot. Our AI crawlers guide lists the user agents.
When to hire it out
If your site runs on a builder you can't edit, or the check shows a firewall problem, you can pay us to do it. Fix it for me is $499 one time to fix the issues your scan found, or $1,500 to rebuild the site.
If you want to track what AI says when people ask where to eat in your area, the Monitor is $29 a month. It asks 25 diner questions each week and shows who AI names: you or up to 5 competitors.
Other guides
- Schema markup for AI search
- How to show up in ChatGPT search
- AI visibility for dentists
- AI visibility for hair salons and barbers
Check your site
Check your restaurant free. It takes under a minute and needs no signup.
FAQ
Does ChatGPT recommend restaurants? Yes. ChatGPT can search the web and use your approximate location to find local results. It cites the pages it reads. OpenAI says placement is not guaranteed.
What schema type should a restaurant or coffee shop use? The most specific FoodEstablishment type that fits: Restaurant, CafeOrCoffeeShop, Bakery, BarOrPub, and so on. Add servesCuisine, hasMenu, and your hours.
Does a PDF menu work for AI search? A PDF is harder for a crawler to read than a page. Keep it for printing, and put the same menu on an HTML page.
Do I need llms.txt for a restaurant site? It is optional. It is a proposed standard, and OpenAI does not say ChatGPT uses it. It takes ten minutes to write. 14 of the 17 restaurant and café sites we read did not have one.
What score should my restaurant site get on the AI Ready Check? Aim for 90 or higher with no failed crawler checks. The restaurant and café sites we read averaged 76.5.
Checked 2026-10-28. Prices and policies change. Confirm on the source before you buy.
Sources
- https://help.openai.com/en/articles/9237897-chatgpt-search
- https://developers.openai.com/api/docs/bots
- https://schema.org/Restaurant
- https://schema.org/CafeOrCoffeeShop
- https://schema.org/FoodEstablishment
- https://developers.google.com/search/docs/appearance/structured-data/local-business
- https://llmstxt.org/
- https://checkaiready.com/pro
- https://checkaiready.com/fix
More guides
- AI crawlers in robots.txt: GPTBot, ClaudeBot, PerplexityBot rules (2026)
- AI search monitoring tools: what they track and what they cost (2026)
- AI SEO audit checklist: 12 checks for AI search (2026)
- AI visibility audit: how to check if ChatGPT can see your site (2026)
- AI visibility for dentists: get your practice named when patients ask ChatGPT (2026)
- AI visibility for gyms and fitness studios: get named when people ask ChatGPT (2026)