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)

  1. Go to Plugins > Add New, search for TranslatePress, install and activate
  2. Go to Settings > TranslatePress
  3. Select your default language and add additional languages
  4. 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:

  1. Enable multisite in wp-config.php
  2. Create separate subsites for each language
  3. 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

PluginVisual EditingSEO SupportWooCommerce ReadyFree Version
TranslatePress
WPML❌ (paid)
Polylang✅ (with addon)

You may also like...