What to include on a restaurant site for ordering and reservations

· 7 min read

A practical checklist for restaurant website ordering and reservations: ordering method, CTA placement, menu SEO, and fee trade‑offs.

You want more online orders and filled tables — without guesswork

Your menu changes, phones ring, and staff are slammed. The website has to pull its weight: help guests book, order, and find what they want fast. Here’s a non‑technical checklist that covers ordering choices, reservation placement, menu SEO, and the fee trade‑offs restaurants actually face.

Third‑party delivery or integrated (owned) ordering?

This is a cost, control, and operations decision.

  • Marketplace commissions: Major delivery platforms are widely reported to use tiers in the 15–30% range, with add‑on fees that raise the effective take. See the synthesis at [Opalink Research]. They also note that advertised tiers don’t always reflect real‑world effective rates once marketing and delivery handling are added. Opalink Research
  • What operators actually see: An operator‑facing analysis claims a median effective commission of 26.4% for U.S. independents. Treat it as a benchmark to audit against your own P&L. Direct Orders
  • Rules can change: A fee cap during the pandemic in Massachusetts was enforced at 15%, and the state reported a $3.5M settlement with Grubhub related to that cap. Policy can shift fee math overnight. Associated Press
  • Owned/integrated ordering: Moving ordering into your own site/POS cuts out marketplace commissions but brings monthly platform and payment processing fees, plus operational work (menu sync, driving your own traffic, pickup/delivery staffing). You keep the customer relationship and data. Toast On The Line

A practical path many restaurants use:

  • Keep marketplaces for discovery and delivery reach where it pays, but stop them from becoming your dominant channel.
  • Build first‑party ordering for pickup and house delivery so repeat guests start there.
  • Promote owned channels everywhere you control: your website, receipts, table tents, and staff scripts.

A quick decision framework you can run this week

  • If your brand relies on delivery coverage you can’t staff today, keep marketplaces as a traffic source. Use their reach for new guests, but retarget them to your direct channel with inserts and staff upsell.
  • If you already have steady pickup volume or curbside, integrate first‑party ordering now and start capturing guest emails and order history.
  • If margins on delivery items are thin, use the marketplace for select menu items that travel well and protect profitability on the direct channel with combos and add‑ons.
  • If your team is small, start with direct pickup and defer house delivery until the process is tight.

Back it up with numbers from your own P&L, using the commission and fee structures above as inputs.

Place reservation and ordering CTAs where guests can act instantly

Guests won’t hunt for “Order” or “Reserve.” Treat them as primary actions.

  • Keep booking and ordering visible above the fold on desktop and mobile. CRO guides for restaurants recommend a direct path to action, not hidden in menus. Vizantir
  • Prefer an embedded widget for reservations or an on‑site ordering flow when your provider supports it. Fewer redirects reduce friction. Vizantir
  • Speed matters. Restaurant CRO guidance cites broader e‑commerce findings that a 1‑second delay can hit conversions hard. Keep your hero images small, defer third‑party scripts when possible, and test on a real phone. Vizantir
  • Use clear labels: “Order Pickup,” “Order Delivery,” and “Reserve a Table.” If you use marketplaces, add badges or a split button that distinguishes direct vs marketplace paths.
  • Test the flow weekly. Providers change script URLs and embed code; broken widgets are common. Operator forums show real cases where scripts 404 or are blocked. Reddit r/restaurantowners

How to implement your reservation widget without breaking the page

Most platforms offer a booking button or embed you can drop in.

  • Resy’s example install: copy the booking button code from your dashboard and paste it on the page where guests should book. This is typical of Resy, OpenTable, Tock, and others. Resy Helpdesk
  • Three common modes you’ll see in docs and theme guides: 1) inline embed (shows the booking form in your page), 2) link or lightbox that opens the provider, 3) a styled button that opens a new tab. Nopethemes Docs

Practical tips:

  • Match the button style to your brand, but don’t hide it — high contrast, enough padding, and no competing elements around it.
  • Place the widget or button on the homepage hero and again on your “Reservations” page.
  • On mobile, ensure it’s reachable without scrolling and that the tap target is big enough for thumbs.
  • After installation, make a test booking from a phone on cellular data. Screenshots and a 30‑second screen recording help you catch slow loads or dead clicks.

Ordering flows that reduce friction — and what to avoid

  • If you use an on‑site ordering system or POS‑connected storefront, link straight to the menu category most guests want first (e.g., Lunch Today). Toast On The Line
  • If you must link out to a marketplace, open in a new tab and explain the trade‑off (“Ordering direct helps us keep prices steady”). This sets expectations without shaming guests.
  • Don’t stack multiple third‑party badges without hierarchy. Give your direct ordering the primary button and move marketplaces to secondary links.
  • Don’t bury ordering in a hamburger menu. If a guest can’t order in a couple of taps, they’ll bounce. Vizantir

Menu SEO: make your menu visible to Google and humans

Your menu has to be readable as text and machine‑readable for rich results.

  • Publish the full menu as real HTML text. Avoid PDFs or images for the primary menu — operator audits call this a common mistake that kills mobile UX and search visibility. Reddit r/restaurantowners
  • Add structured data for your menu. Use schema.org types: Menu, MenuSection, and MenuItem. Include item names, descriptions, prices (as Offer), and dietary attributes where relevant. JSON‑LD is recommended. Schema.org MenuItem
  • Pair menu schema with Restaurant/LocalBusiness markup that includes menu URLs, hours, and other basics — practitioners recommend this for local visibility and to monitor in Search Console for errors. On The Map Agency
  • Keep URLs stable. “/menu” should be permanent; don’t rotate URLs when seasons change. Update content in place so links and Google’s understanding persist.
  • Give each major section its own anchored link (e.g., “/menu#pizzas”). This improves user flow and helps Google jump directly to a section in results.

Fee trade‑offs and owning the guest relationship

  • Marketplaces can bring orders you wouldn’t get otherwise, but the commission tiers and add‑on fees stack up quickly. Review your last month’s statements and calculate your effective commission using the references above. Opalink Research and Direct Orders
  • First‑party ordering shifts you to predictable platform and processing fees and gives you the guest’s contact info for remarketing and loyalty. That data ownership is called out by POS vendors discussing the cost trade‑offs. Toast On The Line
  • Policy isn’t static. Local or state actions have capped fees before, which changed the economics for a period. Don’t make a plan that only works under one set of rules. Associated Press

A lightweight checklist you can hand to your manager

  • Homepage hero shows “Reserve a Table” and “Order Pickup/Delivery” without scrolling. Vizantir
  • Reservation widget: installed via provider code, matches brand, and tested on an actual phone. Resy Helpdesk
  • Ordering: direct channel is primary; marketplace links are present but secondary. Toast On The Line
  • Menu: live HTML page, not just a PDF; includes item names and descriptions as text. Reddit r/restaurantowners
  • Structured data: JSON‑LD with Restaurant + Menu/MenuSection/MenuItem types, validated and error‑free. Schema.org MenuItem and On The Map Agency
  • Speed: hero images compressed, third‑party scripts evaluated, and booking/ordering actions respond instantly. Vizantir
  • QA: monthly check for broken embed scripts or blocked resources; keep a test log. Reddit r/restaurantowners
  • Economics: audit effective marketplace commission and compare with your direct channel’s fee stack. Opalink Research and Direct Orders

Where Fluxaro fits if you want help

If you’d rather hand this off, Fluxaro builds custom, conversion‑focused restaurant sites — hand‑coded, mobile‑first, with booking, lead capture, local SEO, a 24/7 AI receptionist, and a live analytics dashboard. See what we build on our Services page and browse real sites on Examples.

Common pitfalls to avoid so today’s fixes stick

  • Letting marketplaces become your majority channel. You lose margin and guest data; the platform controls the relationship. Opalink Research and Toast On The Line
  • Publishing only a scanned PDF menu. It’s hard to read on phones and doesn’t help you show up for dish‑level searches. On The Map Agency and Reddit r/restaurantowners
  • Burying CTAs or loading heavy, slow widgets that stall on mobile. Small delays hurt conversions. Vizantir
  • Not testing embeds; providers change code and break things. Catch errors before a Friday rush. Reddit r/restaurantowners

Next step

Open your homepage on your phone. If you can’t reserve or start an order immediately, fix that first. If you want a second set of eyes, book a quick call — Fluxaro offers a free by‑hand website audit returned within 2 business days. Book a call

Common questions

Should I use third‑party delivery or integrate ordering on my site?

Use marketplaces for reach and discovery, and build first‑party ordering for repeat business and margin control. Marketplaces commonly advertise commission tiers in the 15–30% range, and operator analyses claim effective rates around the mid‑20s once add‑ons are included. Direct ordering shifts costs to platform and processing fees and gives you customer data to retarget. [Opalink Research], [Direct Orders], and [Toast On The Line].

Where should reservation and ordering buttons go?

Put clear Reserve and Order actions above the fold on desktop and mobile, and test them on a real phone. Use embedded widgets when possible, and keep assets lean to avoid slow loads — CRO guidance for restaurants flags that even small delays can reduce conversions. [Vizantir].

How do I add a reservation widget to my site?

Most providers give you a code snippet to paste where the booking CTA belongs. Resy documents this workflow, which is similar across platforms. Choose inline embed or a button that opens the provider, style it to match your brand, and test. [Resy Helpdesk] and [Nopethemes Docs].

How do I optimize my menu for local search?

Publish your menu as HTML text, not a PDF or image, and add JSON‑LD structured data using Restaurant, Menu, MenuSection, and MenuItem types. Include item names, descriptions, and offers/prices. Practitioner SEO guides recommend monitoring for errors. [Schema.org MenuItem] and [On The Map Agency].

Fluxaro builds custom-coded websites and software for small local businesses — no templates, and you only pay for the features you actually want.

Book a free 15-minute call
Sources (10)
  1. The State of Restaurant Delivery Commissions 2025 — OPA! Research Report
  2. Grubhub agrees to a $3.5 million settlement with Massachusetts for fees charged during the pandemic — AP News
  3. The Real Math of Restaurant Commission: A Founder's Open Spreadsheet (2026) — DirectOrders
  4. What Your Restaurant Online Ordering Tool Really Costs You — Toast (operator guidance)
  5. Resy Widget Installation — Resy Helpdesk
  6. How to Get More Bookings From Your Restaurant Website — Vizantir blog (practitioner/CRO guidance)
  7. Theme documentation describing Reservation Widget modes (embed, form, link)
  8. MenuItem — schema.org documentation
  9. Restaurant Schema Markup: Menu & Reservations Guide — OnTheMap (SEO practitioner guide)
  10. Operator forum discussion of menu/schema and common implementation mistakes — Reddit