Multilingual plugins for your own site: WPML vs Polylang vs TranslatePress
1. Decide first: how many languages do you actually need
Before choosing, answer one question: do you really need this many languages right now? Many teams want to launch six versions at once, English, German, French, Spanish, Arabic and Russian, and end up with only a few dozen pieces of content per version and uneven translation quality. The right order is to make the English site solid first and generate inquiries, then decide the second language based on where those inquiries actually come from. This is covered in more detail in Market Priority for Going Global, which ranks markets.
Here’s the counterintuitive judgment:More languages is not better. Every language you add is another content line you have to keep updating. Three languages means translating every blog post three times and syncing every product spec in three places. Miss one and you get a broken link or a mistranslation. When content capacity is limited, two or three languages often work better than six.
| Number of languages | Content maintenance load | Recommended plugin direction | Annual cost range |
|---|---|---|---|
| English only | None | No multilingual plugin needed | 0 |
| 2 to 3 | Low, one person can maintain it | Start with free Polylang | $0 to $100 |
| 4 to 5 | Medium, needs a translation workflow | Polylang Pro 或 WPML | $100 to $200 |
| 6 or more | High, needs a translation team | WPML enterprise version | $300 and up |
2. Comparing the three plugins point by point
The three plugins are built on completely different philosophies. WPML takes the “full-feature commercial plugin” route, and its compatibility with WooCommerce, the various page builders and SEO plugins is its biggest selling point, at the cost of a yearly subscription and a slightly heavier system. Polylang takes the “lightweight, but you wire it up yourself” route, with a free core and URL customization and translation management only in Pro, and your theme has to be made compatible on your own. TranslatePress takes the “what you see is what you get” route: click any sentence on the front-end page and translate it right there, with the smoothest machine translation integration, but performance drops once you have a lot of content.
All three output hreflang automatically for SEO, but you still need to check it. Wrong hreflang is the most common mistake on multilingual sites. For details, see Hreflang for multilingual sites the three must-check items: self-referencing, return links, and x-default.
| Comparison dimension | WPML | Polylang | TranslatePress |
|---|---|---|---|
| Licensing | Annual subscription, priced by number of sites | Free version + one-time Pro | Free version + one-time Pro |
| Translation interface | List-style string translation in the dashboard | Translate by post in the dashboard | Visual point-and-click on the front end |
| Machine translation | Paid integration | Requires a separate plugin | Built in natively, one-click import |
| Plugin compatibility | Best, with strong official backing | Depends on whether your theme supports it | Moderate, special plugins often conflict |
| Performance overhead | Moderate to heavy | Lightest | Slows down as content grows |
| Best for | Large sites with 5+ languages | Small sites with 2 to 4 languages | Quick-start sites with little content |
3. How to choose: a three-step decision framework
Don’t choose based on “which one is more famous.” Answer the three questions below in order, and the answer will surface on its own. Question one: how many languages do you have now, and how many do you plan to have within a year? Question two: how many themes and plugins do you use (especially page builders and WooCommerce), and how varied are they? Question three: are you willing to pay an annual subscription for peace of mind?
Scenario one: a two-person team, English site just up and running, wants to add German. Fewer than 100 posts, clean Astra or GeneratePress theme. Go straight to Polylang free, set German as the second language, and use a /de/ subdirectory for the URL. This step costs nothing and will serve you for a year.Scenario two: a foreign trade company site, 6 languages, using Elementor plus WooCommerce plus a dozen marketing plugins. With this kind of high-compatibility-pressure setup, don’t skimp on the WPML subscription. Connecting Polylang to your theme yourself will drag you into endless compatibility pits.
| Your situation | Recommended choice | Reason |
|---|---|---|
| 2 languages, clean theme, tight budget | Polylang free | Zero cost, lightest performance |
| 3 to 4 languages, need translation management | Polylang Pro | One-time payment, includes URL customization |
| 6 languages, lots of plugins stacked up | WPML | Compatibility saves a lot of troubleshooting time |
| Little content, want a second language fast | TranslatePress | Machine translation one-click import is fastest |
| Already using one and it works fine | Don’t switch | Migration cost far exceeds the price difference |
4. Pitfalls: five common accidents when launching multilingual
The first pitfall is installing two multilingual plugins at the same time. WPML and Polylang have incompatible data models; activating both will modify each other’s tables, and problems are hard to clean up. Once you decide which to use, install only that one. The second pitfall is publishing machine translation without review. TranslatePress one-click import is convenient, but technical parameters, product models, and commitment-type statements must be reviewed manually. For how to edit after translation, see translation post-editing (MTPE).
The third pitfall is launching before locking down your URL structure. For multilingual sites you have three options: subdirectories (/de/), subdomains (de.example.com), or separate domains. Once you pick one, switching means changing your URL structure and redoing all your 301s. The fourth pitfall is missing hreflang backlinks, so Google doesn’t know these pages are the same content in different languages. The fifth pitfall is untranslated text inside charts and SVGs, which still reads as English. For how to handle this kind of embedded content, see Charts and tables on multilingual sites. For the five checkpoints before content goes live, see Multilingual Content Publishing Process.
| Common Pitfalls | Consequence | Preventive action |
|---|---|---|
| Installing two multilingual plugins at once | Database tables get scrambled and are hard to clean up | Keep only one; back up before switching |
| Publishing machine translation without review | Terminology errors and customer complaints | Technical content must be reviewed by a human |
| Changing the URL structure after launch | All URLs break and 301s must be redone | Lock down subdirectory vs. subdomain before launch |
| Missing hreflang backlinks | Google ignores the multilingual grouping | Every language page links back to the others |
| Text inside charts is not translated | English charts embedded in German pages | Use translatable SVGs for charts, or make separate images |
FAQ
WPML costs a lot more than Polylang. Is it worth it?
Can I just use TranslatePress’s machine translation directly?
Subdirectory, subdomain, or separate domain: which URL structure should I choose?
The plugin I’m using now isn’t good. Can I switch to another one midway?
Will a multilingual plugin slow down my site?
Are three languages enough, or should I add French and Spanish?
Final thoughts
The real question in choosing a multilingual plugin isn’t “which one has more features” — it’s “can your team maintain it long-term.” WPML buys you peace of mind and compatibility. Polylang saves you the subscription fee but you have to integrate the theme yourself. TranslatePress is about getting online fast. There’s no right or wrong, only fit — few languages and a clean plugin stack means go light; many languages and a complex stack means go stable.
Three steps to implement: First, match your language count and plugin complexity against the decision table and pick one — install only one. Second, lock down your URL structure before launch, set up hreflang backlinks, and treat machine translation as a first draft that goes through human review. Third, decide every six months whether to add new languages based on inquiry sources. Get multilingual right, and only then can your German, Spanish, and Arabic markets be found by AI — see Multilingual GEO.
One sentence to remember: don’t pick the multilingual plugin with the most features — pick the one you’ll still be willing to maintain six months from now. The cost of choosing wrong isn’t the price difference; it’s doing the whole thing over again.
