All articles
Guides7 min read

How to Put Your Restaurant Menu Online (and Keep It Current)

Alireza Akbari
Alireza Akbari

Why PDF menus cost you customers, how to structure a menu page search engines and AI assistants can actually read, and how to change a price in seconds instead of calling a developer.

How to Put Your Restaurant Menu Online (and Keep It Current)

The menu is the most-visited page on almost every restaurant website — and the one most likely to be a PDF from 2023 with three sold-out dishes and last year's prices. Fixing that is less about design than about format and maintenance.

Quick answer: Put the menu on the page as real HTML text, organised into sections with prices next to each item — never as a PDF or a photo of a printed menu. Add Menu structured data so search engines and AI assistants can read the items. Then make sure you personally can change a price in under a minute, because a menu you can't update goes stale within a month.

Why the PDF menu quietly costs you

A PDF feels like the obvious answer — you already have the file from your printer. Here's what it does in practice:

  • Search engines barely read it. Your dishes, your cuisine, your price range: all invisible for "wood-fired pizza near me" queries.

  • AI assistants can't quote it. When someone asks an assistant "what's on the menu at Borgo?", a text menu can be answered from. A PDF usually can't.

  • It's painful on a phone, which is where most menu views happen — pinch, zoom, drag, give up.

  • It goes stale invisibly. Nothing on the page tells a customer the prices are eight months old. They find out at the table.

  • It's slow. A print-resolution PDF can be several megabytes on mobile data.

A photo of a printed menu is the same problem with worse legibility.

Vintage wooden menu board lit by a hanging bulb

How to structure the menu page

Sections that match how people order

Use the sections you actually use in service — Starters, Pizzas, Mains, Sides, Desserts, Drinks. Don't invent web-friendly categories; a guest scanning for "is there something my vegetarian friend can eat" is pattern-matching against a normal menu.

One line per dish, price attached

Dish name, a short description, price. Keep descriptions to a line — the menu page is for deciding, not for storytelling. Prices belong next to the item, not in a separate "pricing" section and not omitted entirely. Hiding prices reads as expensive.

Mark the things people filter on

Vegetarian, vegan, gluten-free, spicy, contains nuts. A small label per dish saves your staff a phone call and answers the question that decides whether a group books at all.

Photos: a few, not all

Three to six photos of your best-looking dishes, placed in the menu page — not one photo per item. A full photo grid makes the page slow and makes an average dish look average.

Skip the sold-out dishes

If something is off for the season, take it off the page. A menu listing dishes you can't serve is worse than a shorter menu.

Make it machine-readable

Structured data is what lets a search engine understand that this page is a restaurant menu, and that "Pistachio calzone — 14" is a menu item with a price. The relevant schema types are Menu, MenuSection, and MenuItem, alongside the Restaurant schema on your site as a whole.

This is not something most restaurant owners should be hand-writing in JSON. It's a reason to care what your platform generates for you: InMinutes writes LocalBusiness structured data into every site automatically at publish, so the restaurant's identity, address, and hours are readable without anyone touching code.

The maintenance test

Before you commit to any setup, run this test: change the price of one dish and time it.

How long it takes
What happens in practice
Under a minute, by you
Menu stays accurate. Seasonal changes go up same-day.
10–15 minutes in a page builder
Prices get updated in batches, a few weeks late.
Requires a developer or a support ticket
Menu is permanently out of date.
That's the whole game. A beautifully designed menu page you can't edit is worth less than a plain one you update every week. On InMinutes you change it by saying what you want changed — "raise the margherita to 12 and remove the burrata starter" — rather than opening an editor.

Common mistakes

  1. PDF only — covered above, still the most common.

  2. A menu page that's just a photo gallery — beautiful, unreadable, unsearchable.

  3. No prices — customers assume the worst and don't book.

  4. Separate menus that drift — the site says one price, the delivery app says another, the printed menu says a third. Pick one source of truth and update from it.

  5. Menu hidden behind a hamburger sub-menu — it's your most-visited page. Put it in the top navigation.

  6. Forgetting the drinks list — a surprisingly large share of menu searches are people checking whether you have a bar.

FAQ

The bottom line

Put the menu on the page as text, with sections, prices, and dietary labels, and make sure you can change a price yourself in under a minute. Every other menu-page decision is cosmetic next to those two. Build your restaurant's site free with InMinutes →

Next: How to Make a Restaurant Website in 8 Steps and 7 Restaurant Website Features to Check in 2026.

Ready?

Your site, live in 2 minutes.

No agency. No waiting. Flat monthly fee.

Start for free →