How to create a multilingual WordPress site
WordPress does not create a multilingual front end by itself, so you need either a multilingual plugin or separate WordPress sites linked together. A plugin is usually the practical choice because it keeps translations, menus, language URLs, and search-engine settings in one place.
- 01Choose languages and URLs
- 02Back up before changing languages
- 03Understand the manual route
- 04Install a multilingual plugin
- 05Translate content and interface text
- 06Add and place the switcher
- 07Check SEO and publish
What you need
- WordPress administrator access
- A recent backup and preferably a staging site
- The languages you want to support
- Translated copy or a plan for human or automatic translation
Choose languages and URLs
List the languages you will publish and decide how each language should appear in the URL. Common choices are language directories such as example.com/fr/, subdomains such as fr.example.com, separate domains, or a language parameter.
Use one structure consistently. Also decide whether translated pages should have translated slugs, whether each language needs different content, and who will review translations. WordPress documentation identifies these URL approaches as the normal ways multilingual systems distinguish languages.
Back up before changing languages
Make a complete database and file backup before adding multilingual functionality. Test the change on staging if the site already has traffic, custom post types, WooCommerce, caching, or a page builder.
Multilingual plugins can change the database and interact with themes and other plugins, so WordPress recommends testing compatibility before installing one on a live site.
Understand the manual route
WordPress core can display the administration area in another language, but it does not provide a bilingual or multilingual front end out of the box. The manual alternative is to create a separate site for each language, commonly in a Multisite network, then maintain and link the sites yourself.
This works when each language needs different editors, content, settings, or even a different design. The drawback is duplicated maintenance: you must update content, menus, media, SEO settings, plugins, and sometimes redirects on every site. For most ordinary business or content sites, a multilingual plugin is less work.
Install a multilingual plugin
Install a translation plugin from Plugins → Add New, activate it, and run its setup wizard. Set the existing site language first, add the languages you want, then choose the URL format and translation workflow.
For a plugin-managed site, WPML’s setup uses its language settings to add languages, select directory, domain, or parameter URLs, and configure switchers. Check your permalink structure before choosing language directories, because directory URLs require a non-default permalink format.
Translate content and interface text
Translate a small set of pages first: the home page, navigation pages, contact page, legal pages, and one representative post. Then translate categories, tags, custom post types, media text, menus, form labels, widget text, and theme or plugin strings.
Do not assume translating page content translates every visible word. Text from themes, plugins, forms, checkout screens, headers, footers, and widgets may need a separate string-translation step. For WooCommerce, translate products, variations, categories, cart and checkout labels, transactional emails, and any extension text.
Add and place the switcher
Add a visible language switcher to the primary menu, header, footer, sidebar, or a suitable template location. Label languages clearly in their native names where that helps visitors, and check what happens when the current page has no translation.
The common failure is a switcher that changes the language code but leaves the page in the original language. Create and link the translated version of each important page before launch, and test the switcher from posts, archives, product pages, cart, checkout, and account pages.
Check SEO and publish
Review each translated URL, title, meta description, heading, image alternative text, canonical URL, and language relationship. Use the search terms people use in that language rather than translating English keywords word for word. Also check that menus, sidebars, footers, forms, and error messages are not still in the source language.
Clear page, object, and CDN caches after changing translations, then test logged-out pages in every language on desktop and mobile. If you need the fast route, use Wpml WordPress Multilingual CMS Plugin: it provides language setup, translation management, switchers, multilingual SEO features, and WooCommerce translation support in one workflow.
Let Wpml WordPress Multilingual CMS Plugin do it
Full-site translation management with language switchers and WooCommerce support for building multilingual WordPress sites.
Sources
- developer.wordpress.org /advanced-administration/wordpress/multilingual/?utm_source=…
- wpml.org /documentation/getting-started-guide/language-setup/?utm_sou…
- wpml.org /documentation/translating-your-contents/?utm_source=openai
- wpml.org /documentation/getting-started-guide/language-switcher-optio…
- wpml.org /documentation/translating-your-contents/translate-woocommer…
- wpml.org /documentation/translating-your-contents/menus/?utm_source=o…
Questions
- Can WordPress create a multilingual site without a plugin?
- Not as a single multilingual front end. WordPress can change the language of its administration area, but it does not connect translated pages, provide language switching, or manage multilingual URLs by itself. You can run separate sites in a Multisite network and maintain each language manually, but that creates extra work for content, menus, updates, backups, and SEO.
- Should each language use a subfolder or a subdomain?
- Either can work, but choose one structure and use it consistently. Subfolders such as <code>/fr/</code> keep languages under one domain and are usually simpler to manage. Subdomains or separate domains can suit region-specific businesses with different teams, branding, or legal requirements. Your translation system must link the equivalent pages correctly in every structure.
- Do I need to translate menus and buttons separately?
- Often, yes. Translating a page does not guarantee that menu labels, widget titles, footer text, form messages, theme labels, plugin strings, or checkout buttons are translated. Use the translation plugin’s menu and string tools, then inspect the front end in each language. WooCommerce extensions can add further strings that need to be registered before translation.
- Why does the language switcher show the wrong page?
- The usual cause is that the equivalent page has not been translated or linked to the current page. A switcher may then send visitors to a language home page or change the URL without changing the content. Create translations for the important pages, confirm their translation relationships, clear caches, and test the switcher while logged out.
- Can I make a WooCommerce store multilingual?
- Yes, but translate more than product descriptions. A complete store translation includes products, variations, categories, cart and checkout text, customer-account pages, shipping and payment labels, order emails, and extension strings. Test checkout and emails in every language, because custom themes and extensions can introduce text that needs a separate scan or translation step.