WordPress doesn’t support multiple content languages in core. You add it with a plugin, or with WordPress Multisite (one site per language). The right choice depends on how many languages you need, whether you’ll use machine translation, and how much the plugin’s performance cost matters on your server.
The main options
| Option | How it works | Strengths | Watch out for |
|---|---|---|---|
| WPML (paid) | Separate posts per language, linked together | Very complete; WooCommerce, page builders, string translation | Heavier; many extra tables and queries |
| Polylang (free + Pro) | Separate posts per language, linked via taxonomy | Lightweight, clean | Some features (WooCommerce, slugs) need paid add-ons |
| TranslatePress (free + paid) | Translate the front end visually; stores string translations | Easy visual editing; machine translation integration | Translation per string can add overhead on uncached pages |
| Weglot (SaaS) | Cloud translation service plugin | Fast setup, machine + human editing | Monthly subscription by word count; content stored at the service |
| Multisite | One site per language, linked with a plugin (e.g. MultilingualPress) | Clean separation, scalable | More admin overhead |
URL structure
| Structure | Example | Notes |
|---|---|---|
| Subdirectories (recommended for most) | example.com/de/ |
One domain’s authority, simple setup and SSL |
| Subdomains | de.example.com |
More separation; DNS and certificates per subdomain |
| Separate domains | example.de |
Strong local signal; more domains to manage |
| URL parameter | ?lang=de |
Avoid for SEO |
Every plugin above supports subdirectories. For Nginx, the normal WordPress try_files rule handles them. See the ideal Nginx config for WordPress.
hreflang and SEO essentials
- hreflang tags tell search engines which page is the equivalent in each language. All the major plugins output them automatically. Check the page source for
<link rel="alternate" hreflang="…">, includingx-default. - Translate slugs (
/de/preise/instead of/de/pricing/) for better local SEO. Some plugins require paid versions for this. - Separate sitemaps or sitemap entries per language, with your SEO plugin’s integration. See WordPress sitemap.
- Don’t auto-redirect visitors by IP or browser language without a choice. It can block search engine crawlers from seeing other languages. Offer a language switcher, and remember the choice instead.
- Translated meta titles and descriptions, not just body text.
Machine translation
DeepL, Google Translate and similar services can translate whole sites quickly (TranslatePress, WPML and Weglot integrate them). For quality and SEO:
- review important pages (home, pricing, top articles) by a fluent speaker;
- keep a glossary for brand and product terms;
- avoid publishing thousands of unreviewed auto-translated pages. Low-quality pages can hurt the whole site.
Performance considerations
Multilingual plugins add database queries and processing to every uncached request:
- Use full-page caching. Make sure each language URL is cached separately (it is when languages are in the path).
- Add a Redis object cache. String translation lookups benefit a lot. See Redis object cache.
- Watch PHP memory on admin screens (WPML in particular). See WordPress memory limit.
- Fonts: some languages (Chinese, Japanese, Korean, Hindi) need large font files. Use system fonts or subsets, and load them only on those language pages.
Hosting location for multilingual audiences
If your languages map to regions (for example English for the US, Chinese and Japanese for Asia), consider:
- a server location that balances latency for your main markets, plus a CDN for the rest. See choosing a VPS location and WordPress CDN setup;
- or separate sites per region on servers close to each audience (Multisite or separate installs), for example VPS plans in the USA, Hong Kong or Japan. See Hong Kong VPS and Japan VPS.
Quick reference
| Need | Suggested option |
|---|---|
| Lightweight, few languages | Polylang |
| Full-featured, WooCommerce | WPML |
| Visual translation + machine translation | TranslatePress |
| Hands-off SaaS | Weglot |
| Regional sites with separate teams | Multisite |
Related: WordPress multisite setup and WordPress TTFB.