Multilingual websites done right: TR, EN and NL
URL structure per language, hreflang and x-default, translated slugs and metadata: the technical and editorial foundations of a site published in Turkish, English and Dutch.

A multilingual site needs a separate, stable URL for each language, hreflang annotations linking the versions, an x-default version, and its own title, description and slug in every language. Translation should be run as an ongoing workflow covering every update, not as a one-off task.
The foundation of a well-built multilingual website is giving each language version its own permanent URL and connecting those versions with hreflang annotations. On top of that come titles, descriptions and slugs written separately for each language. Even with correct technical setup, a site without a translation workflow will drift out of sync between languages over time.
URL structure per language
For search engines to recognise each language as a distinct page, each needs its own URL. There are three common options:
- Subdirectories: /tr/, /en/, /nl/. The easiest to manage under one domain and the most common choice.
- Subdomains: en.example.com. Useful when separate infrastructure is required.
- Country domains: example.nl, example.com.tr. A strong local signal, but heavier to run and maintain.
Avoid set-ups that switch language only via a cookie or a parameter such as ?lang=en. All languages then share one address and search engines cannot reliably distinguish the alternates.
hreflang and x-default
hreflang tells search engines which URL holds the same content for which language and region. The core rules in Google's documentation are:
- Each language version lists all alternates, including itself.
- Links must be reciprocal: if the TR page points to EN, the EN page must point back to TR.
- Language codes use ISO 639-1 (tr, en, nl), optionally followed by an ISO 3166-1 Alpha-2 region code (for example nl-BE).
- x-default names the fallback page shown when no version matches the visitor's language, typically a language selector or the main international version.
hreflang can be supplied in one of three ways: link elements in the page <head>, HTTP headers (for non-HTML files such as PDFs) or the XML sitemap. Whichever you choose, apply it consistently and let the CMS generate the annotations rather than maintaining them by hand. The page's HTML lang attribute should also match the content language, which matters for screen readers and browsers.
Each language version's canonical tag should also point to itself. Canonicalising every language to one version can cause the others to drop out of the index.
Translated slugs and metadata
Translating the body text is not enough. Each language needs its own:
- URL slug (/tr/hizmetler/ versus /en/services/)
- Page title and meta description
- Open Graph title and description
- Image alt text
- Text inside structured data
That is why storing content per language in translation tables is far more robust than duplicating pages by hand. The language switcher should also take visitors to the equivalent page in the other language, not back to the homepage.
Content workflow
The real difficulty begins after launch. When a service page is updated in Turkish but left unchanged in English and Dutch, different markets receive different information. A simple, effective routine: define a source language, flag every change as "awaiting translation" in the other languages, have a native speaker review it, and only then publish. Machine translation can produce a draft, but it should pass human review before going live.
Common mistakes
- Automatically redirecting visitors by IP or browser language; Google recommends offering a language choice instead.
- One-way hreflang links, or annotations pointing to pages that do not exist.
- Publishing untranslated pages under another language's URL.
- Turkish menu, button or form labels left on English pages.
- Identical titles and meta descriptions across languages.
How Grafikare approaches it
On multilingual projects we first define the URL structure and a per-language content model, and we let the system generate hreflang and canonical tags automatically. We then set up a workflow that makes missing translations visible, so that a new language such as Dutch can be added without disturbing the existing structure.
Frequently asked questions
Should a multilingual site use subdirectories or subdomains?
For most corporate sites, subdirectories such as /tr/ and /en/ are the most practical to manage and maintain. Subdomains or country domains make sense when separate infrastructure or a strong local presence is needed.
What does x-default do?
x-default specifies which page to show when no version matches the visitor's language or region. It is usually a language selector or the main international version.
Is machine translation enough for a multilingual site?
It works for drafts, but a native speaker of the target language should review it before publishing. Errors in terminology and tone undermine trust.
Sources & references
Related articles

How to plan a corporate website project
Scope, sitemap, content and timeline: the decisions that need to be made, and in what order, to run a corporate website project without surprises.
.jpg)
What determines the cost of an e-commerce website?
Platform or custom build? How catalogue structure, ERP and marketplace integrations, payments, shipping, languages and post-launch costs shape an e-commerce budget.

Selling online from Türkiye to the Netherlands and the EU
Localisation, local payment habits such as iDEAL, shipping and returns expectations, the general picture on customs and VAT, and trust signals for entering the…