An English advertorial with a Romanian and a Spanish version, each at its own URL (/ro/energie-dimineata, /es/energia-matinal), linked as translations of one page. Once the versions are published, every one of them carries hreflang links (the tags that tell search engines which URL is the same page in another language) to the others, an x-default and a canonical link to itself, and the sitemap lists the same alternates. Visitors whose browser asks for Romanian can get a small prompt that offers the Romanian page.
This is the video walk-through of the docs page Multilingual sites, which has every field and option. Nothing changes on a page until you give it a language, so you can set this up on a live brand.
You need a page to translate. The clips use a demo brand, so the pages, texts and languages in them are example data.
1Add your languages
Open Pages, then Advanced, then Translations, and click Add language.
- Code: a short code such as
en,roorpt-br. - Language: the name visitors see, written in that language (Română, Español).
- URL prefix: leave it empty to use the code, so Spanish pages live under
/es/. - Default language: switch it on for your main language. It has no prefix.

2Give the original page its language
In Pages, open the row menu of the page you want to translate and click Settings. Go to the Language tab, set Page language to the language it is written in, and save.
A page left on Not set renders exactly as it did before languages existed.

3Add a translation
In the Translations panel on the same tab, pick a language in Add translation in. The URL is proposed as the language prefix plus the original's slug; change it to a translated slug if you like, then click Add translation.
ElasticFunnels makes a draft copy of the original in that language and links the two. Open it, translate the copy, the SEO title and the SEO description, then publish it.

4Keep translations up to date
A translation remembers the original's text from the moment it was made: the SEO title, the SEO description and the visible text of the page. When that text changes, the translation shows Out of date in the panel.
Update the translation, then click Mark up to date. Changes to markup, scripts and styles do not count.

5Choose how visitors reach each language
Back on Translations, the Language URLs section has three settings. Each one saves as you change it.
- Serve pages under language folders: a page with no language of its own, one that takes its words from the brand's Texts, also answers at
/ro/about,/es/aboutand so on, in that language. - Language suggestion: Off (the default), Built-in prompt, or My own markup for a prompt you design yourself.
- Fallback language for search engines: the hreflang x-default. Left empty, it is the default language.

What visitors and search engines get
Once two or more versions in a group are published and indexable, each one gets these in its head, with no code from you:
<html lang>set to the page's language.- One hreflang link per published version, the page itself included, plus
hreflang="x-default". - A self canonical, unless you set your own.
- The same alternates in
sitemap.xml.
Components follow the page: a Romanian page that includes your header uses the Romanian translation of that component when there is one. Funnels do too. A funnel step that leads to a page with a Romanian version sends a visitor on a Romanian page to that version, so you build the funnel once, with the original pages.
Common mistakes when you make a multilingual website
- Linking pages before you set a default language. The x-default link and the fallback for missing texts both point at it. Add your main language first and switch on Default language.
- Redirecting by browser language in a script. Google crawls mostly from the US with no language preference, so a redirect can hide your other versions. Use the language suggestion, which only offers the other page.
- Publishing the copy before it is translated. A new translation starts as a draft copy of the original, and a draft still answers on its URL. Keep it offline until the words are done.
- Using
?hl=for pages you want found. One URL for every language means search engines index one version. Give each language its own page, or turn on language folders. - Treating
ptandpt-bras one language. Codes are matched exactly. Add both if you sell in Portugal and Brazil.
Keep going
Every field, the dictionary model and the template variables: Multilingual sites in the docs. The prompt and a switcher you build yourself: Language prompt and switcher. How hreflang, canonical links and sitemap alternates are written: SEO for multilingual sites. Build the page you will translate: how to make a landing page. All tutorials: the Academy.