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
| Plugin | How translations work | Free version | What to keep in mind |
|---|---|---|---|
| WPML | Each translation is a separate page or post with its own URL | No, yearly license | Menus, theme and plugin text and WooCommerce are translated only in the plans above the basic one |
| Polylang | Also a separate post for each language | Yes, more than 900,000 active installs | Translated category URLs, DeepL and WooCommerce come with the paid Polylang Pro and Polylang for WooCommerce |
| TranslatePress | You translate on the page itself, in a visual editor | Yes, more than 400,000 active installs | Unlimited languages and translated SEO titles, descriptions and URLs only in the paid versions |
| Weglot | A cloud subscription service with automatic translation | Yes: 2,000 words and one translated language | When 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?
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
- WordPress.org, Settings General screen and Users Your Profile screen: Site Language and each user’s dashboard language; WordPress Developer Resources, Installing WordPress in your language: WordPress downloads language packs itself.
- WordPress.org, Roadmap: multilingual support in WordPress core as the fourth phase.
- Google Search Central, Managing multi-regional and multilingual sites: separate URLs per language, no automatic redirects, language from the visible text, Googlebot crawling from the US with no browser language, localized URLs.
- Google Search Central, Localized versions of your pages: hreflang, x-default, each version lists itself and the others.
- Google Search Central, What is canonicalization and How to specify a canonical URL: translations are not duplicates, and with hreflang the canonical page should be in the same language.
- Google Search Central, Spam policies for Google web search: scaled content abuse, including through automated translation.
- WPML, Pricing, read on October 15, 2026: what each plan includes.
- WPML, WPML Core and Add-On Plugins and WPML SEO: the add-ons, the plans that include them, and hreflang from WPML core.
- WPML, Automatic redirect based on browser language: the browser language redirect is off by default.
- Plugin pages on WordPress.org: Polylang, TranslatePress, Weglot, read on October 15, 2026: active installs and what the free and paid versions include.
- Weglot, Pricing, read on October 15, 2026: the free plan, the word limit and translated URLs.



