A restaurant website has one job. Someone is hungry, on a phone, and wants three answers fast: what do you serve, is there a table, how do I get there. Everything else comes after. This is the order we work in on restaurant projects, and the things we have stopped fighting for.
Put the menu in the page as HTML text, with dishes and prices that can be selected and copied. Google can index a PDF, but a PDF opens in another viewer, zooms badly on a phone, and is harder for a search engine or an AI assistant to quote when someone asks what a place serves. Text also means a price changes in thirty seconds instead of a new layout file. If you love your printed menu, keep it as a download, not as the menu.
The reservation button belongs in the header, and again where the decision happens: after the menu, next to the address. One label, one destination. If you use a booking tool, link or embed it directly instead of sending people to a page that sends them to the tool. If you only take bookings by phone or email, say so in plain words next to the number. We compared the main tools in Zenchef, SevenRooms or Tock and looked at what each one costs a French restaurant in TheFork, OpenTable or Zenchef.
Not in an image, and not only in the footer. Opening hours are the most checked fact on a restaurant site. Write them once, in one place, so a seasonal change or a closing day is a single edit and cannot contradict itself across pages.
People want to see where they will sit and what they will eat. Real photos of both do more than stock imagery. Compress them, size them for a phone, and give each one an alt text that describes what is in it. A hero image of several megabytes is one of the most common reasons a restaurant page feels slow.
Google documents a structured data type for local businesses, restaurants included. In its documentation, name and address are required. It recommends servesCuisine, menu (the full URL of the menu), openingHoursSpecification, priceRange, telephone, url and geo. It is a few lines of JSON-LD that state the same facts your page already shows, in a form machines read without guessing. It does not promise any particular result in Search, so treat it as hygiene, not as a trick.
Name, address, hours and phone should be identical on the site, on your Google Business Profile, in your booking tool and on social accounts. When they differ, a search engine or an assistant has to pick one, and it may pick the wrong one. Check them once a quarter and after every change of hours.
An intro animation or a full-screen video delays the three answers the visitor came for. A blog is worth having only if someone will keep it alive: a restaurant with correct hours and no news page beats one with a dead blog. Clever navigation does not help either. Menu, Book, Location and hours, Private events, Contact is usually enough. A custom typeface is worth the effort only if the menu stays readable at phone size. And a single restaurant rarely needs more than a handful of pages.
These are the points we review on restaurant and hospitality projects, including Maison Mayane in Paris, Double Dimanche in Hossegor and The Green Clerkenwell in London, part of The Culpeper Family group. On those three, we handled the Webflow integration and the SEO and GEO work. The design is by Studio Avenir.
If you are still choosing a booking tool, start with our booking systems guide. If you already have one and the site around it is the problem, that is the work we do.