Ranking in two languages: German and English SEO without cannibalising yourself
One brand, two markets: Germany and Dubai. How hreflang, separate URLs and real localisation make both languages rank.
One brand, two markets: Germany and Dubai. How hreflang, separate URLs and real localisation make both languages rank.
One brand, two markets: Germany searches in German, while Dubai and the international audience search in English. The obvious solution is usually the worst one - a translation widget in the top corner that swaps the text at the push of a button, or a cookie that lays different words over the same page depending on who is visiting. Both look like multilingualism. To Google, neither is. If you genuinely want to rank in both languages, you need two real, independent pages - plus a handful of technical details you set up correctly exactly once and then never touch again.
This piece shows how a bilingual site is built cleanly: separate URLs per language, correct language signals, no duplicate content, no cannibalising your own keywords. Practical and precise, no marketing fluff.
A search engine indexes URLs, not language switches. If German and English content sit at exactly the same address and only a JavaScript widget or a cookie decides which language the visitor sees, Google can only capture one version - the one the crawler finds on its visit. The other language simply does not exist for search. It is never indexed, appears in no result, ranks for not a single keyword.
The fix is a real, dedicated path per language. Common and explicitly supported by Google is the language folder in the path: the German page under the main domain, the English one under a clear /en/ segment. Each of these addresses serves the finished content in the right language directly on request - no click, no cookie, no JavaScript swap. That way every language version gets its own address the crawler can see, index and rank.
A translation widget serves the visitor. A dedicated URL serves the search engine. You need both - but only the second one earns rankings.
The practical effect: your German page competes on Google for German search terms, your English page competes in parallel for the English ones - each in its own index entry, without blocking the other.
The moment the same content exists in two languages, Google needs to know these pages belong together and which one is meant for which audience. That is exactly what the hreflang signal does. It is an entry in the head of each page that tells the search engine: "This page is the German version, that one over there is the English one - show the German searcher this, the English speaker that."
Concretely, every language version carries a list of references to all other language versions - including itself. For a German-English site that means: a reference with the language code de-DE to the German address, a reference with en to the English one, and a reference with x-default that defines which version visitors without a matching language are shown. These three entries sit on the German page exactly as they do on the English one - identical, on both.
The two rules most people get wrong:
For the language code, plain language usually suffices for English (en) when you do not distinguish countries. For the German version, the combination of language and country (de-DE) is clean and unambiguous. What matters is consistency: whatever code you set once, you use identically everywhere.
Two worries always come up with multilingual sites - and both can be cleared away cleanly.
The first: duplicate content. German and English content are different languages and therefore not a duplicate to Google in the first place - that is the easy part. It only gets tricky when the same language is reachable more than once, for instance the German page with and without www, with and without a trailing slash. Against that you set one unambiguous canonical reference per page - an entry that defines which address is the official one. The key point: every language version is canonical to itself. The English page does not canonicalise to the German one - otherwise you throw the English version out of the index yourself.
The second, subtler danger is self-cannibalisation: two German pages competing for the same search term, so Google does not know which to rank and ends up placing both weaker. This does not happen between languages - a German and an English page never compete for the same keyword. It happens within one language, when several pages are carelessly optimised for identical terms. Clean separation of languages via separate URLs and hreflang is exactly what stops your German version from accidentally fighting your English one for visibility.
This is where a technically correct bilingual site and a genuinely successful one part ways. A word-for-word translation carries the German text into English - but it does not carry the English search habits with it. A German buyer and an international buyer in Dubai search differently, phrase things differently, expect different things. Translate only, and you rank for the wrong terms or for none at all.
Localising means adapting the content to the market, not just to the grammar:
That is how a single brand serves both worlds cleanly: the German page meets the German market with German terms, the English page addresses Dubai and the international audience in their own search and expectation logic - from one site, with one consistent brand, without the two getting in each other's way. How to specifically reach international buyers and investors is something we go deeper on in Reaching international buyers and investors.
Three technical building blocks carry the whole thing. They are connected and must be free of contradiction:
x-default for the rest of the world.The point of all this: it is not an ongoing burden. A bilingual site built from the start with separate paths, clean hreflang and correct canonicals runs by itself afterwards. The extra work is in the setup, not the operation. On the same foundation of clean, semantic HTML rests the rest of technical SEO too - more on that in SEO basics for clean HTML pages.
In short: Ranking in two languages means two real, indexable URLs per language, complete and reciprocal hreflang references, dedicated canonicals - and localised rather than merely translated content. Multilingual websites built right.
Almost every problem on a multilingual site traces back to a small handful of mistakes:
None of these mistakes are exotic. They happen because multilingualism is bolted on afterwards instead of belonging to the architecture from the start. If you want to make a brand visible in Germany and Dubai at the same time, plan the bilingual setup as a foundation, not as a button in the header. Get in touch and we'll look at your specific case.
You do not have to take our word for it - that is exactly why we build first. Give us your market, we build the version of your brand that becomes the obvious choice. Live in your browser, before money is ever discussed. Judge the work, not the promise.