Meet ElasticFunnels at Affiliate Grand Slam in Rome, 2–5 November 2026

Pricing Academy Blog

Make a multilingual website

How to make a multilingual website in ElasticFunnels: one page per language, linked, with the search-engine tags written for you.

Summarize with:
What you'll build

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, ro or pt-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.
The Translations screen lists English (Default) with the prefix / and Română with /ro/; Add language opens a form, the code es and the name Español are typed, and after Save Español appears with the prefix /es/
Codes are matched exactly: pt and pt-br are two languages.

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.

The page's row menu opens Settings; the Language tab shows Page language Not set and the Translations panel with the page alone; English (en) is picked and the settings are saved
The page you start from becomes the Original of its translation group.

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.

Add translation in shows Română (ro) with the URL ro/advertorial-morning-energy; the URL is changed to ro/energie-dimineata, Add translation is clicked, and a Romanian draft appears in the list under the English original
A draft still answers on its URL. Set a translation to offline until its copy is ready.

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.

The Translations panel lists the English original, a Romanian version and a Spanish version marked Out of date; Mark up to date is clicked and the badge goes away
The pencil on a row opens that version's own settings.

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/about and 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.
The Language URLs section: Serve pages under language folders is switched on, Language suggestion is set to Built-in prompt, and the cursor rests on Fallback language for search engines
The suggestion never redirects anyone, search engine bots never see it, and a visitor's choice is remembered.

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 pt and pt-br as 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.

FAQ

How to make a multilingual website: FAQ

How do I make my website multilingual?

Add the languages you sell in, set the language of each page you already have, then add a translation of each page in every other language and translate it. In ElasticFunnels that is the Translations screen under Pages, Advanced, and the Language tab in each page's settings.

What is hreflang in SEO?

An HTML link that tells search engines which other URLs hold the same page in another language or for another region, so each searcher is shown the version in their language. Every version should list all the others and itself.

How do I add hreflang tags?

In ElasticFunnels you do not write them. Once two or more linked versions of a page are published and indexable, each one gets an hreflang link per version, an x-default and a self canonical, and the sitemap lists the same alternates.

What are the best practices for hreflang tags?

Link every version to every other version and to itself, use absolute URLs, add an x-default for visitors whose language you do not have, and keep each version indexable with a canonical that points at itself. The tags ElasticFunnels writes follow those rules.

What is hreflang x-default?

The version search engines send people to when none of your languages matches them. In ElasticFunnels it is your default language unless you pick another one under Fallback language for search engines.

Can each language have its own URL?

Yes. Each translation is its own page with its own slug, so the Romanian version can live at /ro/energie-dimineata. The proposed URL is the language prefix plus the original's slug, and you can change it.

Should I redirect visitors to their language automatically?

No. Google advises against redirecting by IP or browser language, and its crawler mostly visits from the US, so a redirect can hide your other versions. The language suggestion offers the other version and leaves the choice to the visitor.

Do search engines see the language prompt?

No. Search engine bots and automated browsers get no suggestion, so every version is crawled as it is.

What happens to my existing pages?

Nothing, until you give a page a language. A page with no language renders exactly as before, and the language suggestion stays off until you turn it on.

Do I need a separate page for every language?

For pages whose copy, offer or layout differs by market, yes: that is what linked translations are for. A page whose layout never changes, such as a checkout, can stay one page whose words come from the brand's Texts, served under each language folder.

Can my header and footer change with the language?

Yes. Make a translation of the component the same way as a page translation. A page in Romanian then uses the Romanian component when there is one, and the base component when there is not.

Does a funnel keep the visitor's language?

Yes. When a funnel step sends a visitor to a page that has a translation in the language of the page they are on, they land on that translation.

How much does a multilingual site cost?

Multilingual pages are part of every ElasticFunnels plan; plans start at $97 a month with a 14-day free trial.

Sell in every language you ship to

Every feature on every plan. Start a 14-day free trial.