Schema.org for Restaurants: The Invisible Key to AI Visibility

Schema.org for Restaurants: The Invisible Key to AI Visibility

Schema.org is the machine-readable vocabulary behind AI recommendations. What restaurant owners need to know — without writing a single line of code.

Your website has a secret layer that guests never see. But ChatGPT, Gemini, and Google read it constantly. It is called Schema.org markup — and for most restaurants, it either does not exist or is dangerously incomplete.

This is not a technical curiosity. It is the deciding factor in whether AI systems recommend your restaurant or silently skip it when a potential guest asks: „Which restaurant near me has gluten-free dim sum?“

What Schema.org Actually Is

Schema.org is a shared vocabulary — a standardized dictionary that tells machines what the information on your website means, not just what it says.

It was created in 2011 as a joint initiative by Google, Microsoft, Yahoo, and Yandex. Today it is the lingua franca of the internet for structured data: over 30 million websites use it, and every major AI system — ChatGPT, Google Gemini, Perplexity — depends on it to understand what a website is actually about.

Think of it this way: a human reads your menu and immediately understands „Kung Pao Chicken, main course, €16.50, contains peanuts.“ An AI reads the same unstructured page and sees: character strings of unknown meaning. Is „peanuts“ a flavor note, an ingredient, or an allergen warning? Without Schema.org, the AI cannot say for certain.

With Schema.org JSON-LD markup embedded in your page, the AI reads: @type: MenuItem, name: "Kung Pao Chicken", price: 16.50, priceCurrency: EUR, containsAllergen: "peanuts", menuAddOn: false. Zero ambiguity. One hundred percent precision.

How AI Systems Use Schema.org to Recommend Restaurants

When a user asks ChatGPT „Which Frankfurt restaurants offer peanut-free Chinese food?“, the AI does not scroll through restaurant websites the way a human would. It queries structured data layers: Google Knowledge Graph entries (built from Schema.org), indexed JSON-LD blocks from crawled pages, and real-time data from connected sources like Google Business Profile.

Restaurants whose data is machine-readable get answered. Restaurants without structured data get skipped — not because of food quality, but because the AI has no way to verify the specific claim the user is making.

The three AI channels that depend on Schema.org the most:

Google AI Overviews now appear above classic search results for intent-driven queries like „restaurant with allergy options.“ These overviews are generated almost exclusively from Schema.org-structured sources. A restaurant without markup simply does not exist for these queries.

ChatGPT and Gemini use Schema.org data both from training and via live web search. When web search is enabled — which it is by default for restaurant queries — they retrieve and parse JSON-LD blocks directly from crawled pages.

Voice assistants (Siri, Google Assistant, Alexa) answer millions of restaurant queries daily. Their answers come almost entirely from Schema.org markup and Featured Snippets derived from structured data.

What Is AI Visibility? The full picture

The Restaurant-Specific Schema.org Properties That Matter

Most generic Schema.org tutorials focus on blog posts and products. Restaurants have a completely different set of relevant properties — and most guides do not cover them.

Here are the properties that determine AI visibility for restaurants:

@type: Restaurant — The foundation. This tells every AI system: this entity is a restaurant. Combined with name, address, telephone, openingHoursSpecification, and servesCuisine, it creates the basic knowledge graph entry that ChatGPT and Gemini use when a user asks for „a Chinese restaurant in Frankfurt.“

hasMenu + @type: Menu — Without this link, AI systems treat your dishes as unrelated text on a separate page. The hasMenu property connects your restaurant entity to its menu entity, making the entire structure traversable by crawlers. This is the bridge between „this is a restaurant“ and „this is what the restaurant serves.“

@type: MenuItem — Each dish needs its own MenuItem entity. The essential properties: name (in every language you serve), description, price, priceCurrency, image, and menuSection. Without individual MenuItem entities, your dishes are invisible to every AI system — they exist as human-readable text, not machine-readable facts.

containsAllergen — This is the property that determines whether you appear in the fastest-growing category of AI restaurant queries: allergen and dietary searches. The 14 EU-regulated allergens (gluten, peanuts, shellfish, tree nuts, sesame, etc.) need to be listed per dish using the containsAllergen property. A restaurant that has this data structured correctly can capture „peanut-free,“ „gluten-free,“ and „sesame-free“ queries that competitors without this markup entirely miss.

suitableForDiet — Dietary suitability flags (VeganDiet, VegetarianDiet, GlutenFreeDiet, HalalDiet) use a standardized Schema.org enumeration. When structured correctly, these allow AI systems to answer diet-specific queries („fully vegan restaurant near me“) with confidence — they are not guessing from text, they are reading declared facts.

NutritionInformation — Calories, protein, fat, carbohydrate values per dish. This property is increasingly used by AI systems to answer nutrition-specific queries („high-protein dishes under 500 calories“). It is also the signal that separates serious restaurant data from casual online presence.

How Google Business Profile amplifies Schema.org signals

The Gap: What Most Restaurant Websites Actually Have

In an audit of restaurant websites in major German cities, the pattern is consistent: most have either no structured data at all, or a basic Restaurant schema block that was auto-generated by a website builder and covers only the restaurant name, address, and phone number.

What is almost universally missing:

No MenuItem entities — the menu exists as a PDF or an image carousel, invisible to all AI systems. No containsAllergen data — allergen information is buried in PDF downloads or footnotes, not machine-readable. No multilingual schema — the restaurant exists only in one language in the AI’s world, invisible to speakers of other languages. No NutritionInformation — health-conscious and diet-specific queries return zero results for these restaurants.

The practical result: a competitor with complete Schema.org markup will appear in AI recommendations for dozens of specific queries where restaurants without markup are completely absent — regardless of how good the food is.

You Do Not Need to Write a Single Line of Code

The good news: implementing complete Schema.org markup manually is complex — but you do not have to do it manually.

chiwai generates restaurant-specific Schema.org JSON-LD automatically from your menu data. The workflow:

Step 1: You upload your menu — whether from a PDF, a photo, or by manually entering dishes. chiwai’s AI identifies each dish, its ingredients, allergens, and dietary properties.

Step 2: chiwai generates complete Schema.org JSON-LD for every dish: @type MenuItem, name in DE/EN/ZH, containsAllergen with EU-14 allergens, suitableForDiet flags, NutritionInformation from the German nutrient database BLS, and image data from your dish photos.

Step 3: The structured data is embedded in each dish page and synchronized to your Google Business Profile via the Food Menus API — which feeds directly into Google Gemini’s knowledge graph.

Step 4: When a new dish is added or a price changes, the Schema.org data updates automatically. No manual maintenance. No technical expertise required.

The result is a restaurant whose data is machine-readable across every AI channel — from ChatGPT to Gemini to voice assistants — in multiple languages, with complete allergen and dietary data.

How the Google Restaurants API transmits your menu data directly to Google

A Real-World Example: From PDF to AI-Visible in 60 Seconds

China Restaurant Yung in Frankfurt had been operating since 1988. Their online presence: a website in German only, with a PDF menu and no structured data. AI queries for „Chinese restaurant Frankfurt gluten-free“ returned zero results for them.

After digitizing their 191-dish menu through chiwai, every dish received a complete Schema.org MenuItem entity — with containsAllergen data for all EU-14 allergens, suitableForDiet flags for vegan and vegetarian dishes, multilingual names and descriptions in German, English, Chinese, Spanish, Turkish, and Arabic, and NutritionInformation from BLS data.

The Schema.org data was published on individual dish pages and synchronized to Google Business Profile. Within weeks, dish pages began generating search impressions from 39 countries — without a single euro of advertising spend. The structured data made the restaurant findable for queries that had previously returned no result at all.

Read the full case study →


FAQ

Does Schema.org markup affect traditional Google rankings?

Yes, significantly. Schema.org markup is one of the strongest signals for Rich Results in Google Search — the enhanced listings with star ratings, price ranges, opening hours, and dish images that appear above standard blue links. Rich Results require structured data. Additionally, Google uses Schema.org data to populate Knowledge Panels and Local Pack listings. A restaurant with complete markup occupies more visual space in search results and provides more specific signals for AI-generated summaries. It is both an AI visibility tool and a classical SEO tool simultaneously.

Is JSON-LD the only way to implement Schema.org?

There are three methods: JSON-LD (JavaScript Object Notation for Linked Data), Microdata, and RDFa. Google explicitly recommends JSON-LD because it is embedded in a script tag rather than mixed into the HTML, making it easier to maintain and update. All three methods work for Google’s structured data parser, but JSON-LD is the current standard and the format chiwai generates automatically for every dish page.

How often does Schema.org markup need to be updated?

Every time something changes: a new dish, a price change, a seasonal menu swap, an allergen update. This is the core maintenance challenge for restaurants managing Schema.org manually — the data becomes outdated and inaccurate, which is worse than having no structured data at all (Google penalizes inaccurate structured data). chiwai solves this by generating and updating Schema.org data automatically whenever your menu changes in the system. The structured data layer stays current without any manual work.

AI Visibility for Restaurants

Try chiwai free — complete AI visibility in 60 seconds.

Start for free