NEWProduction-ready HTML & CSS templates, live nowBrowse the catalog →
SEO & growth

SEO for multilingual websites: the basics that matter

13 April 2026 · 8 min read · By TM Team
TL;DR

Multilingual SEO comes down to three things: a clean URL structure per language, correct hreflang tags linking the versions together, and avoiding duplicate or thin translations. Get those right before worrying about anything more advanced.

Shipping a website in two languages is one of the highest-leverage moves a small business can make if a meaningful share of customers speak a second language — and one of the easiest places to accidentally hurt your own SEO. Search engines need to understand that your English page and your Spanish page are the same content in two languages, not two competing pages, or you end up cannibalizing your own rankings instead of reaching two audiences.

None of this is exotic. It's a small number of technical decisions, made correctly once, that then run in the background for as long as the site exists.

Pick a URL structure and stay consistent

There are three common ways to structure URLs for multiple languages, and any of them can work — what matters is picking one and applying it consistently across the whole site, not mixing approaches page by page.

Common multilingual URL structures
StructureExampleBest for
Subdirectoryyoursite.com/es/Most small businesses — simplest to set up, keeps one domain's authority
Subdomaines.yoursite.comSites with a separate team or hosting setup per language/region
Separate ccTLDyoursite.esBusinesses with a genuinely distinct country-specific presence and budget to maintain multiple domains

For the vast majority of small business sites shipping a second language, a subdirectory (yoursite.com/es/) is the right call. It's the simplest to implement on a static template, it keeps all your SEO authority consolidated under one domain, and it doesn't require managing DNS or hosting for a second domain or subdomain.

hreflang: telling search engines which page is which

The hreflang tag is an HTML attribute that tells search engines "this page and that page are translations of each other, here's which language and region each one targets." Without it, Google may show the wrong language version to the wrong audience, or worse, treat your translated pages as duplicate or competing content instead of understanding they serve different readers.

In practice, hreflang is a set of link tags in the page head, one for each language version, each pointing to itself and every sibling version. It looks more intimidating than it is — most static site generators and template systems can generate this automatically once you tell them which pages correspond to which.

Always include a self-referencing tag
Each language version needs an hreflang tag pointing to itself, not just tags pointing to the other versions. This is the single most common hreflang mistake — omitting the self-reference breaks the whole cluster.

The duplicate content trap

Search engines do not penalize you for having the same content in two different languages — that's the entire point of a multilingual site, and it's fully expected. The trap is different: publishing a second language version that's thin, machine-translated without review, or missing large sections of the original. That reads as low-quality content in that language, not as a legitimate translation, and it can drag down how the whole site is perceived in that market.

If you can't fully translate and maintain a page, it's better to leave it in the primary language than to publish a rushed, partial translation. A shorter but complete site in one language will out-rank a longer, half-finished site split across two.

Don't rely on browser-based auto-translation as your SEO strategy

Browser plugins and widgets that auto-translate your page on the fly are useful for visitors, but they do not create real, indexable pages in the second language — search engines generally can't crawl and rank content that only exists after a JavaScript translation layer runs client-side. If ranking in the second language actually matters to your business, you need real, separate HTML pages for that language, not a translation overlay on top of your English pages.

Localize more than the words

A translated page that keeps prices in the wrong currency, dates in the wrong format, or references to holidays and norms from the original market reads as an afterthought, and it hurts trust as much as it hurts SEO. Genuine localization — currency, date format, units, examples relevant to that audience — signals to both readers and search engines that this version was actually built for its audience, not just translated at them.

A workable multilingual setup
Consistent URL structure
Real translated pages
hreflang linking them
Localized details
One sitemap covering all

Each step depends on the one before it — skipping the URL structure decision makes everything after it harder to fix later.

Set (and respect) a default language

Use an x-default hreflang value to tell search engines which version to show visitors whose language doesn't match any of your available versions — usually your primary language. This avoids an awkward situation where a visitor from a country you don't have a dedicated version for gets served a page in a language they don't read, purely because of a hreflang misconfiguration.

Include every language version in your sitemap

Your XML sitemap should list every URL across every language version, not just your primary language. This is a common oversight when a second language gets added after the original sitemap was generated — the new pages exist and are linked from the site, but never get explicitly submitted for crawling, which slows down how quickly they get indexed.

  • Pick one URL structure (subdirectory is usually right for small sites) and stay consistent.
  • hreflang tags need a self-reference plus a reference to every sibling language version.
  • A thin or rushed translation hurts more than having no translation at all.
  • Client-side auto-translate widgets don't create indexable pages — you need real HTML.
  • Localize currency, dates and examples, not just the words.
  • Set an x-default and include every language version in your sitemap.
Do I need separate domains for each language?
No. A subdirectory structure like yoursite.com/es/ is simpler to set up and maintain, and it keeps your SEO authority consolidated under one domain — the right choice for most small businesses.
Will having the same content in two languages get me penalized for duplicate content?
No, as long as it's implemented correctly with hreflang tags. Search engines expect and support genuinely multilingual sites; the risk is thin or rushed translations, not the existence of multiple language versions.
Can I just use a browser translation widget instead of building real pages?
You can for visitor convenience, but it won't help your SEO in that language. Search engines generally can't index content that only appears after a client-side translation script runs, so if ranking in that language matters, you need real translated HTML pages.
What's the most common hreflang mistake?
Forgetting the self-referencing tag — each language version needs a tag pointing to itself, in addition to tags pointing to every other language version.
multilingual seohreflanginternational seobilingual website seomultilingual website structure