Skip to content
Case study

Alma Portuguesa: a restaurant website in 20 languages

A restaurant in Coimbra whose guests come from half of Europe. A site that welcomes everyone in their own language and that, above all, prompts one thing: a phone call.

Alma Portuguesa is a traditional Portuguese restaurant in the centre of Coimbra. Coimbra is a university city and a travel destination: at the next table sit locals, Spanish weekend visitors, French pensioners and German backpackers.

A website in Portuguese alone falls short there, but six half-hearted translations aren't the answer either. So we built the site to be multilingual from the ground up, in 20 languages, including Portuguese, English, Spanish, German, French and Italian, each one a full version with its own address for Google.

The project is our proof that we don't only work in Bonn and Hagen. Based in Germany, clients across Europe; the whole collaboration was done remotely.

www.almaportuguesarestaurante.com
Screenshot of the website www.almaportuguesarestaurante.com
The site is live and available in 20 languages. Click the image to take a look.See it live

The brief

The restaurant had a Google listing with very good reviews, and nothing else. Anyone who wanted to know what was on the menu, when it was open or what it looked like inside found nothing.

On top of that, there was a particular issue: the business had previously been known under a different name. Old listings online still showed the former name, some of them marked as closed. For a restaurant that lives from passing trade and search results, that's a real problem.

The goal was correspondingly simple: a site that establishes the name, shows the menu and gets guests to call or drop by.

20 languages, no compromises

Each language version has its own address (/pt, /en, /de, /fr, /es and fifteen more) and is marked up for Google as a page in its own right. Anyone searching in Spanish lands on the Spanish page, not on a Portuguese one with a translate button.

To make sure nothing slips through, a dedicated step before every release checks whether all 20 languages are complete. A missing sentence isn't a cosmetic flaw you notice later; it blocks publication.

Portuguese dish names deliberately stay the same everywhere. “Bacalhau à Brás” is called that in German and English too; what gets translated is the description, not the dish.

Reviews that update themselves

The restaurant collects new reviews every day. A figure entered by hand would be wrong after two weeks, and a wrong figure on your own site is worse than none at all.

That's why the site fetches the rating and the number of reviews itself, twice a day, from the server. The guest's browser doesn't connect to Google in the process: nothing changes for data protection, and the site loads just as fast as before.

Implausible responses are discarded. If the request fails, the site shows the last known figures instead of an error message; nobody should ever see a “0” or a “NaN” on the home page.

One thing we deliberately did not do: supply the stars as markup for Google Search. Google's guidelines prohibit marking up third-party reviews about your own business in this way. Anyone who does it anyway risks a penalty for the whole domain.

What we left out

The restaurant doesn't take table reservations. So there's no reservation section, no form and no button pretending to offer something that doesn't exist.

Instead, the strongest action on the site is the phone call: in the header, in the contact section and, on mobile, in a fixed bar at the bottom of the screen.

It's similar with public holidays: if no special hours are set for a day, the site claims neither “open” nor “closed”, but asks guests to give the restaurant a quick call. Better an honest question than a guest standing in front of a locked door.

And the menu: it was checked item by item against the printed menu. The first comparison turned up three mistakes that had crept in while typing it up. 57 dishes on paper, 57 on the site.

Technically simple, on purpose

All 20 language versions are delivered fully built, instead of being put together on every request. That makes the site fast and cheap to run.

There's no translation framework, no icon library, no UI library: every additional dependency is one that will need a security update at some point. The fonts are hosted on the site's own server too; at runtime, no request goes to Google.

All of the restaurant's details (address, phone number, opening hours, menu) are kept in exactly one place. Not a single fixed piece of text sits in the site's building blocks. If an opening time changes, it changes in all 20 languages at once.

Frequently asked questions

Do you also work for clients abroad?

Yes. We're based in Bonn and Hagen and work across Germany and Europe. The project in Coimbra was done entirely remotely, with coordination by video, phone calls and email.

How do you handle languages you don't speak?

We build the structure; the content is created with native speakers and the owner. Before every release, an automated step checks that every language is complete. A missing sentence blocks publication.

Why no online reservations?

Because the restaurant doesn't take reservations. A button with nothing behind it does more harm than good. If that changes, the section can be added later.

Does a restaurant even need a website if it has a Google listing?

The Google listing brings visibility, but it doesn't belong to you and only shows what Google wants to show. Menu, history, photos and the character of the place belong on your own site, and that pays off especially when guests come from other countries.

Can we get something like this too?

Gladly. Drop us a line about what you offer and which guests you want to reach, and we'll tell you honestly what makes sense and what you can save yourself.

Related pages

“I can recommend WEBinnovision without any reservation. From the first discussion to the finished website, working with Bastian and Yusuf was simply excellent. What impressed me most was the speed, how easy they were to reach and their technical expertise.”

Andreas, Schwimmschule MantarochenOwner · BonnTranslated from German

“I can only recommend working with Basti and Yusuf from WEBinnovision with all my heart! ⭐️ Right from our first short meeting, the two of them immediately understood my vision, my wishes and above all the requirements of my swim school.”

Jenny, Schwimmschule NemoOwner · BonnTranslated from German

Got a similar project in mind?

Tell us briefly what it is about. We will take an honest look at your goals and get back to you within one working day.

Would you rather talk it through? Pick a time