How do I create a multilingual WordPress site?
Applies to: WordPress.org (self-hosted)
Last updated: May 2025
Problem
You want to serve your website content in more than one language—for example, English and Spanish—but WordPress doesn’t support multilingual functionality natively out of the box.
Solution
You can create a multilingual WordPress site using a multilingual plugin, a multisite network, or manual setup. For most users, a plugin is the simplest and most scalable option.
Option 1: Use a Multilingual Plugin (Recommended)
A. TranslatePress (User-friendly & visual)
- Go to Plugins > Add New, search for TranslatePress, install and activate
- Go to Settings > TranslatePress
- Select your default language and add additional languages
- Click Save Changes
To translate:
- Visit any page and click the “Translate Page” button on the top admin bar
- Use the visual editor to translate text inline
- Save translations as you go
Pros:
- Visual interface
- SEO-friendly URLs
- Works with any theme or page builder
B. WPML (Powerful but paid)
- Supports multilingual posts, pages, menus, taxonomies, and WooCommerce
- Great for larger, content-heavy sites
- Built-in language switcher
C. Polylang (Free & scalable)
- Add separate versions of posts/pages per language
- Assign a language to each post
- Offers a language switcher widget or menu item
Option 2: Use WordPress Multisite (Advanced)
You can set up a multisite network, where each language has its own site:
- Example:
en.yoursite.com
(English)es.yoursite.com
(Spanish)
Steps:
- Enable multisite in
wp-config.php
- Create separate subsites for each language
- Use a plugin like MultilingualPress to link the sites
This is best for large or enterprise-level multilingual websites, but adds complexity.
Option 3: Manual Translation (Not scalable)
You can manually duplicate each page/post in multiple languages and organize them using categories or menus.
- Example:
- Create “Home (EN)” and “Inicio (ES)”
- Use separate menus for each language
Drawbacks:
- Not SEO-friendly by default
- No language switcher logic
- Hard to manage at scale
Best Practices
- Choose one method and stick with it
- Use hreflang tags (plugins usually handle this) for SEO clarity
- Provide a visible language switcher in your header, footer, or menu
- Translate your meta titles and descriptions using SEO plugins like Yoast + WPML or TranslatePress SEO pack
Summary: Plugin Comparison
Plugin | Visual Editing | SEO Support | WooCommerce Ready | Free Version |
---|---|---|---|---|
TranslatePress | ✅ | ✅ | ✅ | ✅ |
WPML | ❌ | ✅ | ✅ | ❌ (paid) |
Polylang | ❌ | ✅ | ✅ (with addon) | ✅ |