Technical & Structure · 9 min read · July 15, 2026
Making your menu readable for AI: how ChatGPT finds your dishes and diet options
When a guest asks ChatGPT "Where can I get gluten-free pasta in the evening in Kitzbuhel?", it's not your Google ranking that decides, but whether the AI can read your menu at all. If it's only online as a PDF or an image graphic, it's invisible to the machine. This guide shows you how to prepare dishes, prices and diet options so that AI systems find you and actively recommend you.
Why your beautiful PDF menu doesn't exist for the AI
Almost every restaurant today has a menu online. The problem: in the vast majority of cases it's a PDF to download or a pretty image the designer created. For your guests that looks good. For ChatGPT, Google Gemini or Perplexity it's a closed door. An image is, for the machine, just a surface of pixels; a PDF often isn't even crawled in the first place. Your beef roulade with bread dumpling for 24.50 euros then simply doesn't exist in the AI's knowledge.
This is the decisive difference between classic SEO and Generative Engine Optimization (GEO). With Google a PDF at least still has a chance of being indexed. An AI assistant, by contrast, needs clean, structured text it can understand sentence by sentence. When the guest asks 'Which restaurant in the old town has vegan main dishes under 20 euros?', the AI searches through text blocks, not image files and not design artworks.
The first and most important step is therefore unspectacular but effective: your complete menu has to stand as real, readable text on your website. Not as an embedded image, not as a pure download link, but as HTML text you can select with the mouse. Do the test: if you can't select and copy your dishes on the website with the cursor, the AI can't read them either.
Writing out diet options instead of hiding them in symbols
In gastronomy, working with small symbols and footnotes has become established: a leaf for vegetarian, a crossed-out ear-of-grain symbol for gluten-free, superscript numbers for allergens. On paper that's elegant and space-saving. For the AI it's a catastrophe, because it recognizes neither the ear-of-grain icon nor understands that the letter 'G' behind the dish means 'contains gluten.' The diet information gets completely lost.
Instead, write out in plain text what's what. Instead of 'vegetable curry (v, gf),' you write: 'Vegetable curry with coconut milk and basmati rice. Vegan and gluten-free.' That costs you two seconds more, but this very sentence is the one the AI quotes when someone searches for vegan options. Add honest notes where useful, like 'can be prepared lactose-free on request' or 'can be ordered gluten-free.' The AI gladly picks up such phrasings.
Think in the real search terms of your guests. People ask for 'gluten-free,' 'without wheat,' 'suitable for celiac disease,' 'vegan,' 'without animal products,' 'lactose-free,' 'low carb' or 'keto.' The more of these natural terms actually appear as words in your text, the more reliably the AI recognizes your offering. A single icon covers none of these search terms.
Structured data: the language machines really understand
There's a technical standard that's made for restaurants: Schema.org, concretely the types 'Menu,' 'MenuItem' and 'Restaurant.' That's invisible code in the background of your website that provides each dish with clear labels: this is the name, this is the description, this is the price, these are the diet properties. Google and the AI systems love this structure, because they don't have to make assumptions but get the facts served cleanly.
In the Menu schema there's even a dedicated field called 'suitableForDiet.' There you can record, with standardized values like 'VeganDiet,' 'GlutenFreeDiet' or 'LowLactoseDiet,' which diet a dish is suitable for. If your website builder or your agency implements this, you have a real edge over the inn two streets away that only uploaded a PDF. Ask your web maintainer specifically about it.
What matters here is consistency: prices, opening hours and dishes in the schema code have to match exactly what the guest sees as visible text. If the two contradict each other, the AI becomes suspicious and, in case of doubt, discards the whole information. So always maintain both in parallel and update the code when you change the menu.
Descriptions that answer questions instead of just naming
Many menus consist of terse namings: 'Wiener Schnitzel 18.90.' For the regular that's enough, for the AI it's thin. Assistant systems prefer dishes they can describe, because they then deliver a real answer to the user. So write an explanatory sentence to go with it: 'Wiener Schnitzel of veal, fried in clarified butter, with parsley potatoes and lingonberries. A portion for a big appetite.' A single line becomes usable knowledge.
Good descriptions answer the silent questions of guests: where does the meat come from? Is it spicy? How big is the portion? Is it suitable for sharing? If you name regional origin, preparation method and typical sides, you give the AI exactly the details it can use to set your establishment apart from others. 'Trout from our own pond' beats any anonymous 'fish dish.'
Still, pay attention to honesty. Don't invent awards and organic seals you don't have. AI systems increasingly reconcile details with other sources, and false statements can harm your visibility long-term. Authentic, concrete descriptions come across as more credible than inflated superlatives like 'the best schnitzel in town.'
Opening hours, reservation and context around the meal
The question 'Where can I eat tonight?' is not a pure menu question. The AI also wants to know whether you're even open, whether you have to reserve and whether you fit the guest's situation. That's why an AI-readable menu always also includes current opening hours in plain text, a note on reservation and details on context like 'terrace,' 'child-friendly,' 'groups up to 20 people' or 'quiet corner for business meals.'
Think of typical compound queries from your industry: 'restaurant with terrace and vegan options,' 'venue for a family celebration with menus for children,' 'where can I get hot food on Sundays until 10 p.m.' Each of these questions combines food with context. If your text covers these combinations, you get recommended for exactly these very purchase-ready queries. Keep especially the Sunday and holiday hours current.
Don't forget consistency across all channels. Your opening hours on the website, in the Google Business Profile, on TripAdvisor and in reservation portals should match. Contradictory hours are a frequent reason why AI systems become uncertain and prefer to name another establishment whose details are unambiguous.
Google Business Profile and reviews as amplifiers
AI assistants draw their knowledge about your restaurant not only from your website. They rely strongly on your Google Business Profile, on review platforms and on mentions in blogs or press. A well-maintained Google profile with the correct category, current photos, a stored menu and answered reviews is therefore a direct lever for your AI visibility. It's the second menu the machine reads.
Reviews are worth their weight in gold here, because guests use in natural language exactly the terms others search for. When several reviews say 'super vegan selection' or 'finally gluten-free pizza,' that anchors your offering in the AI's knowledge far more credibly than any self-promotion. Feel free to actively ask satisfied guests for an honest review and mention the occasion of their visit.
Also respond to reviews, especially critical ones. When you write in a response 'Thanks for the tip, our menu now offers three purely plant-based main dishes,' you produce additional, current text with exactly the right keywords. These dialogues are read along and contribute to your profile.
Frequent mistakes that make you invisible to the AI
The classic is the pure image or PDF menu without a text alternative. Almost as harmful are menus hidden in Flash-like sliders, in third-party JavaScript widgets or behind a 'load menu' button a crawler never clicks. If the content only appears after a user action, the AI often sees only an empty page. Check whether your dishes are directly present in the source code of the page.
A second frequent mistake is the outdated menu. Nothing frustrates a guest more than when the AI recommends a dish you haven't had in a year, or names a price that has long since risen. Outdated details undermine trust in your recommendation. Adopt a fixed routine: with every menu change, the website is updated too, not weeks later.
The third mistake is contradictory information across several channels. On the website 24.50 euros, on Lieferando 27 euros, in the reservation portal completely different opening hours. Such contradictions confuse not only guests but also make the AI waver between the sources. In case of doubt it then prefers to recommend an establishment with clear, uniform data.
Your roadmap: becoming AI-readable in five steps
Start with the most important thing: convert your PDF or image menu into real website text. Each dish with name, honest description and price as selectable text. That alone puts you ahead of most competitors who never take this step. After that you add the diet details in plain text to each dish, written out instead of as a symbol.
In the third step you have your website equipped with Schema.org data for menu and restaurant, ask your agency or check whether your builder offers it. Fourth, you bring your Google Business Profile up to the same state: same menu, same hours, same prices. And fifth, you establish an update routine so everything stays current when the menu changes.
The beautiful part: almost everything that makes your menu AI-readable also helps your human guests. Clear descriptions, honest diet details and current prices build trust with both target groups. So you're not optimizing for cold machines, you're simply making your hospitality visible everywhere people search today for their next meal.
Common questions
Isn't it enough if my menu is on the website as a PDF?
No. PDFs are often not read out by AI systems at all, and image graphics are invisible to the machine. Your dishes have to stand as real, selectable HTML text on the website. Do the test: can you select and copy a dish with the cursor? If not, the AI can't read it either and can't recommend you for corresponding queries.
How do I make gluten-free and vegan dishes recognizable for ChatGPT?
Write out the diet properties in plain text instead of hiding them in symbols or footnotes. So 'vegetable curry, vegan and gluten-free' instead of 'vegetable curry (v, gf).' Use the real search terms of your guests like 'gluten-free,' 'without wheat,' 'vegan' or 'lactose-free.' Ideally, add the Schema.org field 'suitableForDiet' in the background code of your website.
Do I need technical skills or have to hire an agency for this?
The most important step, getting dishes onto the website as real text with description and diet details, you can manage yourself in most website builders. For the structured Schema.org data, a short job to your web maintainer often helps. Maintaining the Google Business Profile and answering reviews only costs time, not technical knowledge, and works immediately.
Read on