A website for your restaurant, with menu, hours, reservations, directions and events
A hungry stranger on a Friday evening wants to know whether you are open, what you serve, how to book and where the door is. Put the menu in as text, keep the hours exact and give reservations and directions a button each.
Run the Friday evening test
Take your phone, turn off Wi-Fi and search for your restaurant by name, the way a stranger would. Open your site and try to answer four questions with as few taps as possible:
- Are they open right now? The hours belong at the top of the home page, with holiday changes and the kitchen's closing time if it differs.
- What is on the menu? One tap from the home page, readable without pinching.
- How do I get a table? A reservation button, a phone number, or a plain "walk-ins only".
- Where exactly is the door? The address as text, a map link, and a note on parking or the nearest transit stop.
If any answer needs a download, a zoom or a scroll through a photo slideshow, fix that first. A good variation is to hand your phone to a friend who has never been to the restaurant and watch where they hesitate.
Put the menu on the page as text
A PDF menu is easy to produce and awkward to use. On a phone it often opens in a separate viewer, you pinch and drag sideways, and updating means exporting and uploading a new file. A menu written on the page loads with the site, reads at any size and changes in a minute. It also works with screen readers. Search engines can read PDFs as well, so the reasons to switch are usability and upkeep.
Keep the menu text in the page itself. A menu inside an image, or in a widget that loads after the page opens, can stay invisible to crawlers that do not run scripts.
Structure the menu in sections such as starters, mains, desserts and drinks. For each dish give the name, a one-line description and, if you show prices, the price in the same text. Mark vegetarian, vegan or gluten-free dishes only if the kitchen can stand behind the label. A seasonal menu should carry its season or date, and the old one should disappear. Keep a download link for guests who want to print the menu, but as an extra.
Say plainly how guests with allergies should tell your staff. Do not promise an allergen-free kitchen unless you can back it up. Rules for allergen information differ by country and by state, so ask your local health department what applies to you. This article is not legal advice.
Reservations, hours and directions
For reservations, link to your booking system or embed it, and test it on a phone. If large parties are handled differently, say so next to the form, along with any requirement such as a card to hold the table. When a guest cannot book online, give a phone number and say when someone picks up.
Write the hours as text, not as part of an image. When they change, update the website and your Google Business Profile on the same day. A mismatch sends guests to a dark door. Claim your listings on Apple Maps and Bing Places as well, and keep the details identical. Our guide to setting up a Google Business Profile covers the profile side.
For directions, give the full address as text with a map link. Say where to park, which bus or train stop is closest, which entrance to use and whether there is step-free access, if there is. People read this on the way to you, so keep it short and easy to find.
The look of the site should match the room. Take casaderose.de, which we designed for Casa de Rosé, a restaurant, bar and events venue at the Alte Oper in Frankfurt am Main, Germany. The look is playful and elegant. A neighborhood bistro would call for something calmer. A place with a short daily menu may need little more than the menu and the map.
Ask whoever builds your site to add structured data (JSON-LD) of the type Restaurant, with address, hours and a link to the menu. It does not lift rankings by itself, but it helps search engines read your details correctly.
Photos and events
Show the room, the food as it is served and the people who work there. Use your own pictures, because stock photos of dishes you do not cook are easy to spot. Describe each image in its alt text, for example "Corner table by the window set for four", so screen reader users get the same information. Ask for consent before you publish photos in which guests are recognizable.
Dark backgrounds and text over photos look moody and are easy to get wrong. Keep contrast high enough to read in a dim room on a phone, at least the WCAG AA level of 4.5:1 for normal text. Our guide on website accessibility for small businesses has the details. The one on website speed and Core Web Vitals explains why large photos need compression.
Private dining, tastings, live music and holiday menus deserve a page of their own. List dated events as text with four facts: what it is, when it happens, how to book, and anything the guest needs to know. Remove events once they have passed.
For private events, add an inquiry form. Ask for the date, the number of guests, the kind of occasion and a way to reach the guest.
A look at your current site
If you would like a second opinion on your current site, start with the free website check.
More articles are in the guides overview.
Frequently asked questions
Is a PDF menu ever fine?
As an extra, yes. Some guests like to print the menu or send it to friends. The page itself should carry the text version, because that is the version a phone handles best.
Should I rely on a reservation or delivery platform?
You can link to one, but keep your own site as the home of your menu, hours and address. Platforms have their own terms and fees. Read them closely and decide what you give up in exchange for what you get.
How often should the website be updated?
Whenever the hours, the menu or the events change. A fixed weekly slot helps, for instance Monday morning, to check opening hours, specials and event dates.
Do I need a blog?
Not for a restaurant. A current menu and an up-to-date events page do more for guests. If you enjoy writing, short notes about seasonal changes are enough.