For most small and mid-sized businesses, subfolders on one domain (example.com/de/) are the simplest and most maintainable way to structure a multilingual website. Subdomains suit teams that need separate servers or systems, and country-code domains (example.de) suit businesses committed to one country with the budget to run a separate site. Whichever you pick, give each language its own URLs, link the versions together with hreflang, and do not auto-redirect visitors based on a guess.
The options compared
Google’s documentation lists the main structures and their trade-offs (Google Search Central):
| Structure | Example | Strengths | Weaknesses |
|---|---|---|---|
| Country-code domain (ccTLD) | example.de | Clear geotargeting, easy to separate sites | Can be costly and hard to obtain, more infrastructure, sometimes strict eligibility rules, targets one country only |
| Subdomain | de.example.com | Easy to set up, can use different servers, keeps sites separate | Users may not know whether “de” means language or country |
| Subdirectory (subfolder) | example.com/de/ | Easy to set up and low maintenance, one host | Weaker geotargeting signal in the URL, one server location, harder to separate sites |
| URL parameters | example.com?loc=de | None worth the trouble | Google does not recommend this approach |
Two points matter beyond the table. First, a ccTLD is a country signal, not a language signal. A site for Spanish speakers in several countries does not fit neatly into one. Google also notes that some country-code domains have strict eligibility rules, so check the registry rules for any ccTLD before you build a plan around it.
How to choose
Ask these questions in order:
- Are you targeting languages or countries? If languages (for example English, Chinese and Spanish), a subfolder or subdomain per language is natural. If countries with different prices, legal text and shipping, you may want country-level structure.
- How many markets will you realistically run? A few markets favour subfolders. A large number with local teams may justify subdomains or ccTLDs.
- Who manages each version? Independent local teams that need their own hosting or platform may prefer subdomains or ccTLDs. One central team usually prefers one site.
- What is the budget for domains, hosting and maintenance? ccTLDs multiply costs.
- Is brand authority concentrated on one domain? A single domain keeps links, mentions and reporting together, which tends to simplify things for smaller sites. Treat this as a practical consideration, not a guarantee of ranking.
- Do you have legal or data requirements for a specific country? Some cases favour a clearly separate country site.
For translation choices, see localisation versus translation. If you cannot decide, subfolders on one domain are the usual starting point and are easier to adjust than to unpick later. Changing structure after launch means redirects and temporary visibility loss, which is why URL structure and redirects deserves careful planning.
Rules that apply to every structure
Separate URLs for each language. Google advises using different URLs for each language version rather than relying on cookies or browser settings to change the language, and keeping each page in a single language for both content and navigation. Avoid side-by-side translations, and avoid translating only the boilerplate while leaving the main content in one language (Google Search Central).
Do not auto-redirect by guess. Google advises against automatically redirecting users to a language version based on your guess of their language, because it can stop users and search engines from reaching every version. Add visible links to the other versions so people can choose.
Link versions with hreflang. Annotations tell search engines which page is for which language or region. Google’s requirements include reciprocal links (if page A points to B, B must point back or the tags may be ignored), a self-reference on each page, an optional x-default fallback for visitors whose language matches no version, and valid ISO language codes, optionally with a region code, such as en-GB. A region code alone is invalid (Google Search Central).
Avoid locale-adaptive traps. Pages that change content automatically by visitor location may not be fully crawled. Google recommends separate locale URLs connected with hreflang, and consistent robots rules across locales (Google Search Central).
Practical steps
- List languages and countries, and decide whether each is a language version, a country version or both.
- Choose the structure using the questions above, and write it down.
- Design consistent URL patterns, for example /en/services and /zh/services with matching slugs or a documented mapping.
- Plan translated page titles, meta descriptions and navigation for each version.
- Add a visible language switcher on every page, linking to the equivalent page in the other language where it exists.
- Implement hreflang across all versions, including self-references, and check reciprocity.
- Set up analytics and search reporting so each version can be filtered.
- Test with real users in each language before launch.
For wider planning, see website information architecture.
Common mistakes
- Machine-translating pages and publishing them without review.
- Mixing languages on one page.
- Missing return links in hreflang sets.
- Redirecting all visitors from one country to one version.
- Using flags to represent languages, which can exclude or confuse people.
- Forgetting to translate forms, error messages and legal pages.
Limitations
Google’s guidance describes trade-offs rather than a single best answer, and other search engines may behave differently. If you target China or other markets with local search engines and hosting rules, check those requirements separately.
Where to go next
Radiance Impact’s Technology division builds business websites and redesigns, and the Global hub works on localisation and adaptation. See /technology and /global/localisation, or get in touch through /contact.
Sources
- Managing multi-regional and multilingual sites, Google Search Central
- Tell Google about localized versions of your page, Google Search Central
- Locale-adaptive pages, Google Search Central




