You can find yourself looking for the right WordPress translation plugin in a couple of scenarios. Chief of them – when creating a multilingual website. The task in itself is usually a pretty big undertaking, so it makes sense that you want to get the plugin decision right from day one.
That is, you probably don’t want to find out you need to switch translation plugins 6 months into your multilingual journey…
To help you make the right decision, I’m going to dig into four popular WordPress multilingual plugins:
I’ve installed each plugin on a separate test site so I’ll be able to give you a real look at exactly how each WordPress translation plugin works. Let’s dive in!
First, a quick summary:
|Main translation interface||WordPress backend||WordPress backend||Weglot cloud interface||WordPress visual interface|
|Main translation focus||Both||Manual||Both||Both|
|Translate all content?||5/5||4/5||5/5||5/5|
|Starting price||$29||Free||Free (up to 2k words)||Free|
|Pro version?||Yes||Yes||Yes, SaaS billing||Yes|
What to consider when choosing a WordPress translation plugin
For each WordPress translation plugin, these are the specific questions I’ll try to answer:
Here are my findings in detail:
WPML is the most well-known WordPress translation plugin out there. It’s been around forever and still receives regular support and updates, which is an important consideration because you want a solution that will work for you not just now, but also in the future.
For this comparison, I’ll be specifically looking at the $79 WPML CMS. This package is more full-featured than the cheaper $29 WPML Blog package.
Note – if you’re interested in using this plugin, we wrote a guide on how to use WPML.
How you translate your content with WPML
WPML is primarily focused on helping you manually / automatically translate your content. It uses all three translation styles.
The plugin offers you multiple ways to manually translate your content, depending on your preference:
- By yourself – you can always translate content from inside your WordPress dashboard.
- With your own translators – with the Translation Management plugin, you can assign users the user role Translator to have them translate content for you.
- Via a professional translation service – WPML’s Translation Management module can also help you automatically sync with third-party professional translation services.
What is the main WPML translation interface like?
Assuming you’re going to be creating your own translations (rather than outsourcing them to a professional translation service), you can work with your translated content right inside the WordPress editor.
Whenever you create a new post in your main language, you’ll gain the ability to create a translated version in the editor sidebar:
When you click that button, you’ll be taken to a new page where you can enter the translated version:
Notice how the language is now set to Vietnamese and the post is marked as a translation of the original?
There’s also a separate side-by-side interface that translators can use.
How much of your content does WPML let you translate?
One of the draws of WPML is how completely it lets you translate your site. Beyond the core translation interface above, WPML also gives you separate interfaces to translate things like taxonomies, widgets, theme/plugin strings, and more.
For example, our Hestia theme includes 208 strings that you might want to translate:
WPML lets you:
- Translate all of them inside your WordPress dashboard
- Import/export strings as a
.pofile to translate in your own PO editor.
And one neat feature is the Track where strings appear on site, which highlights those strings so you can see if they actually appear on the front-end (don’t leave this active once you finish your translations, though, as it can slow down your site):
There’s also a separate interface to translate taxonomies:
In total, WPML CMS lets you translate:
- All theme/plugin text
- Menu items
- Custom fields
- Custom post types (including WooCommerce products)
- Content created with page builders
The WPML Blog package is not nearly as flexible – so definitely choose WPML CMS if you want to translate all of these content types.
Does WPML create SEO friendly translated content?
WPML has a number of things going for it from an SEO perspective.
First, you have three options for your URL structure:
- Subdirectories –
- Subdomains –
- Parameter –
Beyond that, WPML also:
- Lets you change the URL slug for each piece of content
- Automatically rewrites category/menu links to go the correct translation
- Works with SEO plugins like Yoast SEO and All in One SEO Pack (it should work with all SEO plugins, in theory)
- Adds the hreflang attribute
How much does WPML cost?
There’s no free version of WPML. There are two premium versions:
- Multilingual Blog – $29
- Multilingual CMS – $79 (one year license)
- Multilingual Agency – $159 (one year license)
Polylang is a popular WordPress translation plugin listed at the WordPress.org directory. It comes in both that free version as well as Polylang Pro, which allows you to translate more of your content for €99.
There are also two separate Pro packages for WooCommerce.
In general, Polylang is much more similar to WPML than the next two plugins that we’ll look at.
If you’re interested in Polylang, we wrote a guide on how to use Polylang.
How you translate your content with Polylang
In the core Polylang plugin, your only option is to manually translate your content from inside the WordPress dashboard.
However, Polylang integrates with the separate Lingotek Translation plugin to give you a more feature rich translation management system that lets you:
- Automatically translate your site with machine translation
- Have your own translators translate your content
- Outsource your translations to a professional service
So while these features aren’t necessarily built into the core plugin like with WPML, they are available if you install Lingotek.
What is the main Polylang translation interface like?
Excluding the Lingotek translation management integration, the Polylang translation interface is pretty similar to WPML.
First, you create your content in your main language:
Then, you can click the Plus button to create a translated version.
As before, you’ll see the post’s language as well as the connected translation:
How much of your content does Polylang let you translate?
In the free version of Polylang, you can also translate your widgets, taxonomies, and some basic strings on your site.
To translate taxonomies, you’ll use a similar interface in the actual Categories or Tags areas:
You can also create separate menus for each translation version:
The free strings translation interface in Polylang is significantly more limited than WPML, though. In the free version, you’re pretty much limited to site meta information as well as widget text:
That is, you’re missing the theme and plugin string translation options from WPML. With that being said, there are two third-party extensions that can add such functionality:
Beyond that, Polylang also lets you translate:
- Custom fields
- Page builder content
And if you don’t want to translate your custom fields, there’s also a neat option to sync custom fields between translated versions of your content (though only on a global level):
If you want to translate WooCommerce, though, you’ll need one of the dedicated Polylang for WooCommerce plugins.
Does Polylang create SEO friendly translated content?
Like WPML, Polylang also lets you choose from three different URL structures:
And it also adds the ability to use a completely different domain name for each translated version.
Beyond that, Polylang:
- Should work with Yoast SEO and All In One SEO Pack (though they’re working on fixing an issue with All In One SEO Pack’s Sitemap feature).
- Automatically links to the relevant URLs for menu items, categories, etc.
- Adds hreflang attributes
Just be aware that you will need Polylang Pro to translate the base slug for custom post types and taxonomies.
How much does Polylang cost?
The core Polylang WordPress translation plugin is free and listed at WordPress.org. After that, there are three paid plans:
- Polylang Pro – €99.00
- Polylang for WooCommerce – €99.00
- Polylang Pro for WooCommerce – €$139.00
While WPML and Polylang are fairly similar in their core approach to translating WordPress, Weglot is a WordPress translation plugin that takes things in a different direction. Weglot has a higher rating on the WordPress directory as compared to the other three plugins.
There are a few core aspects that differentiate Weglot:
- Focus is on both automatic translation and human translation which you can order through the Weglot dashboard
- An external cloud interface to manage translations, rather than doing everything from your WordPress dashboard
- SaaS-style billing
Weglot recently crossed the €44,000 monthly revenue mark, so their service definitely has plenty of fans!
I’m going to skip straight to a site that already has Weglot set up and configured. But if you’re interested, we also wrote a guide on how to set up and use Weglot for WordPress.
How you translate your content with Weglot
With the previous two WordPress translation plugin options, you set up your site and then had to manually build out your translations from scratch.
Weglot takes the opposite approach:
As soon as you configure Weglot, it automatically translates your site using machine translation. So from day one, you have a fully translated website.
But, because machine translation is by no means perfect (at least not yet!), Weglot then gives you the ability to:
- Go in and manually edit those translations via two methods (more on those in a second)
- Outsource translations to professional translation services
What is the main Weglot translation interface like?
Weglot gives you two editing interfaces to choose from, both of which you access at the Weglot website, rather than your WordPress site’s dashboard.
First, there’s standard
.po editor-style interface where you see the original text and translated version side-by-side. You can either filter by URL or view all the translations for your site.
One nice thing is that Weglot will tell you whether or not a human has reviewed each translation:
Beyond that interface, there’s also a neat visual editor that lets you click on strings on a live version of your site:
Once you click to edit a specific string, you’ll be able to manage the translation right there in the live preview:
How much of your content does Weglot let you translate?
Weglot claims to translate “every string in the page,” which should mean it lets you translate everything front-end about your site.
While I know that it works perfectly for regular content, I wanted to see how it handles something a bit less traditional, so I set up two quick tests:
- Hestia’s custom front page feature
- A page built with Elementor
Weglot had no problem picking up either. For example, here’s a text element from my Elementor page:
Does Weglot create SEO friendly translated content?
Weglot exclusively uses subdirectories to create an entirely separate, crawlable version of your site. So while it is still SEO-friendly, you don’t have quite as much flexibility as you do with WPML or Polylang.
Weglot also rewrites all the internal URLs automatically – so every internal link automatically links to its respective language.
Weglot is confirmed to work with Yoast SEO. I’d imagine it would work with other SEO plugins as well, but I only tested it with Yoast SEO:
Finally, Weglot automatically adds hreflang attributes, as well.
How much does Weglot cost?
Because Weglot operates on SaaS billing, you need to consider the various plan limits before making your decision. Weglot charges based on both:
- The number of words that you need to translate
- How many pageviews your translated content gets per month
Additionally, because it uses SaaS billing, the translated version of your site will stop working if you ever stop using Weglot. You won’t lose your translations (Weglot will export them for you if you ask), but that’s another area where Weglot differs from WPML and Polylang.
Depending on how much you’re willing to spend on a WordPress translation plugin, Weglot’s pricing strategy might affect your decision.
TranslatePress is a freemium WordPress translation plugin from Cozmoslabs that falls somewhere in between WPML/Polylang and Weglot.
It has the automatic translation and neat front-end editing offered by Weglot, but it’s also entirely self-hosted and uses more traditional WordPress billing. That is, if you need the premium version, there are no limits on the number of translated words or page views like there are with Weglot.
How you translate your content with TranslatePress
TranslatePress makes it easy to use all three translation styles.
When you first install the plugin, it will default to manual translation. But if you go into the settings, you can enable automatic translation via Google Translate (you will need a Google Translate API key to do this).
The automatic translate option will only translate strings that haven’t already been manually translated, which is a nice touch to avoid overwriting your manual work. And you’re also free to go in and manually edit these translations later on.
Finally, with the Translator Accounts add-on, you can also create dedicated translator accounts that can manage your site’s translations from the front-end.
The only notable exception is the lack of a direct integration with professional translation services like the other three plugins.
What is the main TranslatePress translation interface like?
TranslatePress has a pretty unique method for translating your site. It basically uses an interface that’s identical to the real-time WordPress Customizer.
To translate your content, you just hover over the desired string and click the Pencil icon. Then, you can enter your translation in the sidebar:
This interface isn’t limited to post content, either. You can also use it to edit theme strings, widgets, and more. For example, TranslatePress has no problem picking up content from the Hestia custom homepage feature:
How much of your content does TranslatePress let you translate?
TranslatePress’ goal is to let you translate everything on your page. That means:
- Menu items
- Theme and plugin strings
- Page builder content
- Shortcode outputs
- URL slugs
- WooCommerce products
I ran it through another test using a page that I built with Elementor and again had no issues translating my content:
Does TranslatePress create SEO friendly translated content?
Like the other three plugins, TranslatePress creates SEO-friendly translated content, though you’ll need the SEO Pack Addon to do everything perfectly.
Like Weglot, TranslatePress only seems to give you the option to use subfolders for languages. Again – not a big deal, but something to consider if you prefer subdomains.
Like the others (again!), TranslatePress automatically changes the menu and widget links to create a fully crawlable version of your translated site. There’s also an option to force rewrite in-content links to go to their respective language automatically, which is something you have to do manually with WPML/Polylang.
And with the SEO Pack Addon, you’re able to translate:
- URL slugs
- Page title and description
- Image alt text
- Facebook Open Graph tags
For example, with the SEO Pack Addon installed, you’re able to translate the page title that you set with something like Yoast SEO:
How much does TranslatePress cost?
The core TranslatePress plugin is free and listed at WordPress.org.
To get access to the SEO Pack Addon and more, there are also three paid plans starting at $79:
Which WordPress translation plugin is right for you?
These plugins are all popular and well-respected, so rather than trying to recommend a specific WordPress translation plugin, I’m just going to lay things out on a spectrum.
Which is right for you? I don’t think I can answer that. Translation is a very site-specific thing, so you’ll need to consider the nitty-gritty details of each plugin. But at this point, I hope you have enough knowledge to pick the best WordPress translation plugin for your specific situation.
Don’t forget to join our crash course on speeding up your WordPress site. With some simple fixes, you can reduce your loading time by even 50-80%: