Skip to main content
Building a Joomla Restaurant Website? Fix the Menu and the Hours First

Building a Joomla Restaurant Website? Fix the Menu and the Hours First

A restaurant website is one of the friendlier briefs that lands on your desk. The client has a clear identity, there are usually decent photos to work with, and the sitemap is short. You can have something good looking live within a week.

Then the support emails start. Not about the design, almost never about the design. They are about the food menu and the opening hours. Those are the two things nearly every restaurant site handles badly, and they happen to be the exact two things a hungry visitor opened the site to check.

This is how to deal with both properly on a Joomla build, and why getting them right does more for the restaurant than another afternoon of photo retouching.

A PDF is not a menu

You know how the handover goes. The restaurant sends the menu as a PDF, or a photo of the printed card, and asks you to put it on the site. It is tempting because it takes about thirty seconds.

It is also the weakest thing you can ship. A PDF or image menu has three real problems:

  • On a phone it forces the visitor to pinch and zoom, and a phone is where most restaurant searches happen.
  • Google reads next to nothing from it. A PDF is not structured content, so the dishes and prices never make it into search results.
  • Every price change becomes a new file. The restaurant emails you, you re-export, you re-upload. You have signed yourself up for a recurring chore with no end date.

A proper restaurant menu is structured content sitting on the page. The Joomla Price List component is built for exactly that. You group dishes into categories, starters, mains, desserts, a separate wine list, and they render as a clean list that collapses to a readable stacked view on phones. There is no template CSS to fight.

Two PRO features earn their keep on a restaurant build. Multiple categories on one page lets you present the whole menu as a single scrollable card instead of a page per course. Frontend editing lets the restaurant change its own prices and dishes straight from the website, with no backend login and no email to you. If the kitchen wants allergen tags or a marker for spicy dishes, custom fields per item handle that too.

The free version covers a single basic category list. Multiple categories, frontend editing and custom fields are PRO, a few euros per year for unlimited sites.

Wrong opening hours cost real customers

Opening hours tend to be an afterthought. A line of plain text in the footer, typed once during the build, never touched again. Quite often wrong from the first day.

Think about what that costs the restaurant. A guest checks the site on a Sunday, sees nothing telling them otherwise, drives over, and finds the place dark. Best case they eat somewhere else. Worse case they leave a one star review about the wasted trip. You did not cause it, but you built the site that let it happen.

The Opening Hours module handles the part everyone forgets, which is the exceptions. King's Day, Christmas Eve, a private booking that closes the place to walk-ins. With plain text someone has to remember to edit the footer, and nobody does. The module lets you set one-off exception days, plus recurring exceptions that you configure once and it repeats every year on its own. An optional banner can warn visitors about a special schedule coming up, so there are no surprise visits.

The feature restaurant owners react to fastest is the live status. The module compares the current day and time against the schedule and shows a clear "We're open now" or "Sorry, we're closed" pill. The visitor gets an answer in one second, which is the entire reason someone opens a restaurant site on their phone. Today's row is highlighted as well, so the relevant line is the first thing the eye lands on.

PRO is again just a few euros per year, and that is where the live status, the exceptions and the content plugin live.

The structured data is the real selling point

Both extensions output schema.org microdata, and this is the argument you should be making to the client.

When a restaurant's hours are marked up properly, Google can show them directly in the search result, including whether the place is open at that moment. Individual dishes and prices marked up as structured data can appear the same way. For a restaurant that matters a great deal, because the typical customer journey is a quick phone search with three questions behind it: are they open, what do they serve, and what does it cost.

If those answers are locked inside a PDF and a line of footer text, Google cannot use them and the customer has to dig for them. If they are structured, Google can surface them before the visitor even clicks through. That turns the site from a plain brochure into something search engines can read and act on, which is a concrete reason for the restaurant to value the work you did.

One license covers every restaurant you build for

This is the part that makes the decision easy if you build for more than one restaurant.

Both PRO licenses cost just a few euros per year, and a single license covers unlimited installations. No per domain fee, no domain lock, no awkward email when you migrate a site to a new server. You buy the Price List component once and install it on every restaurant site you maintain, and the same goes for Opening Hours. Updates reach all of those sites.

Both run on the latest Joomla and follow current namespacing, so a major Joomla update is just a normal extension update for you. Support comes from Jeroen directly rather than a ticket queue. If you already run other Joomill extensions, the Bundle includes both of these plus everything else, which is cheaper than buying separately once you need three or more.

Ship a site that answers the real questions

A restaurant website has one job beyond looking sharp: tell a hungry person what is on the menu, what it costs, and whether they can walk in now. Get those two right and the design has something solid underneath it.

Try the free versions on your next build if you want to see how they fit. When you are ready to ship, the Price List component and the Opening Hours module cost just a few euros each, or take the Bundle if you are already working inside the Joomill ecosystem.