Multilingual URL Structure: Subfolders, Subdomains or ccTLDs
You have decided to offer your site in a second or third language. Before anyone translates a single sentence, you face a quieter decision that shapes your SEO for years: where do those translated pages live? example.com/de/, de.example.com, example.de or a ?lang=de tacked onto the end all look like small differences, but search engines treat them very differently. This guide compares every multilingual URL structure option with Google’s own guidance so you can pick a setup once and keep it.
Why each language needs its own URL
Start with the one rule that matters more than the subfolder versus subdomain debate. Google’s guide to managing multi-regional and multilingual sites recommends separate URLs for each language version of a page instead of switching content based on cookies or browser settings.
According to the same guide, Googlebot usually crawls from the USA and does not send an Accept-Language header. If your site decides the language on the fly, Google may only ever see your English (or default) version. Your other languages then do not exist for search.
Google is equally direct about IP-based tricks. The guide advises against using IP analysis to adapt content, because location detection is unreliable and Google does not vary its crawl location to discover alternate versions. It also recommends letting people switch languages themselves rather than redirecting them automatically based on an assumed language.
The five URL structure options at a glance
Google’s guide lists four ways to build locale-specific URLs and explains how generic domains fit in. Here is a summary of its pros and cons, with the examples Google itself uses.
| Option | Example | Pros | Cons |
|---|---|---|---|
| Country code top-level domain (ccTLD) | example.de |
Clear geotargeting; server location irrelevant; easy to separate sites | Can be expensive or unavailable; more infrastructure; strict eligibility rules in some countries; targets only one country |
| Subdomain on a gTLD | de.example.com |
Easy to set up; different server locations possible; easy to separate sites | Users may not know if “de” means a language or a country |
| Subdirectory (subfolder) on a gTLD | example.com/de/ |
Easy to set up; low maintenance on one host | Geotargeting less obvious to users; one server location; harder to separate sites |
| URL parameters | example.com?loc=de |
None listed | Not recommended; segmentation is difficult; users cannot read the target from the URL |
| One URL for all languages | example.com |
Nothing to configure | Google may never crawl the other language versions |
Source: Google Search Central, last row based on Google’s guidance on cookies, browser settings and IP detection.
The last two rows are the ones to avoid: a single URL hides your translations from search and URL parameters are the only option for which Google lists no advantages at all. The top three are all workable. They differ mainly in cost, maintenance and how strongly they signal a country rather than a language.
Subfolders: the default for most small sites
A subfolder setup puts every language under one domain: example.com/en/, example.com/de/, example.com/fr/. Google calls this option easy to set up and low maintenance because everything sits on the same host.
For a small business site or shop, that is usually the deciding factor. You run one domain, one SSL certificate, one hosting account and one Search Console property. All your backlinks point at the same domain and your analytics stay in one place.
The platforms agree. Shopify’s documentation on international SEO for markets supports subfolders, subdomains and top-level domains, but explicitly recommends subfolders for most stores because they are easy to set up and need no extra domain registration. Webflow Localization also publishes each locale in its own subdirectory such as /fr and leaves the primary locale at the root by default, according to its help article on localized SEO and locale routing.
The downsides Google names are modest for most small teams. Visitors cannot tell from /de/ alone whether you mean German speakers or Germany. You also cannot host the German section on a separate server. If you have no plans for country-specific infrastructure, neither point should stop you.
Subdomains: separate sections without separate domains
With subdomains, each language gets its own host name: de.example.com, fr.example.com. Google lists them as easy to set up and notes they allow different server locations and an easy separation of sites.
That separation is the reason to choose them. If your French site is run by a different team, lives on a different system or needs a different hosting region, a subdomain keeps it apart while staying under your brand.
Many SEOs claim subdomains are weaker. In a 2018 office hours hangout reported by Search Engine Journal, John Mueller said Google treats subdomains and subdirectories the same, while adding that he would personally keep related content together where possible. SEOs still argue about it, as Search Engine Roundtable documented when the debate flared up on Twitter in 2018.
ccTLDs: strongest country signal, highest cost
A country code top-level domain such as example.de or example.fr tells both users and Google that the site is meant for one specific country. Google’s guide calls this clear geotargeting and points out that server location does not matter.
The cost is real, though. You need to buy and renew each domain, some registries have strict eligibility rules and each domain is its own site to maintain, link and monitor. Google also notes that a ccTLD targets only one country, which is a problem if your content is about a language rather than a market. A German version on example.de is a poor fit for your Austrian and Swiss readers.
Watch out for domains that look like country codes but are not treated that way. Google’s guide explains that it treats .eu, .asia and some ccTLDs such as .tv and .me as generic domains, so they carry no country signal.
ccTLDs fit companies with real country operations: local pricing, local legal entities, local marketing teams.
URL parameters: technically possible, rarely a good idea
Parameters such as example.com/about/?lang=fr are the lowest effort option on some systems. WordPress users meet this choice in WPML, whose language URL options include directories, separate domains or subdomains and a language parameter. WPML notes that the parameter format needs no server changes, while directories need Apache’s rewrite module and pretty permalinks.
Easy to set up does not mean good for search. Google marks URL parameters as not recommended because segmenting a site by parameter is difficult and visitors cannot see the target language in the URL. If your plugin offers directories, use them.
What about country targeting in Search Console?
Older guides tell you to set a target country in Google Search Console. That option is gone. Google’s help page states that the International Targeting report has been deprecated and that country targeting was judged to have little value for the ecosystem. Search Engine Land reported that the report launched in 2014 and was scheduled for removal on September 22, 2022.
Google says on the same help page that it continues to support and use hreflang. That makes hreflang the main tool for connecting your language versions, whichever structure you choose.
Connect the versions with hreflang
Your URL structure tells Google where each version lives. Hreflang tells it which pages belong together. Google’s documentation on localized versions of your pages describes three equivalent ways to add it: <link> tags in the page head, HTTP headers or your XML sitemap.
A few rules from that page catch most mistakes:
- Every language version must list itself and all other versions. If two pages do not point back to each other, Google ignores those annotations.
- Use an ISO 639-1 language code, optionally followed by a region code, such as
deoren-GB. A region code on its own is invalid. - Add an
x-defaultentry for visitors whose language you do not cover, for example a language selector page.
Many platforms do this for you once each language has its own URL. Shopify turns automatic hreflang tags on by default and creates them only for markets with a distinct domain, subdomain or subfolder, according to its international SEO guide. The same page says automatic redirection applies to customers while known search engine crawlers are excluded. Webflow can add hreflang tags to the page head and to its auto-generated sitemap, per its localized SEO article.
If you want a broader list of what goes wrong, our post on common website translation mistakes covers missing hreflang alongside other problems.
If you translate with a JavaScript snippet
Script-based translation tools appeal to owners of WordPress, Webflow and hand-coded sites because you add one snippet instead of rebuilding your site. heylingo works this way too: one script tag, AI translation with translation memory, inline corrections on the live site and 30+ languages for EUR 20 per 1,000,000 translated characters per month.
Whichever tool you look at, ask the vendor one direct question before you buy: does each language get its own crawlable URL, with hreflang? If the answer is that the language only changes in the visitor’s browser on the same URL, you are in the “one URL for all languages” row of the table above. That can be fine for visitors who are already on your site, but it will not bring you search traffic in the new language.
FAQ
Are subfolders better than subdomains for SEO?
Not according to Google. John Mueller said in 2018 that Google treats both the same, as reported by Search Engine Journal. Subfolders are usually the better business choice for small sites because they are cheaper and simpler to maintain, not because they rank better by default.
Should I use a different URL for language and for country?
Only if your content really differs by country. A language subfolder such as /de/ works for all German speakers. Add a region, such as /de-at/ with the hreflang code de-AT, when prices, shipping or legal text differ. Google’s hreflang documentation supports both language-only and language plus region codes.
Can I change my URL structure later?
You can, but it is a site migration with redirects for every page. In a January 2018 Google video covered by Search Engine Roundtable, Mueller advised choosing a setup you can keep for a long time, since URL changes take a while to settle in search. Note too that on Webflow, existing 301 redirects do not automatically cover localized subdirectories, so /old-url and /es/old-url need separate rules according to its help article.
Should I redirect visitors to their language automatically?
Google recommends against automatic redirects based on an assumed language and suggests letting users switch themselves. A visible language switcher plus a sensible x-default page is the safer pattern. If you need one, our language switcher code generator can help you build it.
Conclusion
The most important decision in multilingual URL structure is to give every language its own URL at all. After that, the choice is about your business more than about rankings. Subfolders are the right default for most small business sites, shops and agency projects: one domain, low maintenance and the setup Shopify recommends for most stores. Pick subdomains when language versions are run as separate properties, ccTLDs when you have genuine country operations and skip URL parameters and single-URL setups if search traffic matters to you.
Decide once, connect the versions with hreflang and keep the structure stable. Then spend your energy where it pays off: good translations in each language.
Ready to add your next language with one line of code? See heylingo pricing.
Sources
- Google Search Central: Managing multi-regional and multilingual sites
- Google Search Central: Tell Google about localized versions of your page
- Google Search Console Help: The International Targeting report is deprecated
- Search Engine Land: Google Search Console to remove International Targeting report
- Search Engine Journal: Google treats subdomains and subdirectories the same, John Mueller says
- Search Engine Roundtable: SEOs and Google fight over subdomains vs subdirectories
- Shopify Help Center: International SEO for markets
- Webflow Help Center: Localized SEO and locale routing
- WPML: Language URL options