GuidesMultilingual SEO
Multilingual SEO: hreflang, translated URLs and mistakes to avoid
One language, one URL
The first principle is simple: each version of a page has its own URL. No language hidden in a cookie or guessed on the fly at the same address. Google indexes URLs, and it cannot index three languages at one.
Three possible structures:
| Structure | Example | For whom |
|---|---|---|
| Subfolders | site.com/fr/, site.com/es/ |
Most sites |
| Subdomains | fr.site.com |
Separate teams or infrastructure |
| Country domains | site.es, site.co.uk |
Businesses that differ by market |
This site uses subfolders: French at the root, English under /en, Spanish under /es.
Translate the URLs too
A URL readable in the visitor’s language helps the click and the understanding. /es/guias/ is better than /es/guides/.
That is the choice made on Pocabase: 46 languages served from a single codebase, with translated URLs for SEO. The technical rule behind it: one mapping table per page, and never a URL built by hand in the code.
hreflang tags
They tell Google which pages are translations of one another. On each page, you declare all its versions, itself included:
- one line per language, with the full URL;
- an
x-defaultline, the version to show when no language matches; - reciprocal declarations: if the French page cites the English one, the English one must cite the French one.
- FRFrançais
/guides/seo-multilingue - fr · itself
- en
- es
- x-default
- ENEnglish
/en/guides/ multilingual-seo - fr
- en · itself
- es
- x-default
- ESEspañol
/es/guias/ seo-multilingue - fr
- en
- es · itself
- x-default
The errors we come across most:
- a translation that points to the home page instead of the equivalent page;
- tags present in one language and missing from the others;
- hreflang URLs that redirect or return an error;
- a canonical tag that points to another language. Each version must be its own canonical.
Translate the meaning, not the words
People do not search for the same thing in every language. “Online store” is “boutique en ligne” in French and “tienda online” in Spanish, and search volumes do not overlap. For each language:
- redo the keyword research rather than translating the original list;
- rewrite the title and description of every page;
- adapt examples, units and currencies;
- translate image alt text and structured data.
Small Eden exists in six languages. Serres Tour App in five: French, English, German, Italian and Dutch.
The language switcher
The language switcher must lead to the same page in the other language, not to the home page. It is written with real links that crawlers follow. Each language is named in its own language: “Français”, not “French”.
The sitemap and Search Console
- The sitemap lists the URLs of every language.
- In Search Console, a domain property covers everything. You then filter by subfolder to follow each language.
- The indexing report shows which versions Google kept, and which ones it treats as duplicates.
The checklist
- Each language has its own stable, readable URLs.
- The page’s
langattribute matches its content. - hreflang tags are complete, reciprocal, and include
x-default. - Each page is its own canonical.
- Titles, descriptions and structured data are translated.
- No automatic redirect based on country or browser language.
- The language switcher leads to the equivalent page.
Frequently asked questions
- Do you need one domain per country?
- Not in most cases. Language subfolders on a single domain (/en, /es) concentrate the site’s authority and are simpler to maintain. One domain per country is justified for businesses that are genuinely different from one market to another.
- Does machine translation hurt rankings?
- What gets penalised is content with no value, not the tool. A machine translation that is reviewed, adapted to local vocabulary and genuinely useful ranks well. Raw translation published in bulk does not.
- Should you redirect visitors based on their country?
- No. An automatic redirect by IP address prevents visitors and crawlers from reaching the other versions. It is better to suggest the right language in a banner and leave the choice.


