To build a multilingual website in WordPress, install a multilingual plugin (WPML, Polylang, TranslatePress or Weglot), add your languages, and translate each page, menu and form. On its own, WordPress shows a site in one language: its Site Language setting changes the language of the dashboard and of the built-in text of WordPress, your theme and your plugins, but not your pages. The plugin gives every language its own version of each page, at its own URL, links the translations to each other and adds a language switcher for visitors. We build multilingual sites on WPML, and our own site runs in English, Romanian and Russian.

Below: how to change the language of WordPress itself, which plugin to choose, how we set up a multilingual site step by step, and the mistakes that most often keep Google from showing the right version.

The site language and the dashboard language

WordPress has two language settings, and both change only the interface:

  • Site Language (Settings, then General): the language of the dashboard and of the text that WordPress, your theme and your plugins display, such as buttons, dates and labels. WordPress downloads the translations for the language you pick.
  • Language in your profile (Users, then Profile): each user can work in the dashboard in their own language without changing the site language.

Neither one translates your pages, posts, menus or SEO titles. WordPress has no built-in multilingual feature yet: the official WordPress roadmap lists it as the fourth phase of the editor project, after the collaboration phase that is still under way. So if the same page has to exist in two languages, you need a plugin.

Which multilingual plugin to choose

PluginHow translations workFree versionWhat to keep in mind
WPMLEach translation is a separate page or post with its own URLNo, yearly licenseMenus, theme and plugin text and WooCommerce are translated only in the plans above the basic one
PolylangAlso a separate post for each languageYes, more than 900,000 active installsTranslated category URLs, DeepL and WooCommerce come with the paid Polylang Pro and Polylang for WooCommerce
TranslatePressYou translate on the page itself, in a visual editorYes, more than 400,000 active installsUnlimited languages and translated SEO titles, descriptions and URLs only in the paid versions
WeglotA cloud subscription service with automatic translationYes: 2,000 words and one translated languageWhen the site goes over the plan’s word limit, translation stops; translated page URLs only in the higher plans

We choose WPML when a site has two or three languages, separate URLs, translated menus, forms and SEO fields, and especially when it is a WooCommerce store. For a simple site without a store, the free Polylang is often enough. TranslatePress suits people who want to translate while looking at the page, and Weglot suits those for whom a quick launch matters more than keeping the translations on their own site.

How we build a multilingual WordPress website on WPML, step by step

1. The main language and the URLs

The main language sits at the root of the site, and every other language gets its own folder, such as /es/ or /fr/. On our own site, English is at the root, Romanian in /ro/ and Russian in /ru/. Google advises giving each language version its own URL instead of changing the page’s language with a cookie or the browser’s settings. Subdomains (es.example.com) work too, while Google does not recommend a URL parameter (?lang=es).

2. The WPML add-ons the site needs

On top of the core plugin, we add what the site needs: WPML String Translation for theme and plugin text; for a store, WPML Multilingual & Multicurrency for WooCommerce; ACFML if the page fields are built with ACF; and WPML SEO for the SEO titles and descriptions set in Yoast SEO or Rank Math.

3. Every page is translated separately

Each version has its own title, its own URL in its own language, and its own SEO title and description. A URL can use the page’s own language and alphabet: Google accepts localized words in URLs, as long as the URL is UTF-8 encoded.

4. We translate everything visitors see

Menus, buttons, the footer, forms, error messages, the emails the form sends to the visitor, and pop-ups. Google determines a page’s language from its visible text, so a page in a mix of languages confuses people and search engines alike. Before launch, we send a message through the form in every language and check that the thank-you page and the emails arrive in that same language.

5. Our own language switcher on every page

The switcher leads to the same page in the other language, not to the home page. We label languages with their names or codes, such as EN, RO and RU, not with flags: a flag stands for a country, not a language. Instead of WPML’s standard widget, we use our own compact switcher, designed to match the site.

6. hreflang

The hreflang links tell Google which pages are translations of each other, so it can show each person the version in their language. Each version must list itself and all the others, and the x-default value names the page for everyone else. WPML adds these links on its own. After launch, check on a few pages that each version lists every language, including itself, and that its canonical points to itself, not to the main version: Google asks for a canonical page in the same language.

7. No automatic redirect

WPML can redirect visitors by their browser’s language, but the feature is off by default, and we leave it off. Google advises against redirecting automatically between language versions: its crawler usually comes from the US and sends no browser language, so it may never see your other versions. Why automatic redirects by location or browser language backfire, and what to use instead, is in our guide to redirecting users to different translations.

Looking for a Results-Driven Marketing Agency?

Get measurable results within your budget.
 

8. Sitemap and Search Console

Every language version belongs in the sitemap, and in Search Console it is worth checking the indexing of each version separately: Google indexes translations as separate pages.

Translation: machine or human

Machine translation is fine as a first draft: WPML, TranslatePress and Weglot can translate automatically, and Polylang Pro through DeepL. But Google weighs how much value a page gives its readers, and its spam policies call it abuse to generate pages at scale by automatically translating content taken from elsewhere. Translate your own text by machine, then have it reviewed by someone who writes in that language: readers spot a word-for-word translation at once, especially in headings, buttons and forms.

Common mistakes

  • Every language’s canonical points to the main version. That tells Google the translations are copies of the main page, and it may leave them out of its results.
  • A mix of languages on one page. The text is translated, but not the menu, the footer or the form.
  • The same SEO title in every language, because nobody translated it.
  • Form emails go out in the default language, not in the language of the page they were sent from.
  • The switcher leads to the home page, and the visitor loses the page they were reading.
  • Automatic redirects by browser language or IP, which keep people and Google from seeing every version.

We build sites like these, from the URL structure to translated forms and emails, as part of our web development work.

Frequently asked questions

How do I change the WordPress dashboard language?

For the whole site: Settings, then General, the Site Language field. Just for yourself: Users, then Profile, the Language field. Neither one translates your pages or posts.

Can I make a multilingual site without a plugin?

You can run a separate WordPress site for each language, but then you have to set up the links between translations, the language switcher and hreflang by hand. For a business site, a plugin is simpler and more reliable.

How many languages should I add?

As many as you can keep up: every new page, news item and offer will have to be published in all of them. A version nobody updates does more harm than no version at all.

Should I translate page URLs?

Preferably. A URL in the page’s language is clearer to visitors, and Google accepts such URLs, including ones in non-Latin alphabets. What matters most is that each language version has its own URL.

Sources