Restaurant website: structure, menu, reservations, and local SEO to bring in guests
Restaurant website guide: 12 essential blocks, HTML menu, reservations and delivery, local SEO, speed, and 6 common mistakes. From MOVE Agency.
In short
A restaurant website needs to do four things: show the menu, let people book a table or order delivery, show how to get there, and convince them the place is worth visiting. Everything else is decoration. Below is the 12-block structure we put on every restaurant website, the speed and mobile requirements, the local SEO basics, why the menu should be a page and not a PDF, what goes into the price, and the mistakes we fix most often. Written from the experience of MOVE Agency, which runs dozens of HoReCa brands in Poltava, Kyiv, Kharkiv, Dnipro, and Lviv.
What a restaurant website needs to do
Guests don’t land on a restaurant website to “read about it.” They’ve either already decided to come and are looking for how to do it, or they’re weighing you against two other places. The site has to serve both scenarios in 10 to 20 seconds.
Five jobs a site can’t work without:
- Menu. Current, with prices, easy to read on a phone. This is the main reason people open a restaurant website in the first place.
- Reservations or ordering. One button in the header that leads to an action, not a 12-field form.
- Address, hours, directions. A “Get Directions” button, a clickable phone number, exact hours for today.
- Reviews and social proof. A Google rating, a few genuine reviews, press mentions if you have them.
- Photos and video that sell the atmosphere. Your dining room, your kitchen, your people. Stock photos of plates don’t work here.
If even one item on this list isn’t reachable from a phone in two taps, the site loses guests who were already ready to show up.
Restaurant website structure: 12 blocks
This is the base framework we adapt to the format: for a coffee shop we merge some blocks, for a chain we expand into separate pages for each location.
| # | Block | What’s inside | Why |
|---|---|---|---|
| 1 | Header | Logo, menu, phone, “Book Now” button | Action available from any page |
| 2 | Hero section | One sentence about the concept, a photo or video of the dining room, two buttons: menu and reservations | Guest understands where they landed in 3 seconds |
| 3 | Menu | Categories, prices, photos of key dishes, tags (spicy, vegan) | The main reason for visiting the site |
| 4 | Reservations | Widget or form with date, time, party size | Converts visitors into guests |
| 5 | Delivery and pickup | Zone, time, minimum order, link to order | Second revenue source |
| 6 | About the venue | Story, chef, concept, 2 to 3 paragraphs | Emotional connection |
| 7 | Gallery | Dining room, dishes, team, events | Sells the atmosphere |
| 8 | Reviews | Google rating, 4 to 6 quotes, link to all reviews | Removes doubt |
| 9 | Events and banquets | Formats, capacity, request form | High average ticket |
| 10 | Contacts and directions | Address, map, hours, parking, transit | Removes the “how do I get there” barrier |
| 11 | Social media and newsletter | Icons, embedded feed, subscribe for deals | Repeat contact |
| 12 | Footer | Duplicated NAP, legal information, links to policies | Trust and SEO |
For a restaurant chain, each location gets its own page with blocks 3, 4, 8, and 10. This is critical for local search, which we’ll return to below.
Speed and mobile version
Most visits to a restaurant website come from a phone: from maps, from Instagram, from ads, from a “where to eat nearby” search. So the mobile version is designed first, and the desktop version is built around it.
What we check on every project:
- The hero section loads instantly. No 40-megabyte background video loading over mobile data in the middle of the city.
- The menu is readable without zooming. Font size, contrast, spacing between items.
- The reservation and call buttons are always within reach. A fixed bottom bar or a header button that stays put on scroll.
- Images are compressed and in modern formats. Food photos weigh more than everything else on the site, and they’re usually what slows it down.
- No full-screen popups on the first visit. The guest came to look at the menu, not sign up for a newsletter.
Speed affects both Google rankings and conversion: someone who waits more than a few seconds for a page to load goes back to maps and picks the place next door.
Local SEO for a restaurant: the basics
A restaurant website needs to rank for city- and district-specific queries: “restaurant downtown Poltava,” “pizza delivery Kyiv Podil,” “where to get breakfast Lviv.” This doesn’t take thousands of articles, just a handful of correct settings.
Google Business Profile. A venue’s Google listing is often the first point of contact with a guest. Fill in everything: category, hours, menu, photos, attributes, a link to reservations. For exactly what to fill in and in what order, see the full Google Business Profile setup checklist. And add a link to your website: that’s how the listing and the site reinforce each other.
NAP: name, address, phone. Written identically on the website, in Google, on Instagram, on aggregators, and in directories. A mismatch like “12 Sobornosti St.” versus “Sobornosti St., 12a” reads to search engines as a trust problem.
Schema.org markup. The Restaurant type (a LocalBusiness subtype) with address, coordinates, hours, cuisine, price range, and a link to the menu and reservations. This gives Google structured data and gives you rich snippets in search results.
City in the headings. The Title and H1 of the homepage and location pages should include the city, and for larger cities the district too. Instead of “Home” or “Restaurant,” write “Georgian Restaurant in Downtown Kharkiv.”
A separate page for each location. This is mandatory for a chain. Its own address, hours, menu, reviews, and map, with its own markup. One general “Our Locations” page listing addresses won’t rank for any of the cities.
This is the minimum we build into every restaurant website at the prototype stage, because adding it later costs more.
Menu: why HTML, not PDF
The most common restaurant website mistake starts with a “Menu” button that opens a PDF. On a phone you have to pinch to zoom, it loads slowly, Google can’t see individual dishes in it, and changing one price requires a designer.
A menu as a website page solves all of these problems:
- dishes get indexed for queries like “khachapuri Dnipro” or “breakfast Lviv Rynok”;
- you can change a price or remove an item from the CMS in a minute;
- you can show photos of key dishes, allergen tags, and calorie counts;
- analytics show which categories get viewed most and where people stop scrolling;
- every item can link to ordering or reservations.
A printable PDF menu can stay as an extra link at the bottom of the page for people who want to forward the file. But the main menu should live in HTML.
Reservations and delivery: integrations
A “Book Now” button that opens a form saying “We’ll call you back” loses a large share of guests: people book in the evening, when the front desk isn’t picking up the phone. Options that actually work:
- A reservation widget with a live calendar and instant confirmation. The restaurant sees the booking in its own system, the guest gets an SMS or email.
- Booking through a messenger. Telegram or WhatsApp with a pre-filled message. Simpler for a small venue, but no automatic confirmation.
- A form with a callback. Only as a fallback option, and with an honest response-time note.
For delivery, the options are: your own online ordering with a cart and payment on the site, ordering through a messenger, or a link to a delivery aggregator. Your own ordering system costs more to build, but skips the commission and keeps the guest’s contact information with you. If you’re still testing delivery, start with a link to an aggregator, but keep a page on your site with your own terms and delivery zone, so guests search for you specifically.
For chains and venues with more complex logic (loyalty programs, pre-orders, a Telegram Mini App for delivery), we design a web app separately from the website: in our web app and AI automation development format, a prototype is ready in 7 days.
Photo and video: content matters more than code
A restaurant website sells visually. The best-structured site with stock photos of plates loses to a simple site with real photos of your dining room and your dishes.
A minimum content package for a website:
- 8 to 12 photos of key dishes on a consistent background for the menu;
- 10 to 15 interior photos in daylight and evening light;
- 5 to 8 photos of the team and kitchen process;
- one short video for the hero section: 10 to 15 seconds, no sound, compressed for web.
This same material later works on Instagram, on your Google listing, and in ads. That’s why we plan the shoot for the website and social media as one session: it’s cheaper and the content comes out in a consistent style. See what this looks like with our content production: MOVE has its own cinema camera, lighting, and sound, and photo and video production starts at $500.
You can see how visual communication changes the perception of a venue with history in the IL Molino case: a chain with 15 years in the market, for which we produced video and content and got 1.3 million views in 3 months. The same kind of content goes on a website and keeps working there for years.
How much a restaurant website costs
The honest answer: it depends on what’s inside. At MOVE, website development starts at $500, and the price grows from there along with the scope.
| Component | What affects the cost |
|---|---|
| Number of pages | A landing page with a menu or a multi-page chain site with a separate page for each location |
| Menu | A static list or a dynamic menu with categories, photos, filters, and CMS management |
| Integrations | Reservation widget, online ordering with payment, CRM, loyalty program |
| Content | Whether photos and copy are ready, or a shoot and copywriting are needed |
| CMS | Whether you’ll update the menu, deals, and events yourself |
| Localization | Number of languages |
| Local SEO | Markup, location pages, Google Business Profile setup |
A cheap website builder site often costs more in the long run: it’s slower, it’s hard to bring up to proper local SEO, and every integration turns into a workaround. For reference, among the sites we’ve built are a Batch online store with a custom admin panel, the Azia Foods site for HoReCa wholesale sales, and a redesign of the Yavir-2000 corporate site. In each case, the structure and price were shaped by the task, not by a template.
How we build a restaurant website: the process
- Briefing and analysis. Concept, format, competitors in the city, where guests currently come from, what the site’s main job is: bookings or delivery sales.
- Structure and prototype. Page map, a draft layout of every screen with real copy, not “Lorem ipsum.” This is where menu and reservation logic gets agreed on.
- Design. Visual style built on your identity. If you don’t have one yet, we build it first as part of branding.
- Content. Photo and video shoot, menu and page copy, translations.
- Development and integrations. Layout, CMS, reservations, delivery, analytics, Schema.org markup.
- Launch and setup. Google Business Profile, Search Console, analytics goals, speed checks on real phones.
- Support. Menu and deals updates, seasonal pages, review management. You can handle this yourself through the CMS or with our team.
The longest stage is almost always content. If photos and copy are ready before the start, the project moves much faster.
What to measure after launch
A restaurant website is judged by the actions that lead to guests in the dining room. Traffic on its own says nothing. Here are the events we set up in analytics on every project:
| Metric | What it shows |
|---|---|
| Reservations | Number of completed bookings from the site, by day of week and time |
| Calls | Clicks on the phone number from the mobile version |
| ”Get Directions” clicks | How many people are actually planning to drive over |
| Delivery orders | Count and average order value, if ordering happens on the site |
| Menu views | Scroll depth, most-viewed categories |
| Sources | Where the people who booked came from: maps, search, Instagram, ads |
| Local search rankings | Visibility for city- and district-specific queries |
Once a month, these numbers are worth reviewing alongside Google Business Profile data: how many people saw the listing, how many clicked through to the site, how many called. That shows exactly where guests are being lost: at the listing, on the site, or at the booking step.
6 restaurant website mistakes
- Menu as a PDF or menu photos in the gallery. Doesn’t read on a phone, doesn’t get indexed, doesn’t get updated.
- No reservation button on the hero section. The guest scrolls through three screens, can’t find the button, and goes to maps to check the place next door.
- Outdated hours and prices. The fastest way to get a bad review: someone shows up at 10 PM and you closed at 9 PM a month ago.
- Stock photos. Guests notice the substitution immediately, and Google won’t show these pages in image results for your brand.
- One page for every chain location. None of the cities get search rankings, and guests can’t tell which venue has which menu.
- No analytics. The site “exists,” but nobody knows if it’s brought in a single guest. Without goals set up in analytics, there’s no way to know what to improve.
A restaurant website as part of marketing, not a standalone project
The best restaurant websites we’ve worked on don’t live in isolation. They get traffic from the Google listing and social media, welcome guests coming from ads, and feed data back: what people look at, when they book, which neighborhood they’re coming from. That data then drives content and advertising.
That’s exactly how the work with Toi Samyi Baranchyk is built: we started when the brand was opening its first restaurant and nobody knew about it, and over 8 years of working together the chain grew to 6 cities, with Reels passing 1 million views. In that setup, the website is the point where reach turns into reservations. It’s far from a simple brochure site.
Want a website that brings guests into the dining room? The MOVE team designs restaurant websites from structure and menu through to reservations, photo and video production, and local SEO. See how we approach website development, or start with a marketing strategy and audit: that’s where we break down where your guests are coming from now and what the site needs to do to bring in more of them.