
How to Optimise Language Versions for SEO
Going multilingual? Don’t just translate, structure. If search engines can’t tell which version is for which audience, you’ll split signals, confuse crawlers, and kill your visibility.
There are three ways to set up language versions:
- Subdirectories — example.com/fr
Easy to manage, easy to scale. All content stays on one domain, authority flows across sections, and tracking stays simple. - Subdomains — fr.example.com
Cleaner separation, but treated as a different property by Google. You’ll need to build authority from scratch. Use it if you want more control across teams or tools. - Country-code TLDs (ccTLDs) — example.fr
Strongest geo signal, but highest overhead. You’re running separate SEO campaigns for each one. If you don’t have the resources, don’t bother.
Pick one setup and stick to it, consistency wins. Then make sure your hreflang tags are on point, your sitemap reflects every version, and there’s no duplicate content across languages.

Global SEO works, but only if your structure does.
❓Which Setup Works Best for Multilingual SEO?
There’s no one-size-fits-all answer, but there is a smarter way to choose.
From an SEO standpoint, each structure comes with trade-offs. Subfolders inherit domain authority, making them cheaper and faster to scale. Top-level domains give stronger local signals but need more resources. Subdomains sit somewhere in the middle, flexible, but not as powerful.
Subfolders (example.com/fr) are usually the most efficient option. They benefit from the domain’s overall strength and link equity, which lowers the cost of entry. You don’t need to build fresh authority for each version. That’s a win.
But ccTLDs (example.fr, example.de) send the strongest local signals. Google knows what region they’re for, and so do users.
The catch? You’ll need to build separate backlink profiles. Getting .de links for a German ccTLD costs more, takes longer, and often requires local outreach. And if the domain’s already taken, expect to pay, or walk away.
Subdomains (fr.example.com) are a compromise. Google treats them as separate entities, so the SEO value doesn’t flow as freely as with folders. Still, if your root domain has solid authority, some of that power will carry over. It’s not ideal, but it works, especially if your CMS setup demands separation.
There’s also a geo-ranking problem. Running example.co.uk/fr might not help you rank in France. Even with the French content, that UK TLD still matters. Google factors in the domain extension, and your subfolder might get treated like a secondary page on a foreign site.
Bottom line? Subfolders are cost-effective, ccTLDs are powerful but expensive, and subdomains are flexible but weaker for SEO. Choose based on more than just rankings. Look at your CMS, your marketing goals, your team’s capabilities, and your expansion roadmap.
Then commit. A half-baked multilingual setup won’t scale. Structure it smart, link it right, and make sure every language version stands on its own, for bots and users.
🌐 Hreflang: How to Show Google the Right Language, the Right Way
Choosing where and how to publish each language version is just the start. If you don’t tell Google what’s what, your international SEO can tank fast, even with perfect translations. That’s where hreflang comes in.
Hreflang tags tell Google which version of your page belongs to which language and region. Without it, search engines might group your content as duplicate, rank the wrong version, or serve users content in the wrong language.
You can use hreflang with subfolders, subdomains, or ccTLDs, the structure doesn’t matter as long as the signals are clear.
Hreflang solves two core problems:
- It tells Google how to pair content to language and location.
- It prevents duplicate content issues between similar versions (like en-US, en-GB, en-AU).
🔧 Three ways to implement hreflang
1. In the HTML <head>
html
CopyEdit
<link rel=”alternate” hreflang=”pl” href=”http://example.com/pl” />
Use this for standard web pages. Add it to every version of the page.
2. In the HTTP header
bash
CopyEdit
Link: <http://example.com/de>; rel=”alternate”; hreflang=”de”
Use this for non-HTML content like PDFs or downloadable files.
3. In your XML sitemap
xml
CopyEdit
<url>
<loc>http://example.com/</loc>
<xhtml:link rel=”alternate” hreflang=”es” href=”http://example.com/es” />
<xhtml:link rel=”alternate” hreflang=”pl” href=”http://example.com/pl” />
</url>
Cleanest for large sites with multiple languages and fewer dev resources.
🛠 Common hreflang mistakes to avoid
Check your implementation in Google Search Console, under International Targeting. Two errors show up constantly:
- No return tag
If page A links to page B as an alternate, page B must link back to A. No exceptions. - Unknown language code
Use ISO standards:
- Language: ISO 639-1 (e.g. de, en)
- Region (optional): ISO 3166-1 alpha-2 (e.g. en-GB, de-CH, de-ES)
- Language: ISO 639-1 (e.g. de, en)
If a page has alternates, don’t point the hreflang tag to itself, only to other variants. So if you have Polish, German, and Italian versions, each page must reference the other two, not itself.
Also, if your homepage uses geo-IP redirects or a language picker, use this tag:
html
CopyEdit
<link rel=”alternate” hreflang=”x-default” href=”http://example.com/” />
This signals Google that the page doesn’t target a specific region or language, it’s the fallback.
And finally, hreflang applies across subdomains and TLDs too, not just folders. If your French site lives on example.fr and the German version is de.example.com, make sure each one references the other with hreflang.
Get this right, and you’ll serve the right users, with the right content, in the right language, every time.
🧠 What Else to Watch in Multilingual SEO
Hreflang is critical, but it’s not the full picture. There are a few more things Google expects from a properly structured multilingual setup, and skipping them creates crawl issues, confusion, or flat-out ranking failure.
Always include a visible language switcher.
Make it easy for users to switch versions, and make sure search engines can crawl those links. Google can’t follow language versions that live in JS-only drop-downs or hidden elements. Use real anchor tags, crawlable paths, and clear navigation between variants.
Set language info in the page code, not just hreflang.
Even if you use hreflang, define the language in the <head> with:
html
CopyEdit
<meta http-equiv=”content-language” content=”en” />
Or better yet, in the opening HTML tag:
html
CopyEdit
<html lang=”en-GB”>
This helps bots verify which language the page is in, especially when content is similar across regions.
Don’t assign a global language to the entire domain.
Every variant should declare its language separately. If your domain has multiple language versions in subfolders or subdomains, don’t set one site-wide language tag. Localise each version properly.
Use Search Console to set country targeting.
If you’re using folders, subs, or ccTLDs, configure location targeting in Google Search Console under International Targeting. You’ll need to add each language version as a separate property first, but once that’s done, you can set country preferences per folder, subdomain, or domain.
Multilingual SEO is all about clarity. Google won’t guess which page belongs where, it needs structure, consistency, and hard-coded signals. Set it all up right, and your language versions will perform like they were built for those markets from day one.
✅Multilingual SEO Only Works If You Build It Right
Rolling out your site in multiple languages isn’t easy, and it’s definitely not cheap. That’s why structure matters. Choose the right multilingual SEO setup from the start, follow Google’s rules to the letter, and map each version clearly with hreflang and country targeting.
Skip any of that, and your pages compete with each other, confuse crawlers, and never rank where they should.
But when it’s done right? Google connects the dots, serves the right version to the right user, and unlocks search visibility across regions that would’ve otherwise ignored you. It’s not just about traffic, it’s about trust, clarity, and showing global users a site built for them.
Global reach starts with smart execution. Get your multilingual setup clean, and SEO will handle the rest.