Skip to content
SEWWA

Schema guides Industry

Schema generator for Restaurants

Common schema types for Restaurants

SEO tips

Example JSON-LD

{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Harbor Bistro",
"image": "https://example.com/harbor-bistro-exterior.jpg",
"url": "https://example.com/locations/harbor-bistro",
"telephone": "+1-207-555-0100",
"priceRange": "$$",
"servesCuisine": ["Seafood", "American"],
"acceptsReservations": "https://example.com/reserve",
"address": {
"@type": "PostalAddress",
"streetAddress": "42 Pier Road",
"addressLocality": "Portland",
"addressRegion": "ME",
"postalCode": "04101",
"addressCountry": "US"
},
"geo": { "@type": "GeoCoordinates", "latitude": "43.6591", "longitude": "-70.2568" },
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"opens": "17:00",
"closes": "22:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Sunday",
"opens": "11:00",
"closes": "15:00"
}
],
"hasMenu": "https://example.com/menu/harbor-bistro",
"menu": {
"@type": "Menu",
"hasMenuSection": [
{
"@type": "MenuSection",
"name": "Mains",
"hasMenuItem": [
{
"@type": "MenuItem",
"name": "Grilled Atlantic Salmon",
"description": "Citrus beurre blanc, seasonal vegetables.",
"offers": { "@type": "Offer", "price": "32.00", "priceCurrency": "USD" }
}
]
}
]
}
}

Overview

Restaurants live on local intent and menu clarity. LocalBusiness (or a food-specific subtype when accurate) should reflect your GBP-style NAP, hours, and reservation links. Menu markup maps to what diners actually see on the page—do not invent dishes or prices.

Pair with Review only when reviews are visible and policy-compliant, and FAQPage only for real FAQs on the page. SEWWA helps you ship consistent JSON-LD without duplicating plugins.

Try the free Schema Generator →