Websites
How to build a multilingual website that ranks on Google
A multilingual website needs a separate URL for each language, usually in subfolders such as /es/, linked to each other with hreflang annotations. Google works out a page's language from its visible text, not from code, and advises against automatically redirecting visitors based on a guessed language. AI translation is fine if someone who speaks the language reviews it; widgets that only translate in the browser don't create pages Google can find.
Contents
Key points
- Each language gets its own URLs, ideally in subfolders (/es/, /fr/) on the same domain.
- Hreflang annotations link the versions; every page lists itself and all its alternates.
- Google ignores the lang attribute and detects language from visible text, so each page should be in one language, menus included.
- Don't redirect automatically by browser language or IP: add a visible link to the other languages.
- AI translation is a good first draft; a native speaker checks it, especially prices, technical terms and local search terms.
A second language makes sense for a US clinic with Spanish-speaking patients, a hotel with international guests, a company that exports, or a European business selling to English speakers. But "we also have it in Spanish" can be done in several ways, and some of them bring no visitors from Google at all. Here's how to make translated pages appear in search, following Google's rules for multilingual sites.
One URL per language
The first rule: each language gets its own pages at its own URLs. Not the same URL that swaps its text based on a cookie or the browser's settings, because Google sees one version and indexes only that.
You have four URL options:
| Option | Example | Who it suits |
|---|---|---|
| Subfolder | example.com/es/ | Recommended for small businesses: one site, one host, easy to maintain |
| Subdomain | es.example.com | When the other language version is built separately, on another platform |
| Country domain | example.de | When you have a company, prices and offers specific to that country |
| URL parameter | example.com?lang=es | Not recommended: hard to track, unclear to people |
For most businesses, the subfolder is the right choice. The words in the URL can be translated too: example.com/services and example.com/es/servicios.
Hreflang: telling Google which page is the other language
Hreflang annotations tell Google that two pages are the same content in different languages, so it shows each person the right one. Both the English and the Spanish page carry the same set:
<link rel="alternate" hreflang="en" href="https://example.com/services" />
<link rel="alternate" hreflang="es" href="https://example.com/es/servicios" />
<link rel="alternate" hreflang="x-default" href="https://example.com/services" />
Three rules from Google's documentation:
- Every page lists itself and all other versions. If the Spanish page points to the English one but not the other way round, Google may ignore the annotations.
- Full URLs, with https and the domain.
- x-default marks the page for people who match none of the languages, usually your main language or a language picker.
Annotations can go in the page, in HTTP headers or in the sitemap. On a site built in code, they're generated automatically from the same list of pages, so none is left without its pair.
Google reads language from text, not code
Google says it doesn't use the lang attribute or the URL to work out a page's language; it detects it from the visible text. That has consequences:
- one language per page. A page with an English menu and Spanish body text, or with both languages side by side, is hard to classify;
- translate everything: menu, buttons, footer, search title and description, image alt text, form messages, privacy policy;
- structured data (service names, hours, FAQs) is translated too, so it matches the visible text.
No automatic redirects
It's tempting to send visitors with a Spanish browser straight to /es/. Google advises against it: redirecting by guessed language or IP can stop people and crawlers from reaching all versions. Googlebot crawls mostly from the US, so it might only ever see one version.
Instead of redirecting, put a visible link to the other language, usually at the top, in the menu, leading to the same page in the other language rather than the home page. You can also show a discreet banner ("Esta página también está disponible en español") that people can close.
Translation: AI, human or both
AI translation is now good enough for a first draft. Google doesn't forbid it: its scaled content abuse policy targets automated translation used to fill a site with pages of little value, not the translation of a real site.
What a person, ideally a native speaker, should check:
- technical terms (medical, legal, trade), where a literal translation sounds odd or is wrong;
- the words people actually search for. A Spanish speaker in Texas may search "dentista cerca de mí" rather than a literal translation of your page title;
- prices and units: currency, tax included or not, date and time formats, metric or imperial;
- tone: what sounds friendly in one language can sound stiff or overly familiar in another.
What to translate first
If the budget is limited, don't translate everything at once. Start with the pages that bring customers who speak that language:
- the home page;
- the main services, with prices;
- the contact and booking page;
- the about page, where trust matters (clinics, lawyers, expensive services).
Translate blog posts only where they make sense for that audience.
Checklist
- Each language has its own URLs, in subfolders.
- Each page has hreflang to itself and every version, plus x-default.
- Each page is fully in one language, including menus, forms and metadata.
- The language switch leads to the same page in the other language.
- No automatic redirects by browser language or IP.
- A native speaker has reviewed the translation.
- The sitemap includes every version.
- Search Console shows pages in every language as indexed. If not, see why your website isn't showing up on Google.
If you're rebuilding the site to add a language, keep the old URLs or redirect them so you don't lose rankings; the details are in our website redesign guide.
We build websites in two or more languages, with separate URLs, hreflang generated automatically and text reviewed by people. Details are on our web design page.
Questions
How do I make my website bilingual?
Give every page a version in each language at its own URL, for example example.com/services and example.com/es/servicios. Link the versions with hreflang and put a visible link to the other language on every page. Translate menus, search titles, alt text and forms too.
Is a Google Translate widget enough?
Not if you want to rank in that language. A widget that translates in the browser on demand doesn't create separate pages, so Google only indexes the original language. It can help visitors, but it isn't a language version of your site.
Can I translate my website with ChatGPT?
Yes, as a first draft. Google's spam policies target automated translation used at scale to fill a site with low-value pages, not translation itself. Have a native speaker check the text, prices, technical terms and the words people actually search for in that market.
Subfolder, subdomain or separate domain?
For a small business, a subfolder (example.com/es/) is simplest: one site, one host, and the domain's authority shared across languages. A country domain (.de, .fr) makes sense when you have a company, prices and offers specific to that country.
Do I have to translate the whole site?
Not necessarily. Start with the pages that bring customers who speak that language: the home page, main services, prices, contact. What matters is that the translated pages are fully translated, not just the menu with the body left in English.
Sources
- Managing multi-regional and multilingual sites, Google Search Central
- Tell Google about localized versions of your page, Google Search Central
- Spam policies for Google web search: scaled content abuse, Google Search Central