ToolsNestTOOLSNEST
Schema Markup Guide

Schema Markup for Restaurants: Structured Data That Earns Rich Results

The right schema markup can earn rich results — star ratings, opening hours, FAQ boxes, and product panels — that dramatically increase click-through rates. This guide shows exactly which schema types restaurants need and how to implement them.

Primary Schema Type: Restaurant (FoodEstablishment subtype)

Rich Results Available to Restaurants

Rich cards with menu, price range, and hours
Star ratings in search
Reservation booking button
Opening hours panel
Food menu in knowledge panel
Event rich results for special events

Schema Types for Restaurants

Restaurant

Primary schema. Enables the richest set of restaurant-specific attributes including cuisine, menu, price range, and reservations.

Required Properties
  • name
  • address
  • telephone
  • servesCuisine
Recommended Optional
  • menu
  • hasMenu
  • reservations
  • openingHours
  • priceRange

Menu + MenuItem

Allows Google to understand your menu items, prices, and dietary options. Can appear in knowledge panel.

Required Properties
  • name (menu section)
Recommended Optional
  • description
  • offers (price)
  • suitableForDiet

Event

For recurring specials, live music nights, holiday menus — can appear as rich results in search.

Required Properties
  • name
  • startDate
  • location
Recommended Optional
  • description
  • offers
  • performer

Restaurant Schema with Menu

JSON-LD — paste in <head> of your pageapplication/ld+json
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Roma Trattoria",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "456 5th Ave",
    "addressLocality": "Brooklyn",
    "addressRegion": "NY",
    "postalCode": "11215"
  },
  "telephone": "+1-718-555-0300",
  "servesCuisine": "Italian",
  "priceRange": "$$",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
      "opens": "17:00",
      "closes": "23:00"
    }
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "892"
  },
  "hasMenu": "https://romatrattoria.com/menu"
}

Test your schema at: search.google.com/test/rich-results before publishing.

Schema Markup Mistakes Restaurants Make

Using FoodEstablishment instead of Restaurant (less specific)

No menu schema despite having a digital menu page

Missing servesCuisine property (key for cuisine-type searches)

Incorrect price range format (should use $ symbols, not numbers)

Not implementing Event schema for recurring special events

More Restaurants SEO Guides

Schema Markup FAQs for Restaurants

Verify Your Schema Implementation

Run a free audit to find schema errors before Google penalizes them.

Free SEO Audit