On this blog I usually share advice and methods. Today, a change of format: I am opening up the backstage of a delivered project, from brief to launch. Because a concrete case study often says more than a services page, about the way I work as much as about the trade-offs a real project imposes.

Today's project takes me far from my home region: Raízes Vicentinas, a transfer and tourist accommodation business on the Costa Vicentina, the wild south-western coast of Portugal. Their need fitted in one sentence: a showcase website able to present their services in five languages, with a booking request flow, delivered fast and delivered well.

Two weeks later, the site was live. Here is how, and above all why this Portuguese project resembles the websites I build for Belgian businesses far more than you might think. You will also find it in the Work section of my homepage, alongside my other projects.

The client and the brief

Raízes Vicentinas works with a tourist clientele on the Costa Vicentina: travellers to transport to and from the region, and places for them to stay once there. An activity that is local and international at the same time. Local, because everything happens on one specific territory. International, because clients arrive from everywhere and do not speak the same language.

The brief flowed naturally from that reality. They needed a showcase website presenting the transfer services and the accommodations clearly, a simple way for visitors to send a booking request, a blog to tell the region's story and feed SEO, and above all a version of the site in five languages. All of it with serious technical SEO, to exist on Google next to well-established platforms.

And as so often with independent and small businesses, neither the deadline nor the budget was stretchable. It is a constraint I know well from my Belgian clients: the site has to ship, it has to be right, and there is no room for a project that drags on.

The technical choices: a fast static site behind Cloudflare

First decision: the technology. I chose a static website, served behind Cloudflare. Behind the jargon, a simple idea: instead of a site that rebuilds itself on every visit by querying a database, you deliver ready-made pages, distributed by a global network as close as possible to each visitor.

For this project the advantages were obvious. Speed first: a German, French or American visitor planning a trip receives the pages from a server near them, with short loading times. Robustness next: no database to maintain, no plugins to update, a minimal attack surface for security. Economy finally: this kind of architecture costs very little to host and run, which matters for a small business.

It is the same reasoning I lay out in my comparison of WordPress versus a custom website: the right technology is not the trendiest, it is the one matching the actual need. Here, content that rarely changes, a hard requirement on speed and a controlled budget pointed to static without hesitation. And loading speed is no luxury: it is a Google ranking factor and a direct driver of conversions.

The real challenge: five languages that stay coherent

A website in five languages is not a website translated five times. It is a system. And that is where this project would be won or lost. Three problems appear as soon as you go past two languages, and they get worse with every language you add.

First, the URL structure. Each language must live in its own clean, predictable address space, so that visitors and search engines always know where they are. A service page must have its exact equivalent in every language, at a logical address, with no mixing and no duplicates.

Then, hreflang markup. These invisible tags tell Google which version of each page corresponds to which language, so a visitor sees the right version in their search results. With five languages, every page must declare its alternates correctly, and the slightest inconsistency, a missing link, a broken reciprocity, weakens the whole structure. It is precision work that does not forgive approximation.

Five blank kraft luggage tags tied with coral string, lined up on a rustic wooden table in warm lamp light
Five languages, one structure: every page needs its exact equivalent in every version.

Finally, the coherence of content and navigation. A menu with different entries from one language to the next, a page that exists here but not there, a half-translated form: so many cracks that ruin a visitor's trust. And trust, for a tourism business asking people to book from a distance, is the entire business.

How I solved it without blowing the deadline

My answer comes down to one principle: build once, decline five times. Concretely, I first froze the site's structure in a reference language, templates, navigation, booking flow, before writing a single translation. As long as that skeleton was not approved, no translation work started. Changing a structure is quick; changing it in five already-translated languages is five times the work and ten times the risk of oversights.

Once the reference was stable, the language versions were generated on that shared template: same pages, same blocks, same navigation, only the texts change. The hreflang tags and language alternates are not placed by hand page by page, they follow mechanically from the structure. That is what guarantees the reciprocity of links between versions, the part so many multilingual websites get wrong.

And to lock everything down, I validate the multilingual linking with systematic checks rather than by eye: every page must declare its alternates, every alternate must respond and point back. That discipline, plus the structure-first, translations-second sequence, explains how the two weeks held without sacrificing technical cleanliness.

The lesson to remember

On a multilingual website, the order of operations makes the budget. Structure approved first, language versions second, automated checks last. Multilingual improvised after the fact always costs more than multilingual planned from the design stage.

What was delivered, in two weeks

After two weeks of work, Raízes Vicentinas had a complete showcase website in five languages: the presentation of their transfer services, the presentation of their accommodations, a simple booking request for visitors, and a blog ready to host their content about the region. All of it served statically behind Cloudflare, fast everywhere in the world.

Under the bonnet, the full technical SEO I never compromise on: clean page and heading structure, coherent hreflang markup across all versions, structured data, sitemap, optimised images, careful loading times. These are the foundations I describe in my guide to creating a professional website: invisible on delivery day, decisive in the months that follow.

Open laptop on a rustic wooden table, abstract cream and coral blocks on the screen, lit candle and a window opening onto a dusk ocean horizon
A complete multilingual showcase website, with booking request and blog, live in two weeks.

I will stop here deliberately: you will not read spectacular traffic percentages or booking curves in this case study. The site has only just taken off, and I prefer describing precisely what was built over dressing up numbers. What matters for you, the reader, is the approach: that part transfers as is.

And after the launch?

A launch is not an ending, it is a handover. As with all my projects, the client leaves with the keys: the website belongs to them, the domain name is registered in their name, and no forced subscription chains them to me. That is a matter of principle, in Belgium as in Portugal.

The chosen architecture makes that autonomy very concrete. A static website behind Cloudflare requires almost no technical upkeep: no plugins to update every week, no database to watch over, no security hole to patch in a hurry. The built-in blog awaits their next stories about the region, and the multilingual structure is ready to welcome every new article by the book.

This point deserves emphasis for any business owner who hesitates: the real cost of a website is not read on the day of the quote alone, but over the years that follow. A simple, robust architecture designed for your actual need is paid for once and then forgets itself. An overengineered machine reminds you of its existence every month. That is often where the difference lies between a website that pays off and a website you endure.

What this Portuguese project says about your Belgian business

You may be wondering what a transfer service on the Costa Vicentina has to do with your bakery in Hannut or your practice in Namur. The answer: multilingual. Belgium is a country where three languages live side by side, and for many businesses, a single-language website leaves customers at the door.

A business near the language border serving Flemish customers, a Brussels restaurant welcoming expats, a tradesman working from Liège to Leuven: all of them gain from speaking French, Dutch and English on their website. And all of them face exactly the same questions as Raízes Vicentinas: which URLs for each language, which hreflang markup, how to keep content and navigation coherent without tripling the maintenance load.

That is precisely the mechanics I have just described, and the website you are reading practises it itself: hantout.be exists in French, English and Dutch, with the same discipline of structure and reciprocity. Multilingual is not an exotic option reserved for tourism: in Belgium, it is often the most direct growth lever a website can offer.