Site types

Auditing a restaurant website

A restaurant website gets its own rule module, built around the three things people look for: the menu, the opening hours and how to get there or book. The audit checks menu pages for prices, looks for Restaurant or FoodEstablishment structured data and opening hours, a postal address, a phone number, a reservation path and a map. The score is not reweighted for restaurants, and nothing is claimed about online ordering or reservations the scan cannot see.

How a restaurant is recognised

The category engine looks for `Restaurant`, `Menu`, `FoodEstablishment`, `BarOrPub` or `CafeOrCoffeeShop` markup, worth 30 points each; paths such as `/menu`, `/carte`, `/reservation` or `/order-online`, worth 12; and wording such as "book a table", "our menu" or "opening hours", worth 8. A category needs 24 points to be reported.

A single signal is not enough, and a site can carry several categories. A hotel with a restaurant, or a food shop with an online store, can be detected as both, and then receives both rule modules.

The rules the restaurant module adds

Menu pages are found by URL — `/menu`, `/carte`, `/food` — and each one without a recognisable price is reported at medium severity. When no menu page was reached, the module says the menu could not be verified instead of reporting it missing.

No `Restaurant`, `FoodEstablishment`, `CafeOrCoffeeShop`, `BarOrPub` or `Menu` markup anywhere is reported at medium severity. When that markup exists, the page carrying it is checked for opening hours — `openingHours` in the markup or hours wording — and their absence is reported at medium severity.

No postal address in markup is reported at medium severity, and no phone number at medium severity; the phone rule accepts a `tel:` link or phone wording.

No link or page for a reservation — `reservation`, `book-a-table`, `booking` — is reported at low severity, since many restaurants take bookings by phone. No embedded map is reported at low severity.

What else changes, and what does not

`structure.cta` expects a booking or phone action — book, phone or contact — on a restaurant website, and reports its absence as a warning. Everywhere else, the checks run as on any site.

Restaurants are not in any of the groups the score reweights. Performance, mobile, SEO and privacy weigh exactly as they do for any site, and the commerce checks do not count unless the site is also detected as a shop, a marketplace or a booking site.

Refund and shipping documents are not expected either, unless the same site is detected as selling. A restaurant with an online ordering shop is audited as a shop for that part.

Where the evidence of a restaurant usually lives

Menus are often published as PDF files or images. The rules read the HTML the server returned, so a price that only exists inside a PDF or a picture of a menu is not detected — which is also what a search engine's text index sees of it.

Opening hours and address often live in a third-party listing rather than on the site. The rules only look at the site itself; a correct listing elsewhere does not satisfy them, and the audit does not claim to know what it says.

How the rules recognise prices, phones and maps

Prices are recognised by one pattern: a dollar, euro or pound sign, or the code USD, EUR, GBP or CHF, next to a number. A menu priced in another currency, or with prices written as words, is reported as having none — the finding names the menu page so it is quick to check.

The phone rule accepts a `tel:` link or phone wording in the HTML, so a number printed in the footer satisfies it even without a tappable link. The address rule wants a `PostalAddress` or a `streetAddress` in the markup; an address written only as text does not satisfy it.

The map rule recognises Google Maps links and embedded frames whose attributes mention maps. Another map provider's embed can go unrecognised, and the finding is at low severity for that reason.

Opening hours are only checked on the page that carries restaurant markup, and only when such a page exists. A site with no restaurant markup gets the markup finding, not an hours finding on top of it.

Frequently asked questions

Why does the audit say my menu has no prices?
Because the menu page's HTML contains no recognisable price. When prices are only in a PDF or an image, the rule cannot read them, and neither can a text search index.
Is a missing reservation link a serious problem?
It is reported at low severity, because many restaurants take bookings by phone. The phone rule, at medium severity, matters more for a restaurant without online booking.
Does the score treat a restaurant differently?
No. Restaurants are not reweighted. The difference is in the added rules and in the call to action the structure check expects.

Sources

Related

VeriFixScan crawls a site and applies its checks to every page it reaches, keeping the evidence behind each finding. Scanning one website is free.

Scan a website