seo

Schema Markup for Restaurants: The Complete Guide

8 min
seohospitalityweb development

Schema Markup for Restaurants: The Complete Guide

March 11, 20268 min read
Schema Markup for Restaurants: The Complete Guide

Add structured data to your restaurant website to win rich results on Google. A practical guide to schema markup that drives clicks and bookings.

Google knows less about your restaurant than you think

You have a beautiful website. The menu is up to date. Your photos look stunning. But when someone searches "Italian restaurant near me" on Google, your listing shows up as a plain blue link with two lines of text — while your competitor down the road has star ratings, opening hours, price range, and a photo carousel right there in the search results.

The difference? Schema markup. And it takes less effort to implement than most restaurant owners realise.

Schema markup is structured data you add to your website's code that tells search engines exactly what your business is, what you serve, when you're open, and what people think of you. It doesn't change how your site looks to visitors. But it fundamentally changes how Google displays your site in search results.

We recently added schema markup to a client's restaurant website in Oxford. Within three weeks, their search listing went from a plain text result to a rich snippet showing their 4.7-star rating, price range, cuisine type, and opening hours. Click-through rate jumped 34%. No redesign, no new content — just structured data.

What schema markup actually does

The basics in plain English

Think of schema markup as a translation layer between your website and Google. Your website is written for humans. Schema markup is written for machines.

When Google crawls your restaurant website, it can read the words on the page. But it cannot reliably distinguish between your restaurant's name, your head chef's name, and the name of a dish on your menu. Schema markup removes that ambiguity by explicitly labelling every piece of information.

Without schema markup, Google sees: "The Red Lion — Open Tuesday to Sunday, 12pm to 10pm — Modern British cuisine — ££"

With schema markup, Google understands: This is a Restaurant. Its name is The Red Lion. It serves British cuisine. It is open Tuesday through Sunday from 12:00 to 22:00. Its price range is moderate.

That understanding is what unlocks rich results — the enhanced search listings with stars, hours, images, and other details that dramatically outperform plain text links.

Why it matters for restaurants specifically

Restaurants benefit from schema markup more than almost any other type of business. Here's why:

  • High local search volume. "Restaurant near me" searches have grown 150% in the past five years. Rich results capture a disproportionate share of clicks.
  • Decision-making happens in search. Diners often choose a restaurant directly from Google results without ever visiting the website. If your listing doesn't show ratings and hours, you're invisible.
  • Multiple schema types apply. Restaurants can use Restaurant, Menu, Review, Event, and LocalBusiness schemas — giving you more opportunities for rich results than a typical business.
  • Google Maps integration. Proper schema markup reinforces your Google Business Profile data, which improves your position in Maps results.

The essential schema types for restaurants

1. Restaurant schema

This is the foundation. It tells Google your business is a restaurant and provides core details.

Key properties to include:

  • name — your restaurant's exact name
  • image — URL of your best exterior or interior photo
  • address — full postal address using PostalAddress schema
  • telephone — booking phone number
  • url — your website URL
  • servesCuisine — the type of food you serve (e.g., "Italian", "Modern British")
  • priceRange — use £, ££, £££, or ££££
  • openingHoursSpecification — detailed hours for each day
  • geo — latitude and longitude coordinates
  • acceptsReservations — true or false
  • menu — URL of your online menu page

A common mistake we see is restaurants only adding their name and address. The more properties you include, the richer your search listing can become. We always aim for at least 12 properties on every restaurant schema we implement.

2. Menu schema

Google can display your menu items directly in search results. This is particularly powerful for searches like "best pasta dishes in Manchester" or "vegan options near me."

Structure your menu schema with:

  • hasMenuSection — divide your menu into logical sections (Starters, Mains, Desserts, Drinks)
  • hasMenuItem — each dish with its name, description, and price
  • suitableForDiet — flag items as vegetarian, vegan, gluten-free, or halal
  • nutrition — optional but increasingly useful for health-conscious diners

You don't need to mark up every single dish. Focus on your signature items and any dishes with dietary accommodations — these are the ones most likely to trigger rich results.

3. Review and AggregateRating schema

Star ratings in search results are arguably the single most powerful driver of click-through rate. Research consistently shows that listings with star ratings receive 25-35% more clicks than those without.

AggregateRating summarises your overall rating:

  • ratingValue — your average rating (e.g., 4.6)
  • reviewCount — total number of reviews
  • bestRating — typically 5

Individual Review markup can highlight specific customer feedback. Include:

  • author — the reviewer's name
  • datePublished — when the review was written
  • reviewBody — the actual review text
  • reviewRating — their individual rating

Important note: Google has strict guidelines about review markup. You can only mark up reviews that are genuinely published on your own website. You cannot scrape reviews from TripAdvisor or Google and mark them up on your site. First-party reviews collected through your own booking confirmation emails are the safest approach.

4. Event schema

If your restaurant hosts special events — wine tastings, live music nights, chef's table experiences, seasonal menus — Event schema can get these displayed prominently in search results.

Include:

  • name — event title
  • startDate and endDate — in ISO 8601 format
  • location — your restaurant (use the same Restaurant schema reference)
  • offers — ticket price and availability
  • description — what the event involves

We helped a gastropub in the Cotswolds add Event schema for their weekly Sunday roast and monthly wine pairing dinners. Their events started appearing in Google's "Events near you" carousel — a feature most local competitors hadn't even heard of.

How to implement schema markup

Option 1: JSON-LD (recommended)

JSON-LD is Google's preferred format for schema markup. It's a script block you add to the head of your HTML pages — it doesn't touch your visible content at all.

For a Next.js site, you would add the JSON-LD script to your page's metadata. The structured data sits in a script tag with the type \application/ld+json\. This keeps your markup cleanly separated from your page content and is straightforward to maintain.

Why JSON-LD over Microdata? Microdata requires you to add attributes throughout your HTML, which is fragile and difficult to maintain. JSON-LD is a single block of structured data that's easy to update and doesn't risk breaking your page layout.

Option 2: Google Tag Manager

If you're not comfortable editing code, you can inject JSON-LD through Google Tag Manager. Create a Custom HTML tag, paste your JSON-LD script, and set it to fire on the relevant pages.

This is a decent stopgap, but it has a downside: Google sometimes takes longer to process schema markup injected via GTM versus markup that's in the page source. For permanent schema, we always recommend adding it directly to the code.

Option 3: WordPress plugins

If your restaurant website runs on WordPress, plugins like Rank Math or Yoast SEO have built-in schema generators. They handle the basics well — Restaurant, LocalBusiness, and basic review markup.

However, they often fall short on Menu schema and Event schema. For those, you'll likely need custom JSON-LD added to your theme or via a custom plugin.

Testing and validating your schema

Adding schema markup without testing it is like sending a menu to print without proofreading. Use these tools before going live:

Google's Rich Results Test — paste your page URL and it shows exactly which rich results your page is eligible for. This is your primary testing tool.

Schema Markup Validator — the official validator from Schema.org. It catches syntax errors that Google's tool might overlook.

Google Search Console — after deployment, monitor the Enhancements section. Google will flag any errors or warnings with your structured data here. Check this weekly for the first month.

Common errors to watch for

  • Missing required properties. Each schema type has mandatory fields. Restaurant schema requires at minimum a name and address.
  • Incorrect date formats. Opening hours and event dates must use ISO 8601 format. "Monday 9am-5pm" won't work — it needs to be structured as individual day specifications.
  • Mismatched data. Your schema markup must match what's visible on the page. If your schema says you're open until 11pm but your website says 10pm, Google may penalise your markup.
  • Outdated information. Changed your hours for the summer? Updated your menu? Your schema needs updating too. We build automated systems that sync schema data with our clients' content management, so it never drifts out of date.

Key takeaways

  • Schema markup is free and high-impact. It costs nothing to implement and can increase click-through rates by 25-35% through rich results.
  • Start with Restaurant and AggregateRating schema. These two alone will transform your search listing from a plain link to an eye-catching rich result.
  • Use JSON-LD format. It's Google's preferred method and the easiest to maintain.
  • Add Menu schema for competitive advantage. Most restaurants haven't done this yet, so it's a genuine differentiator.
  • Test thoroughly before deploying. Use Google's Rich Results Test and monitor Search Console for errors.
  • Keep it current. Schema markup that contradicts your actual website content will hurt rather than help.
  • Don't fabricate reviews. Only mark up genuine first-party reviews published on your own site.

Stop leaving clicks on the table

Most restaurant websites we audit have zero schema markup. That means every search result is a plain blue link competing against competitors who've invested twenty minutes in structured data. It's one of the highest-ROI tasks in SEO — genuinely free traffic from work that takes hours, not weeks.

At LogicLeap, we implement comprehensive schema markup as standard on every restaurant and hospitality website we build. We don't just add the basics — we build Menu, Event, and Review schemas that give our clients maximum visibility in search results. And we set up automated syncing so the structured data stays accurate as menus and hours change.

If your restaurant website is missing structured data, you're giving away clicks to competitors who've taken the time to add it. We can audit your current markup and implement a complete schema strategy in a matter of days. Get in touch and let's make Google work harder for your restaurant.

Need help implementing this?

We build high-performance websites and automate workflows for ambitious brands. Let's talk about how we can help your business grow.