AEO for restaurants is the practice of structuring a restaurant's menu, cuisine, price range, and reservation information, together with schema markup that names the establishment type, dietary options, and dish-level detail explicitly, so that ChatGPT, Google AI Overviews, Perplexity, and Gemini cite the restaurant directly when a diner asks where to eat, rather than folding the answer entirely into a directory listing pulled from Yelp, TripAdvisor, or OpenTable. Diner behaviour already justifies the effort: 22% of diners now decide where to eat through an AI platform, using tools such as ChatGPT, Gemini, and AI Overviews alongside 'best near me' searches, and a 2026 Uberall report tracking AI-generated dining recommendations found that 83% of restaurant locations never appear in an AI recommendation at all, even though 86% of those same restaurants maintain a normal, verified Google presence.
That gap is not evenly distributed across owners who have simply neglected their listings. The same Uberall report found that only 39% of restaurant owners have deliberately optimised their online presence for AI results, despite this being a fast-growing discovery channel that now sits alongside Google Maps and traditional organic search rather than behind it. Where a diner's question ends up being answered also depends on which engine they ask: ChatGPT leans heavily on third-party directories for restaurant recommendations, Gemini favours a restaurant's own website content over aggregator listings, and Perplexity draws more from reviews, social posts, and forum discussion than either of the other two. A restaurant with no structured content on its own site is effectively opting out of the one engine, Gemini, most inclined to cite it directly.
Why Yelp, TripAdvisor, and OpenTable win the AI citation by default
Directories built their entire product around the exact question an AI assistant is trying to answer: which restaurant, in this neighbourhood, at this price point, serving this cuisine, is open right now and rated well. Every listing on Yelp or TripAdvisor carries consistent, comparable fields, cuisine, price range, hours, rating count, review recency, which is precisely the shape of structured fact a model needs to answer a diner's question with confidence. A restaurant's own website usually has the same information somewhere, a hero image, an About section, a PDF menu, but written as atmosphere-setting prose rather than marked up as discrete facts, so the model defaults to the directory's cleaner, more extractable version of the same restaurant.
The rating floor: how AI engines filter before they recommend
Restaurant AEO has a gate that most other local verticals do not face as sharply: a minimum star rating below which an AI engine will simply decline to surface a restaurant, regardless of how well its schema and content are structured. Observed thresholds put ChatGPT's floor at roughly 4.3 stars and above, Perplexity's floor at around 4.1, and Gemini's noticeably lower at about 3.9. A restaurant sitting below the relevant engine's floor is competing for a citation it is structurally unlikely to win no matter how complete its Menu schema is, which makes review volume and rating health a prerequisite for AEO rather than a parallel workstream.
Schema and structured content cannot compensate for a rating below an engine's observed floor. If average rating sits under about 4.0 to 4.3 depending on the platform, prioritise a genuine review-generation programme before investing further in AEO content, since the citation is unlikely to appear regardless of markup quality.
The AEO signals that matter most for restaurants
Restaurant-specific schema, not generic LocalBusiness
Schema.org maintains a dedicated Restaurant type, a subtype of FoodEstablishment and LocalBusiness, alongside sibling types such as CafeOrCoffeeShop, BarOrPub, and FastFoodRestaurant for establishments that fit those categories more precisely. Using the generic LocalBusiness type when a more specific one applies gives a model less to work with; naming the establishment type explicitly, alongside servesCuisine, priceRange, and acceptsReservations, removes ambiguity about what kind of dining experience the restaurant actually offers.
- Restaurant, CafeOrCoffeeShop, BarOrPub, or FastFoodRestaurant - the most specific subtype available, on the homepage and every location page
- servesCuisine - the actual cuisine or cuisines offered, not a vague "great food" description a model cannot categorise
- priceRange - a genuine indicator such as "$$" so a model can filter by budget the way a diner would
- acceptsReservations and openingHoursSpecification - including distinct entries for kitchen hours versus bar or brunch hours where they differ
- hasMenu - linking to an accessible, current HTML menu page rather than a PDF a crawler may not parse reliably
- AggregateRating and Review - genuine, location-specific ratings, not a franchise-wide score pulled from every branch
Menu schema: link the menu, do not bury it
Menus are their own entity type in Schema.org, with a hasMenuItem property connecting a Menu to individual MenuSection and MenuItem entries, each of which can carry a name, description, price, and dietary flag. Embedding an entire menu as inline JSON-LD quickly becomes unwieldy and goes stale the moment a dish or price changes, so the better-supported pattern is the hasMenu property on the Restaurant object pointing to a real, crawlable HTML menu page, with Menu, MenuSection, and MenuItem schema marking up that page directly. That keeps the structured data and the visible menu diners actually read as a single source of truth.
Named dishes and dietary attributes as citable facts
"Great vegetarian options" gives a model nothing to extract or verify. A MenuItem named "Charred Aubergine Tagine" with a suitableForDiet property of https://schema.org/VegetarianDiet gives it a citable fact it can attribute directly to the restaurant when a diner asks an AI assistant for a vegan or gluten-free tasting menu nearby. This is the same principle that governs E-E-A-T signals across every AEO vertical: specific, checkable claims get cited, and generic marketing language does not, however appetising it reads to a human.
A short FAQ page answering "do you take walk-ins on a Saturday night", "is there a vegan or gluten-free menu", and "what is the average price per person" in plain text is one of the highest-leverage AEO pages a restaurant can build, since these are exactly the pre-visit questions a diner asks an AI assistant before choosing where to book.
A practical AEO checklist for restaurants
- Replace atmosphere-only copy with specific, checkable facts: cuisine, price range, and named signature dishes
- Add the most specific Schema.org subtype available, Restaurant, CafeOrCoffeeShop, or BarOrPub, to the homepage and every location page
- Publish a real, crawlable HTML menu page and link it with hasMenu, then mark it up with Menu, MenuSection, and MenuItem schema
- Tag dietary-relevant dishes with suitableForDiet so vegetarian, vegan, and gluten-free queries can match them directly
- Run a genuine review-generation programme if average rating sits near or below the roughly 4.0 to 4.3 range AI engines appear to filter on
- Add FAQPage schema answering reservation policy, walk-in availability, and price-per-person questions directly
- Confirm GPTBot, ClaudeBot, and PerplexityBot are not blocked in robots.txt, a default some restaurant website builders ship with
Why market concentration is both a threat and an opportunity
AI share of voice in restaurant recommendations is unevenly distributed: research into category-level AI answers found the top three brands per category already capture 53.4% of total AI share of voice, meaning a handful of well-optimised or simply well-known incumbents currently absorb the majority of citations in any given cuisine or neighbourhood search. That concentration cuts both ways. It confirms the 83% invisibility figure is not a temporary quirk, most competitors genuinely have not done the structural work, but it also means an independent restaurant that gets Restaurant and Menu schema, dietary tagging, and review health right is competing against a small number of leaders rather than an entire saturated field, with real room to take a category the incumbents have not bothered to defend with structured data.
The groundwork mirrors other local AEO verticals: LocalBusiness schema and Google Business Profile signals cover the location and hours side of the equation, Review schema governs how rating and review data reaches a model in the first place, and FAQPage schema turns a reservations or dietary-options page into something a model can extract as a direct answer. Restaurants that publish a specific cuisine, a real linked menu with dietary tags, and a healthy, genuine review base are the ones AI assistants start citing directly, instead of defaulting to Yelp, TripAdvisor, or OpenTable every time a diner asks where to eat.
Run a free CiteRank audit on your restaurant's website to check for Restaurant and Menu schema, dietary tagging, and whether GPTBot and ClaudeBot can actually reach your menu and reservations pages.