Home

>

Blog

>

Restaurant Schema Markup Guide + JSON-LD | RichMenu

Restaurant Schema Markup Guide + JSON-LD | RichMenu

Restaurant schema markup is structured data—usually published as JSON-LD—that identifies a restaurant and describes its important business information in a machine-readable format.

Using the Restaurant subtype of LocalBusiness, a website can provide search engines with accurate details such as the restaurant’s name, address, telephone number, geographic coordinates, cuisine, opening hours, images and menu URL.

Correct structured data can help Google understand a restaurant and make its pages eligible for supported search features. It does not guarantee higher rankings, review stars or inclusion in AI-generated recommendations.

This guide explains the restaurant schema properties Google supports, provides a practical JSON-LD example and shows how to validate the implementation.

What Schema Markup Is and Why Restaurants Need It

Schema markup adds explicit labels to information already published on a website.

A visitor sees a restaurant’s address, hours, cuisine and menu as normal page content. Structured data identifies those same details using standardized properties such as address, openingHoursSpecification, servesCuisine and menu.

This helps search engines distinguish the restaurant’s identity and operating information without relying entirely on interpretation of the page text.

Restaurant schema is particularly useful for:

  • Identifying each restaurant location as a distinct entity
  • Publishing accurate addresses, telephone numbers and coordinates
  • Connecting locations with their corresponding menus
  • Describing cuisine, price range and operating hours
  • Connecting the website with recognized business and social profiles
  • Keeping machine-readable information aligned with visible website content

Google recommends using the most specific applicable LocalBusiness subtype. For restaurants, that subtype is Restaurant.

Schema supports understanding and eligibility for applicable search features. It does not guarantee rankings, Google Maps placement, review stars or AI recommendations.

Source: Google Local Business Structured Data

The Restaurant Schema Foundation

For Google Search, use one Restaurant entity for each physical location. Because Restaurant is already a subtype of LocalBusiness, a separate generic LocalBusiness entity is usually unnecessary.

1. Restaurant Identity and Location

Include accurate, current information for:

  • @context
  • @type: Restaurant
  • A stable @id
  • name
  • url
  • image
  • telephone
  • address
  • geo
  • openingHoursSpecification
  • priceRange
  • servesCuisine
  • menu
  • sameAs links to official profiles

The structured data must match information visible on the website.

2. One Restaurant Entity per Location

Every restaurant location should have its own location page and Restaurant entity with a unique:

  • @id
  • URL
  • Address
  • Telephone number
  • Geographic coordinates
  • Opening hours
  • Menu URL

Do not reuse identical location schema across multiple location pages. When appropriate, connect each location to the parent brand using parentOrganization or memberOf.

3. Menu Information

Google supports the menu property within Restaurant structured data. It should point to the restaurant’s current, crawlable HTML menu page.

Schema.org also defines Menu, MenuSection and MenuItem types. These can describe a menu in greater detail, but Google does not document them as standalone rich-result features.

If detailed menu markup is used, it must remain consistent with the visible menu. Do not claim that menu schema guarantees better rankings, AI recommendations or special Google search displays.

Source: Google Local Business Structured Data

4. FAQ Content and FAQPage Schema — Optional, Not a Ranking Shortcut

Visible FAQs can help guests quickly find answers about reservations, parking, dietary accommodations, delivery, private dining and other practical questions.

If a restaurant uses FAQPage schema, every marked-up question and answer must also be visible to visitors on the page. The markup should accurately describe the content—it should not be added merely to influence search results.

Since 2023, Google has generally limited FAQ rich results to authoritative government and health websites. Restaurants should therefore not expect FAQ schema to generate expanded search results, improve rankings or guarantee visibility in AI-generated answers.

Useful FAQ topics for restaurant websites include:

  • Do you accept reservations?
  • Is parking available?
  • Do you offer private dining?
  • What are your delivery hours and service area?
  • Can you accommodate gluten-free, vegan or allergen-related requests?
  • Do you accommodate large groups?
  • Do you offer catering?
  • What is the dress code?

Use FAQ schema only when these questions and their complete answers are visibly published on the page.

Source: Google — Changes to FAQ Rich Results

5. BreadcrumbList Schema — Site Structure Signals

BreadcrumbList schema tells Google how your pages relate hierarchically. On a restaurant website:

  • Home → Menu → Dinner Menu
  • Home → Locations → Downtown Austin
  • Home → Blog → Restaurant Website Speed

This appears as breadcrumb navigation in search results (increasing click-through rate) and helps Google understand your site architecture for better indexing.

6. Review and Rating Schema — An Important Limitation

Review and AggregateRating schema can describe review content, but restaurants should not expect this markup to produce review stars for their own website.

Google considers reviews about a business that appear on that business’s own website to be self-serving. This includes reviews added directly by the restaurant and reviews displayed through third-party widgets. Pages using Restaurant, LocalBusiness or Organization schema are therefore not eligible for Google review-star rich results when the reviewed business controls the page.

Restaurants can still display genuine customer reviews for visitors, but should not add AggregateRating markup with the expectation of generating stars in Google Search.

Source: Google Review Snippet Guidelines

7. WebSite Schema — Site Identity, Not a Search Box

WebSite schema can help Google understand the identity and preferred name of a website. It is typically placed on the homepage and can include the site’s name, alternateName and url.

Google discontinued the Sitelinks Search Box feature on November 21, 2024. Adding SearchAction markup no longer creates a search box beneath a website’s Google result.

Keep WebSite schema when it accurately identifies the website, but do not claim that it enables a sitelinks search box or improves rankings.

Source: Google — Farewell, Sitelinks Search Box

Restaurant Schema JSON-LD Example

Add one Restaurant entity to each restaurant location page. Replace every example value with information that matches the visible page.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "@id": "https://www.example.com/locations/chicago/#restaurant",
  "name": "Example Restaurant — Chicago",
  "url": "https://www.example.com/locations/chicago/",
  "image": [
    "https://www.example.com/images/chicago-restaurant-exterior.jpg",
    "https://www.example.com/images/chicago-dining-room.jpg"
  ],
  "telephone": "+1-312-555-0100",
  "priceRange": "$$",
  "servesCuisine": [
    "Italian",
    "Pizza"
  ],
  "menu": "https://www.example.com/locations/chicago/menu/",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "100 Example Street",
    "addressLocality": "Chicago",
    "addressRegion": "IL",
    "postalCode": "60601",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 41.881832,
    "longitude": -87.623177
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Sunday"
      ],
      "opens": "11:00",
      "closes": "22:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Friday",
        "Saturday"
      ],
      "opens": "11:00",
      "closes": "23:00"
    }
  ],
  "sameAs": [
    "https://www.facebook.com/example",
    "https://www.instagram.com/example"
  ]
}
</script>

Use a unique @id, URL, address, telephone number, coordinates, hours and menu URL for every location. Remove any property you cannot keep accurate.

How to Validate Your Restaurant Schema Markup

After implementing schema, validate it before it’s indexed:

  • Google’s Rich Results Test (search.google.com/test/rich-results) — Tests whether your schema is eligible for rich results in Google search. Shows which schema types are detected and any errors.
  • Schema.org Validator (validator.schema.org) — Validates syntax and property names against the schema.org specification.
  • Google Search Console → Rich Results report — After Google crawls your site, shows which pages have valid rich results and any errors affecting eligibility.

Common validation errors to look for: missing required properties, incorrect property types (text where a URL is expected), and schema applied to pages it doesn’t match (FAQPage schema on a page with no Q&A content).

Need Help Implementing Restaurant Schema Correctly?

Restaurant schema becomes harder to maintain when a brand has multiple locations, different hours, separate menus and frequent website updates.

RichMenu provides restaurant website infrastructure designed to keep each location’s website content, menu information and structured data properly organized.

Schema Markup and AI Search: What It Can and Cannot Do

Structured data gives search engines a machine-readable description of a restaurant’s identity, locations, hours, cuisine, menu and other published information. This can reduce ambiguity and help systems connect information across a restaurant’s website.

Schema markup does not guarantee that a restaurant will appear in ChatGPT, Gemini, Google AI Overviews or other AI-generated recommendations. There is also no reliable evidence that schema alone causes an AI platform to prefer one restaurant over another.

AI visibility can depend on several signals, including:

  • Clear, crawlable website content
  • Accurate restaurant and location information
  • Consistent business listings
  • Current menus and operating details
  • Reviews and third-party authority
  • Relevant local content
  • Accessible website performance
  • Correct structured data

Restaurant schema should therefore be treated as an accuracy and entity-clarity layer—not as a shortcut to rankings, citations or recommendations.

The markup must reflect information that is current and visible on the website. Incorrect hours, outdated menus or conflicting location information can reduce trust rather than improve visibility.

Source: Google Structured Data Guidelines

Common Restaurant Schema Mistakes

  • Using only LocalBusiness — Use the more specific Restaurant subtype for restaurant locations.
  • Publishing outdated information — Schema hours, menus, telephone numbers and addresses must match the visible website.
  • Reusing identical schema across locations — Every location needs its own URL, @id, address, telephone number, coordinates and hours.
  • Marking up invisible content — Structured data should describe information visitors can access on the page.
  • Using unsupported properties to chase rankings — Valid Schema.org markup does not automatically create Google rich results or improve rankings.
  • Adding self-serving review markup — Restaurants should not expect ratings published on their own websites to generate Google review stars.
  • Creating conflicting entities — Avoid multiple schema blocks that describe the same restaurant differently.
  • Skipping validation — Test the page with Google’s Rich Results Test and Schema.org Validator after every material change.

How RichMenu Handles Restaurant Schema

RichMenu treats structured data as part of the restaurant website infrastructure—not as a one-time SEO plugin setting.

Implementation can include:

  • A distinct Restaurant entity for every physical location
  • Accurate location URLs, addresses, telephone numbers, coordinates and hours
  • Direct connections between each location and its corresponding menu
  • Organization, WebSite and BreadcrumbList markup where appropriate
  • FAQ markup only when the complete questions and answers are visible
  • Validation before launch and after material website changes
  • Updates when restaurant locations, menus or operating information change

The objective is not to publish the largest possible number of schema types. It is to maintain accurate, supported structured data that reflects what visitors can see on the website.

See How RichMenu Supports Restaurant Search Visibility →

Your questions, answered.


What is schema markup for restaurants?

Restaurant schema markup is structured data—usually JSON-LD—that identifies a restaurant and describes information such as its name, location, telephone number, cuisine, hours and menu URL in a machine-readable format.


Does restaurant schema markup improve Google rankings?

Schema markup is not a direct ranking guarantee. It helps Google understand a restaurant and can make pages eligible for supported search features when the markup meets Google’s requirements.


What schema types does a restaurant website need?

Each physical location should generally use the Restaurant subtype of LocalBusiness. A website may also use Organization, WebSite and BreadcrumbList markup where appropriate. FAQ markup should only be used when the complete questions and answers are visible.


How do I add schema markup to my restaurant website?

Add JSON-LD to the relevant page through the website theme, a custom implementation or a reputable schema plugin. Ensure every value matches visible website content, then validate the page using Google’s Rich Results Test and Schema.org Validator.


How does schema markup affect AI search visibility?

Structured data can help machines interpret a restaurant’s identity and operating information, but it does not guarantee AI citations or recommendations. AI visibility also depends on crawlable content, accurate listings, reviews, authority, relevance and third-party evidence.


What is the difference between Restaurant schema and LocalBusiness schema?

Restaurant is a more specific subtype of LocalBusiness. It inherits LocalBusiness properties while supporting restaurant-relevant properties such as servesCuisine, menu and acceptsReservations. Restaurant websites should generally use the more specific Restaurant type for each location.