FoodEstablishment Schema Markup für Restaurant und Café
Schema Markup

FoodEstablishment Schema Markup: Restaurant, Café und Bäckerei für Google optimieren

Shift07 Team
24. April 2026
13 Min. Lesezeit
Schema Markup

„Restaurant in meiner Nähe", „Café Hamburg Eimsbüttel" oder „Italiener mit Lieferservice Berlin" — solche Suchanfragen werden täglich millionenfach gestellt. Google zeigt bei lokaler Gastronomie-Suche immer häufiger strukturierte Informationen direkt im Suchergebnis: Öffnungszeiten, Bewertungen, Preisklassen, Küchenstil und sogar Reservierungsoptionen. Der Schlüssel dazu ist FoodEstablishment Schema Markup.

Dieser Artikel erklärt, welche Sub-Typen es unter FoodEstablishment gibt, welche Properties für Restaurants, Cafés und Bäckereien besonders wichtig sind, und zeigt vollständige JSON-LD-Beispiele, die du direkt einsetzen kannst.

Was ist FoodEstablishment?

FoodEstablishment ist ein Schema.org-Typ, der von LocalBusiness erbt und Gastronomiebetriebe beschreibt — Orte, an denen Lebensmittel oder Getränke konsumiert werden können. Als Untertyp von LocalBusiness erbt er alle Standard-Properties wie name, address, telephone und openingHours.

Zusätzlich stellt FoodEstablishment spezifische Properties bereit, die für Gastronomie besonders relevant sind: servesCuisine für den Küchenstil, hasMenu für den Speisekarten-Link, acceptsReservations für die Reservierungsmöglichkeit und starRating für offizielle Hotel- oder Restaurant-Sterne.

Sub-Typen von FoodEstablishment

Schema.org bietet mehrere spezialisierte Untertypen, die du bevorzugt gegenüber dem allgemeinen FoodEstablishment verwenden solltest:

  • Restaurant — Vollständiges Restaurant mit Küche und Servicebetrieb
  • Cafe — Café, Bistro, Coffee Shop
  • Bakery — Bäckerei, Konditorei
  • BarOrPub — Bar, Pub, Kneipe
  • FastFoodRestaurant — Fast-Food-Restaurant
  • IceCreamShop — Eiscafé, Eisdiele
  • WineryOrVineyard — Weingut, Weinkellerei mit Verkauf
  • Brewery — Brauerei mit Gastronomiebereich

Für Imbisse, Dönerläden, Sushi-Takeaways oder andere Betriebe, die keinem Sub-Typ entsprechen, verwende den allgemeinen Typ FoodEstablishment.

Die wichtigsten Properties für Gastronomie

Gastronomie-spezifische Properties

  • servesCuisine — Der Küchenstil als Text (z.B. "Italienisch", "Griechisch", "Deutsch"). Mehrere Küchenstile sind als Array möglich.
  • hasMenu — URL zur Speisekarte (entweder als direkter URL-String oder als Menu-Objekt)
  • acceptsReservations — Reservierungen möglich? (true/false oder URL zum Buchungssystem)
  • menu — Synonym zu hasMenu (beide werden akzeptiert)
  • priceRange — Preisklasse als Text (z.B. "€", "€€", "€€€")
  • starRating — Offizielle Hotel-/Restaurantsterne als Rating-Objekt

Von LocalBusiness geerbte wichtige Properties

  • name, address, telephone, url — Basis-Informationen
  • openingHoursSpecification — Öffnungszeiten inklusive Sonderzeiten
  • geo — GPS-Koordinaten für lokale Suche
  • aggregateRating — Kundenbewertungen
  • image — Foto des Lokals
  • paymentAccepted — Akzeptierte Zahlungsmittel (z.B. "Cash, Credit Card")
  • currenciesAccepted — Akzeptierte Währungen

Vollständiges JSON-LD-Beispiel: Restaurant

Hier ist ein vollständiges Markup für ein Restaurant. Entscheidend sind die gastronomie-spezifischen Properties servesCuisine, hasMenu und acceptsReservations:

{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Trattoria da Marco",
  "description": "Authentisches italienisches Restaurant in Hamburg-Eppendorf. Hausgemachte Pasta, Pizzen aus dem Holzofen und umfangreiche Weinkarte.",
  "url": "https://trattoria-da-marco.de",
  "telephone": "+49 40 98765432",
  "email": "info@trattoria-da-marco.de",
  "priceRange": "€€",
  "image": "https://trattoria-da-marco.de/images/restaurant.jpg",
  "servesCuisine": ["Italienisch", "Pizza", "Pasta"],
  "hasMenu": "https://trattoria-da-marco.de/speisekarte",
  "acceptsReservations": "https://trattoria-da-marco.de/reservierung",
  "paymentAccepted": "Barzahlung, Kreditkarte, EC-Karte",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Eppendorfer Baum 12",
    "addressLocality": "Hamburg",
    "addressRegion": "HH",
    "postalCode": "20249",
    "addressCountry": "DE"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 53.5872,
    "longitude": 9.9871
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Tuesday","Wednesday","Thursday"],
      "opens": "12:00",
      "closes": "22:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Friday","Saturday"],
      "opens": "12:00",
      "closes": "23:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Sunday"],
      "opens": "12:00",
      "closes": "21:00"
    }
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "312",
    "bestRating": "5",
    "worstRating": "1"
  },
  "amenityFeature": [
    {
      "@type": "LocationFeatureSpecification",
      "name": "Terrasse",
      "value": true
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "Barrierefreiheit",
      "value": true
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "Vegetarische Optionen",
      "value": true
    }
  ],
  "sameAs": [
    "https://maps.google.com/?cid=12345678",
    "https://www.instagram.com/trattoria.da.marco.hh"
  ]
}

Vollständiges JSON-LD-Beispiel: Café

Für ein Café empfiehlt sich der Sub-Typ Cafe. Cafés haben oft kürzere Öffnungszeiten und bieten möglicherweise auch Speisen an — beides sollte im Markup abgebildet sein:

{
  "@context": "https://schema.org",
  "@type": "Cafe",
  "name": "Mauerwerk Café Berlin",
  "description": "Gemütliches Café in Kreuzberg mit Spezialitätenkaffee, hausgemachtem Kuchen und Frühstück bis 14 Uhr.",
  "url": "https://mauerwerk-cafe.de",
  "telephone": "+49 30 11223344",
  "priceRange": "€",
  "image": "https://mauerwerk-cafe.de/bilder/cafe.jpg",
  "servesCuisine": ["Kaffee", "Frühstück", "Kuchen"],
  "hasMenu": "https://mauerwerk-cafe.de/karte",
  "acceptsReservations": false,
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Oranienstraße 55",
    "addressLocality": "Berlin",
    "addressRegion": "BE",
    "postalCode": "10969",
    "addressCountry": "DE"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 52.4990,
    "longitude": 13.4175
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
      "opens": "08:00",
      "closes": "18:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday","Sunday"],
      "opens": "09:00",
      "closes": "17:00"
    }
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "reviewCount": "187",
    "bestRating": "5",
    "worstRating": "1"
  }
}

Vollständiges JSON-LD-Beispiel: Bäckerei

Bäckereien öffnen oft sehr früh und schließen nachmittags. Der Sub-Typ Bakery signalisiert Google den spezifischen Betriebstyp:

{
  "@context": "https://schema.org",
  "@type": "Bakery",
  "name": "Bäckerei Sonnenblume",
  "description": "Traditionelle Bäckerei in München mit täglich frisch gebackenem Brot, Brötchen, Torten und Café-Bereich.",
  "url": "https://baeckerei-sonnenblume.de",
  "telephone": "+49 89 55443322",
  "priceRange": "€",
  "image": "https://baeckerei-sonnenblume.de/bilder/laden.jpg",
  "servesCuisine": ["Bäckerei", "Café"],
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Dachauer Straße 78",
    "addressLocality": "München",
    "addressRegion": "BY",
    "postalCode": "80335",
    "addressCountry": "DE"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 48.1508,
    "longitude": 11.5553
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
      "opens": "06:00",
      "closes": "18:30"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday"],
      "opens": "06:00",
      "closes": "14:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Sunday"],
      "opens": "07:00",
      "closes": "12:00"
    }
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "94",
    "bestRating": "5",
    "worstRating": "1"
  }
}

servesCuisine: Den Küchenstil richtig angeben

Die servesCuisine-Property ist eine der wichtigsten gastronomie-spezifischen Angaben. Sie hilft Google, dein Restaurant bei relevanten Suchanfragen zu zeigen — etwa wenn jemand nach „Griechisches Restaurant Frankfurt" sucht.

Du kannst einen einzelnen Küchenstil oder mehrere als Array angeben:

// Einzeln:
"servesCuisine": "Griechisch"

// Mehrere:
"servesCuisine": ["Griechisch", "Mediterran", "Vegetarisch"]

Verwende natürliche, beschreibende Begriffe — so wie Nutzer danach suchen würden. Gängige Küchenstile in Deutschland:

  • Deutsch, Bayerisch, Schwäbisch, Sächsisch
  • Italienisch, Pizza, Pasta
  • Griechisch, Mediterran, Türkisch
  • Asiatisch, Chinesisch, Japanisch, Thailändisch, Vietnamesisch
  • Indisch, Mexikanisch, Amerikanisch
  • Vegetarisch, Vegan, Glutenfrei
  • Frühstück, Brunch, Café, Kuchen

hasMenu und acceptsReservations: Die zwei unterschätzten Properties

hasMenu

Die hasMenu-Property akzeptiert entweder eine direkte URL zur Speisekarte oder ein strukturiertes Menu-Objekt. Für die meisten Restaurants reicht die URL aus:

"hasMenu": "https://mein-restaurant.de/speisekarte"

Wenn du eine sehr detaillierte Speisekarte in strukturierter Form einbinden möchtest, kannst du das Menu-Schema nutzen — das ist jedoch deutlich aufwändiger und lohnt sich vor allem für Chains oder Restaurants mit großem digitalem Fokus.

acceptsReservations

Diese Property akzeptiert drei Formen:

  • true — Reservierungen möglich (ohne Online-Buchung)
  • false — Keine Reservierungen möglich
  • "https://..." — URL zum Reservierungssystem (z.B. OpenTable, Resy, eigenes System)

Die URL-Variante ist besonders wertvoll, weil Google daraus direkt einen Reservierungs-Button im Suchergebnis generieren kann. Das erhöht die Interaktionsrate signifikant — potenziellen Gästen wird die Reservierung direkt aus den Suchergebnissen ermöglicht.

Öffnungszeiten für Gastronomie

Gastronomie hat oft komplexe Öffnungszeiten: Mittagspause, unterschiedliche Zeiten an Wochentagen und Wochenenden, Ruhetage. Dafür eignet sich openingHoursSpecification besonders, weil es mehrere Zeitblöcke pro Tag unterstützt.

Beispiel für ein Restaurant mit Mittagspause:

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Tuesday","Wednesday","Thursday","Friday"],
    "opens": "11:30",
    "closes": "14:30"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Tuesday","Wednesday","Thursday"],
    "opens": "17:30",
    "closes": "22:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Friday","Saturday"],
    "opens": "17:30",
    "closes": "23:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Sunday"],
    "opens": "11:30",
    "closes": "21:00"
  }
]

Ausführlicher erklärt unser Artikel zu OpeningHoursSpecification Schema Markup.

Sonderangebote und Events einbinden

Restaurants veranstalten oft Events wie Themenabende, Live-Musik oder Brunch-Specials. Diese können mit dem Event-Schema als eigenes Markup eingebunden werden — entweder auf einer separaten Event-Seite oder inline als event-Property des Restaurants:

{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Trattoria da Marco",
  ...
  "event": {
    "@type": "FoodEvent",
    "name": "Pizza-Backkurs mit Chefkoch Marco",
    "startDate": "2026-05-15T18:00:00+02:00",
    "endDate": "2026-05-15T21:00:00+02:00",
    "location": {
      "@type": "Restaurant",
      "name": "Trattoria da Marco",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Hamburg",
        "addressCountry": "DE"
      }
    },
    "offers": {
      "@type": "Offer",
      "price": "45",
      "priceCurrency": "EUR",
      "url": "https://trattoria-da-marco.de/events/pizza-kurs"
    }
  }
}

Der Sub-Typ FoodEvent ist dabei spezifischer als das allgemeine Event und signalisiert Google den kulinarischen Kontext.

Restaurant und lokale SEO: Der Zusammenhang

Schema Markup ist wichtig, aber kein Ersatz für eine solide lokale SEO-Strategie. Für Restaurants gilt:

  • Google My Business ist der wichtigste Kanal für lokale Sichtbarkeit — gepflegtes Profil mit Fotos, Antworten auf Bewertungen und aktuellen Informationen
  • NAP-Konsistenz sicherstellen: Name, Adresse und Telefon müssen auf Website, Google My Business und allen anderen Plattformen identisch sein — mehr dazu in unserem NAP-Konsistenz-Artikel
  • Bewertungen sammeln — Gastronomie lebt von Empfehlungen; aktiv um Bewertungen bitten und auf alle antworten
  • Lokale Keywords im Content verwenden: „Italiner Eppendorf", „veganes Restaurant Berlin Mitte"

Die Kombination aus vollständigem Schema-Markup, gepflegtem Google My Business Profil und echten Kundenbewertungen ist die stärkste lokale SEO-Strategie für Gastronomiebetriebe.

Häufige Fehler bei FoodEstablishment Markup

1. Bewertungen von Google Maps direkt übernehmen

Google Maps-Bewertungen dürfen nicht als aggregateRating ins Markup übernommen werden. Google erlaubt nur Bewertungen, die auf der eigenen Website gesammelt werden. Wer trotzdem Google-Ratings einbindet, riskiert eine manuelle Penalty.

2. Falschen Typ verwenden

Ein Fast-Food-Imbiss sollte FastFoodRestaurant verwenden, kein allgemeines Restaurant. Präzision beim Typ-Auswahl signalisiert Google Vertrauenswürdigkeit.

3. Öffnungszeiten nicht pflegen

Veraltete Öffnungszeiten im Markup — etwa wenn Feiertage nicht berücksichtigt werden — können zu negativen Nutzererfahrungen führen. Aktualisiere das Markup nach Saisonwechseln oder Urlaubsschließungen.

4. Keine mobilen Ansichten testen

Gastronomie-Suchen finden überwiegend auf dem Smartphone statt. Stelle sicher, dass deine Website mobile-freundlich ist — das beeinflusst das Ranking direkt.

Checkliste: FoodEstablishment Schema Markup

  • Richtigen Sub-Typ gewählt (Restaurant, Cafe, Bakery, BarOrPub, FastFoodRestaurant etc.)?
  • servesCuisine mit treffenden Küchenstilen angegeben?
  • hasMenu mit Link zur Speisekarte gesetzt?
  • acceptsReservations korrekt (true/false/URL)?
  • priceRange mit €-Symbolen angegeben?
  • address und geo vollständig und korrekt?
  • openingHoursSpecification für alle Wochentage und Mittagspausen?
  • paymentAccepted wenn relevant?
  • aggregateRating nur wenn eigene Bewertungen vorhanden?
  • Markup mit Google Rich Results Test validiert?
  • Konsistenz zwischen sichtbarem Inhalt und Markup geprüft?

Fazit

FoodEstablishment Schema Markup ist für jeden Gastronomiebetrieb mit eigener Website unverzichtbar. Die gastronomie-spezifischen Properties wie servesCuisine, hasMenu und acceptsReservations gehen über das Standard-LocalBusiness-Markup hinaus und ermöglichen direkte Interaktionen aus den Suchergebnissen.

Setze das Markup korrekt um, validiere es vor der Veröffentlichung, und pflege es regelmäßig — dann wird dein Restaurant, Café oder deine Bäckerei mit strukturierten Informationen in den Suchergebnissen erscheinen und mehr Klicks, Reservierungen und Gäste gewinnen.

Nutze unsere kostenlose SEO-Analyse auf shift07.ai, um herauszufinden, welche weiteren SEO-Verbesserungen deine Gastronomiewebsite noch braucht.

Teste deine Website jetzt kostenlos

Erhalte eine vollständige SEO-Analyse mit konkreten Verbesserungsvorschlägen.

Analyse starten