Websites for restaurants

Built around the two minutes before someone books, and the ninety minutes between prep and doors

A restaurant website has one job before anyone arrives: say whether you're open tonight, what's on, and whether they can book. We build restaurant sites where tonight's special updates from a message sent between prep and doors, group bookings run on a page built for them, and dietary needs are taken as a booking note, not a legal notice. Full site in 7 days.

TonightUpdated 7.04pm
  • Market fish, snapper86'd 7.04pm
  • Pork belly, appleOn now
  • Half shell scallops6 left
  • Ribeye, 300g

The fish went at seven. Your website said otherwise until Thursday.

The two minutes before someone books, and the ninety minutes between prep and doors

A diner decides in about two minutes, usually on a phone: open tonight, what's on, can I eat it, can I book. A kitchen has about ninety minutes between prep and service to fix anything wrong on the page. This site is built for both windows, not for the week a normal build takes to change one sentence.

The running order follows the decision, not the design brief: status and booking first, menu second, photos third, the story about the chef last if at all. Most restaurant sites invert it, with a video hero and a paragraph about provenance ahead of the one thing anyone came for.

Nobody opens a restaurant website wanting to read. They arrive mid-decision, with a group chat open in another tab, and if the four facts they need aren't above the fold they close the tab and try the next result.

When the snapper sells out, that's an availability problem, not a file problem

Somewhere between prep and service, a dish runs out or a special goes on. That's a stock question, not a document question, because the menu here is already live text. You send the change, 86 the snapper, pork belly on as tonight's special, and it's live on the menu page, the specials strip and the booking note at once.

This matters more here than on any other site we build. A builder's portfolio goes stale over months and nobody notices for a week. A restaurant's menu goes stale over hours, and the only window to fix it is the ninety minutes when nobody is opening a CMS to find the block and clear the cache.

No ticket, no queue, nobody to chase. You send the message, it changes everywhere it's shown, and the site is still yours.

Last orders decide whether someone books, not just whether you're open

Open and closed isn't enough for a restaurant. A diner needs lunch and dinner service times and, more than either, last orders: the number almost nobody publishes and the one that stops an 8:45pm booking assuming service stopped at 8. Put it on the page next to the booking button, not buried in a hours accordion.

A restaurant has states a shop doesn't: lunch service, the gap between services, dinner service, last orders. Each one changes whether the booking button should even be showing.

The same applies to a one-off closure, a Monday shut for a private function or a kitchen closed early for a wedding. Say it on the page as soon as it's decided, not as a note taped to the door that evening.

Figure 1

One Wednesday, two wrong answers

ONE WEDNESDAYLunchDinner111417202320.24Your open/closed line saysOpenThe kitchen isServingThe line and the kitchen agree, for now.Wrong in both directions on the same day, which is why hours alone do not do it.
A single open or closed line is wrong in both directions on the same day. It turns people away at three and loses you a table at twenty to ten.

Licensed, BYO or both: put it above the fold

One line, near the booking button: fully licensed, BYO wine only, licensed and BYO, or no alcohol. Under the Sale and Supply of Alcohol Act 2012, an on-licence can carry a specific BYO restaurant endorsement, and a group choosing between two venues plans the night around this before they plan anything else.

Say the corkage too, and say whether it's per bottle or per person. A group of eight deciding between two restaurants will pick on corkage, and the venue that published it wins the booking by default.

If you're licensed, say what that means in the diner's words: a wine list online, cocktails, local beer on tap, a non-alcoholic list that isn't just lemonade.

Australian states license differently, so the page states your venue's own licence rather than a national rule. Run more than one venue: the licence line sits on each venue's own page, because it can differ between them.

Group bookings and functions: a different sale, a different page

A table for two is a two-minute decision. A table for twenty-two on 19 December involves a set menu, a deposit, a dietary list and someone's boss. That's a different sale, so it gets a different page: a real enquiry form, a published minimum spend, a deposit policy and an answer inside a day.

Group bookings and functions: a different sale, a different page
Field on the enquiry formWhy it's there
Date and headcountDecides which room or section, and whether it needs to be exclusive use
OccasionChanges the set menu and the room dressing you'd suggest
Dietary notesTaken here, once, rather than chased individually before the night
Budget per headQualifies out enquiries you'd have declined anyway, before either side spends an afternoon on email
Exclusive use, yes or noChanges the minimum spend and whether other tables run that night
AV needed, yes or noDecides whether the enquiry needs a call before a quote

Which booking platform sits on the page, and what happens to the one you already pay for

The button on the page matches the system you already run service on, not a generic contact form that turns a booking into an email you answer at midnight. Some venues run OpenTable, some run NowBookIt, some take bookings by phone only, some are walk-ins only. A page still pointing at TheFork is pointing at nothing: it closed its Australian operations on 31 March 2024.

Walk-ins only is a position, not a gap. Say it plainly: walk-ins only, a few seats held at the bar, come early on Fridays. That converts better than a booking widget you can't honour.

Take bookings by phone: use a tel: link so it dials with one tap, and publish the hours the phone is actually answered.

You keep the platform you already pay for. We build the page around it rather than asking you to move. Large groups get routed to the functions page, not squeezed into a two-top widget.

Tell us what you run on a 15-minute call, between services if that's easier, and we'll say plainly whether it embeds, needs the API, or is better left as a phone number.

Want to know what this looks like for your business? Fifteen minutes is usually enough to tell you.

Book a 15-minute callSend us a message instead

Delivery menu, dine-in menu: same price, or say why not

Uber Eats, DoorDash and Menulog put you in front of people who weren't looking for you. Keep them, and keep the site as the place the regular who already knows your name books direct instead. Where this actually costs you is trust, not margin: a price that's higher on the app than at the table, discovered at pickup, becomes a review before it becomes anything else.

Name which apps you're on and which suburbs each one delivers to. 'Do you deliver to Grey Lynn' is a real search, and right now the answer is buried three screens into an app.

Keep the delivery menu and the dine-in menu visibly separate wherever the prices differ, and say so on the page rather than letting someone find out at the door.

Dietary requirements: a line in the booking, not a legal notice

On this page, dietary and allergy needs are taken where the booking is made: a field in the form or a note against the table, answered honestly by the kitchen before the table is held. That's a service promise, not a compliance page, and it works whether the requirement is coeliac, a nut allergy or a preference.

The working sentence does most of it: tell us when you book and we'll tell you honestly what we can and can't do. That does more for a nervous diner than any icon set, because it names a kitchen willing to give a straight answer.

If you're building a cafe site alongside this one, the wording the law requires for food sold over a counter is set out on the cafe page: /websites-for-cafes. That's a display requirement for unlabelled food at a counter, which is a different situation from a table booking taken in advance.

What the photos have to show

Stock photography costs a restaurant more than it costs anyone else on this site, because the diner is choosing what to eat and where to sit from the pictures. Six things earn their place: the room during service, a two-top and a long table, the bar, the outdoor area shot honestly, and the six dishes actually sold most, not the six the kitchen is proudest of.

The room during service

Shows the room as it will actually look when someone arrives, not staged and empty.

A two-top and a long table

A couple and a group of ten are choosing different things from the same photo set.

The bar

Tells a solo diner or an early group whether there's somewhere to wait.

The outdoor area, shot honestly

Covered or not decides a winter booking; an optimistic angle just loses the booking later, at the door.

The six dishes you actually sell most

What's ordered, not what the kitchen is proudest of, is what should be photographed.

Alt text naming the dish and the venue

Not 'food' or 'image1'. It's how the photo gets found, and how a screen reader reads it.

The date on the page, and why it has to be visible

A diner who can see the menu or the hours were checked this week trusts the price on it. One who can't assumes it's old, and assumes wrong in your favour rarely. Anywhere content changes often on this site, the menu, the hours, the functions calendar, carries a visible updated date.

The date moves when the content moves: it's set by the same message that changes the menu, not by a separate task someone has to remember.

A stale-looking page reads as a closed kitchen even when the doors are open. The date is the smallest fix with the biggest effect on that assumption.

Getting recommended when someone asks an AI where to eat

Answer engines lift a passage, not a whole page. If the sentence that answers 'gluten free restaurant in Newtown that takes bookings' is written as text on the page, in the diner's own words, it can be lifted. If that fact only lives in an app, or a photo of a menu, it can't.

The practical list for a restaurant: name the suburb and the nearest landmark, name the cuisine the way people say it rather than the way a menu designer would, name dietary options explicitly, put a price range in text per head, keep the updated date visible, and write the FAQ in the diner's words.

Nobody can promise a ranking or a citation, and anyone who does is guessing or selling. The honest commitment is to do everything known to help and nothing known to hurt, which includes never marking up a review that wasn't given, or a menu that isn't actually on the page.

Two venues, three venues: one site, a real page each

Usually one site, with a real page per venue rather than one page trying to describe both. The hours, the menu, the licence and the address differ between venues, and a shared page makes all four wrong for at least one of them. Whether that is one build or custom work depends on how different the venues are.

Each venue's page carries its own licence line, its own last orders, its own functions calendar and its own photos. A group brand identity can sit above all of it, but the facts that matter to a booking are set per venue.

If the venues share a kitchen or a booking system, say so once, in the place it's actually true, rather than repeating it on every page.

Which build does a restaurant actually need?

For most single-venue restaurants it's the full site. A menu, a functions page and a booking flow don't fit on one page, and the menu has to be live text you can change mid-service. A single landing page suits a venue testing an opening or running one campaign. Custom work is for a group running several venues, or a booking system that needs the API rather than an embed.

What moves the scope for a restaurant specifically: how many menus you run (dine-in, drinks, functions, delivery, seasonal), whether your booking platform needs an embed or an API, and whether each venue needs its own page, its own hours and its own licence line.

The part most studios leave out: we haven't built a restaurant site yet. Where we have built, and the client list, sits on the cafe page rather than repeated here: /websites-for-cafes. If what you want is a studio that can show you five restaurant sites, that's a fair thing to want, and you should go and find one.

What we can show you is the product working, in 15 minutes, on your own menu. You change something, you watch it change, and you leave the call knowing which build your venue needs and what it comes to.

Draft quote. Nobody said this. Replace before publishing.

The snapper sells out at seven and the site knows. We stopped disappointing people who booked on the strength of a dish we did not have.
Owner, restaurant (draft)

Questions, answered.

No. Where we've built, and the full client list, sits on the cafe page rather than repeated here: /websites-for-cafes. If that's a dealbreaker, fair enough. If you'd rather see the product working on your own menu first, book 15 minutes.

See it working on your own menu #000080

Book 15 minutes and watch a real change go live: a dish comes off, a special goes on, and it updates on the menu page, the specials strip and the booking note before the call ends.

Book a 15-minute demo

No commitment. No pitch deck. Just 15 minutes.

Published . Last reviewed . We review these pages every six months.