Restaurant websites have unique opportunities with schema markup. From displaying menus and hours to enabling reservations, proper structured data can drive more customers through your doors.
Essential Schema Types for Restaurants
Restaurant Schema
The primary type for restaurant websites:
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Mario's Italian Kitchen",
"description": "Authentic Italian cuisine featuring handmade pasta and wood-fired pizzas in a cozy family atmosphere.",
"image": [
"https://example.com/photos/restaurant-interior.jpg",
"https://example.com/photos/signature-dish.jpg"
],
"url": "https://mariositalian.com",
"telephone": "+1-555-123-4567",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "Chicago",
"addressRegion": "IL",
"postalCode": "60601",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 41.8781,
"longitude": -87.6298
},
"servesCuisine": "Italian",
"priceRange": "$$",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"],
"opens": "11:00",
"closes": "22:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Friday", "Saturday"],
"opens": "11:00",
"closes": "23:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Sunday",
"opens": "12:00",
"closes": "21:00"
}
],
"acceptsReservations": true,
"menu": "https://mariositalian.com/menu"
}
Restaurant Types
Use specific types when applicable:
Restaurant- General restaurantsFastFoodRestaurant- Quick serviceCafeOrCoffeeShop- Coffee shopsBarOrPub- Bars and pubsBakery- BakeriesIceCreamShop- Ice cream shopsWinery- Wineries
{
"@type": "CafeOrCoffeeShop",
"name": "Morning Brew Cafe",
"servesCuisine": ["Coffee", "Breakfast"]
}
Menu Schema
Basic Menu Link
{
"@type": "Restaurant",
"name": "Restaurant Name",
"menu": "https://example.com/menu",
"hasMenu": {
"@type": "Menu",
"url": "https://example.com/menu"
}
}
Detailed Menu with Sections
{
"@type": "Restaurant",
"name": "Mario's Italian Kitchen",
"hasMenu": {
"@type": "Menu",
"name": "Dinner Menu",
"hasMenuSection": [
{
"@type": "MenuSection",
"name": "Appetizers",
"hasMenuItem": [
{
"@type": "MenuItem",
"name": "Bruschetta",
"description": "Toasted bread with fresh tomatoes, basil, and olive oil",
"offers": {
"@type": "Offer",
"price": 9.99,
"priceCurrency": "USD"
}
},
{
"@type": "MenuItem",
"name": "Calamari Fritti",
"description": "Crispy fried calamari with marinara sauce",
"offers": {
"@type": "Offer",
"price": 14.99,
"priceCurrency": "USD"
}
}
]
},
{
"@type": "MenuSection",
"name": "Pasta",
"hasMenuItem": [
{
"@type": "MenuItem",
"name": "Spaghetti Carbonara",
"description": "Traditional carbonara with pancetta and egg",
"offers": {
"@type": "Offer",
"price": 18.99,
"priceCurrency": "USD"
}
}
]
}
]
}
}
Reservation Integration
Reserve Action
{
"@type": "Restaurant",
"name": "Mario's Italian Kitchen",
"potentialAction": {
"@type": "ReserveAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://mariositalian.com/reservations",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform"
]
},
"result": {
"@type": "FoodEstablishmentReservation",
"name": "Table Reservation"
}
}
}
Third-Party Reservations
{
"@type": "Restaurant",
"acceptsReservations": true,
"potentialAction": {
"@type": "ReserveAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://www.opentable.com/mario-italian-kitchen"
}
}
}
Online Ordering
{
"@type": "Restaurant",
"name": "Mario's Italian Kitchen",
"potentialAction": {
"@type": "OrderAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://mariositalian.com/order-online",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform"
]
},
"deliveryMethod": ["http://purl.org/goodrelations/v1#DeliveryModeOwnFleet"]
}
}
Reviews and Ratings
{
"@type": "Restaurant",
"name": "Mario's Italian Kitchen",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.6,
"reviewCount": 387,
"bestRating": 5,
"worstRating": 1
},
"review": [
{
"@type": "Review",
"reviewRating": {
"@type": "Rating",
"ratingValue": 5
},
"author": {
"@type": "Person",
"name": "Food Lover"
},
"datePublished": "2025-01-10",
"reviewBody": "Best Italian food in the city! The homemade pasta is incredible."
}
]
}
Important: Only include genuine customer reviews.
Service Options
{
"@type": "Restaurant",
"name": "Mario's Italian Kitchen",
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Services",
"itemListElement": [
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Dine-In"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Takeout"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Delivery"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Catering"
}
}
]
}
}
Payment and Amenities
{
"@type": "Restaurant",
"paymentAccepted": ["Cash", "Credit Card", "Apple Pay", "Google Pay"],
"currenciesAccepted": "USD",
"amenityFeature": [
{
"@type": "LocationFeatureSpecification",
"name": "Outdoor Seating",
"value": true
},
{
"@type": "LocationFeatureSpecification",
"name": "Wheelchair Accessible",
"value": true
},
{
"@type": "LocationFeatureSpecification",
"name": "Free WiFi",
"value": true
},
{
"@type": "LocationFeatureSpecification",
"name": "Private Dining Room",
"value": true
}
]
}
FAQ for Restaurants
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Do you take reservations?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, we accept reservations for parties of any size. You can book online at our website or call us at 555-123-4567."
}
},
{
"@type": "Question",
"name": "Do you have vegetarian options?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Absolutely! We have a wide variety of vegetarian dishes including our famous eggplant parmesan and several pasta options with fresh vegetables."
}
},
{
"@type": "Question",
"name": "Is there parking available?",
"acceptedAnswer": {
"@type": "Answer",
"text": "We have a private parking lot behind the restaurant with 30 spaces. Street parking is also available on Main Street."
}
}
]
}
Event Schema for Special Events
For wine dinners, live music, etc.:
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Italian Wine Tasting Dinner",
"description": "Five-course dinner paired with premium Italian wines",
"startDate": "2025-02-14T19:00:00-06:00",
"endDate": "2025-02-14T22:00:00-06:00",
"location": {
"@type": "Restaurant",
"name": "Mario's Italian Kitchen",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "Chicago"
}
},
"offers": {
"@type": "Offer",
"price": 125,
"priceCurrency": "USD",
"availability": "https://schema.org/LimitedAvailability"
}
}
Multiple Locations
For restaurant chains:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Mario's Italian Kitchen",
"url": "https://mariositalian.com",
"location": [
{
"@type": "Restaurant",
"name": "Mario's Italian Kitchen - Downtown",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "Chicago"
}
},
{
"@type": "Restaurant",
"name": "Mario's Italian Kitchen - Suburbs",
"address": {
"@type": "PostalAddress",
"streetAddress": "456 Oak Avenue",
"addressLocality": "Naperville"
}
}
]
}
Best Practices
- Accurate Hours - Update for holidays and special hours
- Current Menu - Keep menu and prices updated
- Real Reviews - Only genuine customer feedback
- Quality Photos - Appetizing food and venue images
- Complete Address - Include geo coordinates
- Cuisine Types - Be specific about what you serve
Generate Restaurant Schema
Use our JSON-LD Schema Generator for restaurants:
- Local Business Schema - Restaurant base
- FAQ Schema - Common questions
- Event Schema - Special events
- Review Schema - Customer reviews
Conclusion
Restaurant schema helps you stand out in local search, display menu information, and enable reservations directly from search results. The more complete your structured data, the more ways Google can feature your restaurant.
Focus on accurate business information, current menus and hours, and genuine customer reviews. Keep everything updated, especially when hours change for holidays.
Need help with your restaurant’s local SEO? I can help you implement comprehensive schema and improve your visibility in local search. Get in touch for a consultation.