70%
of diners check a restaurant's website before visiting — and most of them decide within 10 seconds whether to book or leave

I've audited dozens of restaurant websites across South Africa. The same problems show up every time. Not subtle problems — obvious, fixable things that are actively costing the business customers.

A restaurant website has one job: get someone to walk through the door or make a booking. Here's what stops that from happening.


The menu is a PDF

This is the single most common problem. The menu is a PDF — often a scanned image of a physical menu, sometimes 5-10MB. It takes forever to load on mobile. It can't be read by Google. It can't be searched. On a phone screen, the text is tiny and you're pinching and scrolling to find what you want.

A PDF menu tells the customer: "we didn't bother making this easy for you."

The fix: put your menu directly on the page as text. Style it with your brand. Make it searchable, readable, and fast. Keep the PDF as a downloadable option if you want — but the default should be a web page, not a document.


There's no visible way to book

Someone decides they want to eat at your restaurant. They're on your website. They look for a "Book" button. It's not there. They look for a phone number. It's buried in the footer. They look for a contact form. It asks them to describe their "enquiry" in a text box.

They leave.

Your booking option — whether it's a link to a booking platform, a phone number, or a form — should be visible within three seconds of landing on the page. On mobile, it should be tappable without scrolling. A "Book a Table" button in the header or immediately below the hero image is the minimum.

If you use a third-party booking system (Dineplan, ResDiary, OpenTable), link directly to the booking page — not to a page that links to the booking page. Every extra click loses customers.


The site loads like it's 2008

Restaurant websites tend to be image-heavy, which is fine — food photography sells. But when every image on the site is 3-5MB and there's no lazy loading, the page takes 8-12 seconds to load on a phone.

In 12 seconds, your potential customer has already found another restaurant.

Compress your images. Use WebP format — it's 30-50% smaller than JPEG with no visible quality loss. Lazy-load images that are below the fold (they only load when the user scrolls to them). These three changes alone usually cut load time by 60-70%.


No opening hours on the homepage

"Do they open for lunch?" "Are they open on Sundays?" "What time does the kitchen close?" These are the questions people want answered before they commit to a booking. If the answer isn't on your website, they'll Google it — and Google might show outdated information from a listing you forgot to update.

Put your opening hours in a visible location on every page. The header or a sidebar works. Link to Google Maps while you're at it — it helps with local search ranking and gives people directions in one click.


No food photos (or terrible ones)

A restaurant website without food photos is a car dealership without cars. People eat with their eyes first — especially when they're deciding whether to visit a new place.

But bad food photos are worse than no food photos. Dark, blurry, yellow-tinted photos shot under fluorescent kitchen lighting make the food look unappetising. You're better off with clean, well-lit photos of three dishes than a gallery of twenty poorly shot ones.

Phone cameras in 2026 are good enough. Natural light, a clean surface, and two minutes of effort make a real difference.


The site doesn't work on mobile

People search for restaurants on their phones. They're walking down the street, deciding where to eat tonight. If your site doesn't render properly on mobile — tiny text, horizontal scrolling, buttons too small to tap — they won't try to make it work. They'll just go to the next result.

This isn't a nice-to-have. For a restaurant, mobile usability is the difference between a booking and a lost customer. Test your site on a phone. Try to find the menu, see the hours, and make a booking. If any of that is difficult, it's costing you money.


The fix list

If you run a restaurant and you're reading this, here's what to do, in order:

1. Put your menu on the page. Not a PDF. Text on the page. Include prices.

2. Make booking one tap away. Phone number in the header. Booking link visible without scrolling.

3. Show your hours. Opening times, kitchen closing times, days you're closed. On every page.

4. Compress your images. Run every photo through a compressor. Switch to WebP. Add lazy loading.

5. Test on your phone. Actually use the site the way a customer would. Find a problem? Fix it.

If you want a professional take on where your restaurant site stands, run it through Kern's free grader — it'll flag the technical issues in under a minute. Or if you're building a new site from scratch, check out what a restaurant-specific website looks like when it's built with these problems already solved.

Your food is good. Your website should help people find out about it, not stand in the way.

AM
Armin Marxer

Founder of Kern, CoolMinds, and MFTPlus. 30 years building systems that don't have off-the-shelf answers.