Skip to content
← Journal

Guides

What a multi-language website in Belgium needs

Which languages to choose, why each language gets its own address, what hreflang does and what to translate, right down to your forms and your privacy page.

9 November 2026 · 6 min read

Belgium has three official languages: Dutch, French and German. On top of that, English is often the language companies do business in. Which of them belong on your website depends on where your customers are and which languages you can help them in.

Which languages to choose

Flanders is Dutch-speaking, Wallonia is French-speaking and the Brussels region is officially bilingual. German is the language of the German-speaking Community in the east of the country. A baker in Ghent can do perfectly well with Dutch. A wholesaler supplying shops all over Belgium probably needs Dutch and French, and English if there are customers abroad as well.

Think about what happens after the visit too. Someone who reads your site in French will expect a reply to their email in French. You also have to keep each language up to date: a new service or changed opening hours have to reach every version. You can always add a language later, so feel free to start with the ones you can keep up today.

Belgium also has legal rules on language use, for example for documents given to staff and for information given to consumers. Whether they affect your website depends on what you do. A lawyer is the right person to ask.

Each language at its own address

Each language version of a page should have its own web address, the one at the top of your browser. Search engines such as Google read your site one address at a time. If a button only changes the text on the screen while the address stays the same, the search engine can miss your French text, and someone searching in French will not find that page. With its own address, you can also simply send a French-speaking customer the link to the French page.

That address can take several forms:

This site uses the last one. It has Dutch and English, and each page has its own address per language, with no /nl or /en. The services are at /services, and the Dutch version is at /diensten. Tradi, a website I am building for a menswear agency, will come in three languages.

A good language button takes you to the same page in the other language, so you do not have to search again from the home page. Write the languages out in full in their own language: Nederlands, Français, Deutsch, English. Flags stand for countries, which suits a country with three official languages rather badly.

Let visitors choose for themselves as well. A site that automatically redirects people based on their browser language makes things awkward for a Fleming with an English-language phone. A search engine can also miss versions that way.

What hreflang does

hreflang is a label in the code of your page. Visitors do not see it. It tells search engines that this page also exists in another language, and at which address. That way Google can send someone searching in French to your French version. In the code it looks roughly like this:

<link rel="alternate" hreflang="nl-BE" href="https://example.be/diensten" />
<link rel="alternate" hreflang="fr-BE" href="https://example.be/fr/services" />

nl-BE means Dutch for Belgium, fr-BE French for Belgium. Each language version lists all the versions, including itself. If a label points in only one direction, Google can ignore it. A developer can set this up so it happens automatically for every new page.

The label does not translate anything, and on its own it does not give you a higher place in the search results. The details are in Google’s explanation.

Real translation and machine translation

Machine translation tools, such as DeepL, Google Translate or an AI assistant, produce a first version quickly. For long, factual texts that version is often decent already. They just do not know your business: they do not know what your sector calls things, whether you address customers formally, or whether a button that says “Book” is about an appointment or a book.

Belgium adds something else. Belgian French says septante and nonante where France says soixante-dix and quatre-vingt-dix. A Dutch text from the Netherlands sounds different in Flanders, if only because of words like mobieltje instead of gsm. A machine does not always pick the right form, especially if you do not ask it to.

A workable approach is to let a machine make the first version and have it checked by a native speaker who understands your business. Give that person a short list of your fixed terms and tell them who the text is for. If you do not speak a language well yourself, you cannot judge the translation yourself either, so that reader is all the more useful. For your home page, your slogans and your legal texts, let a person have the last word.

You will not easily forget the menu and the home page. These parts are easier to overlook:

A form in French also has to end up with someone who reads French. Test each language separately: here is how to test a form.

Your privacy notice and your terms and conditions belong in every language you serve customers in as well. A privacy notice has to be understandable to the person reading it, and a Dutch text does not do much for a French-speaking visitor. Legal text is also precise, so a small translation error can change the meaning. Have a lawyer check such a translation, and ask at the same time which version applies if two languages contradict each other.

Read next

What's your idea?

Tell me what you're trying to build. I try to reply within one working day.