Schema types that fit restaurant menu pages
A restaurant public page can use business schema for identity and menu schema for the actual menu. The safest setup is simple: describe the business, the public menu URL, menu sections, and menu items that are visible on the page.
Use Restaurant when the business is a restaurant.
Use LocalBusiness or a closer subtype when Restaurant does not fit.
Use Menu for the public menu object.
Use MenuSection for visible menu categories.
Use MenuItem for visible menu items.
Use OpeningHoursSpecification only for published business hours.
Use FAQPage only when the same questions and answers are visible on the page.
Use BreadcrumbList for page navigation context.
Structured data must match visible content
Schema is not a place to add information customers cannot see. If the price, item, hour, rating, review, image, dietary claim, or offer is not visible and current on the public page, it should not be marked up.
Visible item name matches the MenuItem name.
Visible price matches the Offer price when price markup is used.
Visible hours match OpeningHoursSpecification.
Visible FAQ content matches FAQPage markup.
Canonical URL matches the public page URL.
Sitemap includes only public pages intended for discovery.
Common schema mistakes
Adding fake reviews or ratings.
Marking up hidden FAQ answers.
Keeping old prices in structured data after changing visible prices.
Using Restaurant schema for a non-restaurant business.
Adding unavailable menu items that customers cannot see.
Expecting schema to guarantee rankings, rich results, or AI citations.
Questions owners ask
Does restaurant menu schema guarantee rich results or rankings?
No. Schema can help systems understand a page, but search engines decide whether to crawl, index, rank, or show enhanced results.
Can hidden menu items be added to schema?
No. Structured data should match the public page. Hidden items, old prices, and private notes should stay out of public schema.