Compare Multilingual Plugins
Four plugins, one table: what each one costs, how each stores translations, and what you get without paying.
The four side by side
WPML, Polylang and TranslatePress are the plugins most people weigh PerfLocale against. This table puts all four in one view. The PerfLocale column is checked against the plugin source for version 1.0.1; the other three columns repeat what our detailed pages already document, and nothing more.
| Feature | PerfLocale | WPML | Polylang | TranslatePress |
|---|---|---|---|---|
| Price and licence | ||||
| Price | Free | From €39/year (Multilingual Blog); CMS €99, Agency €199 | Free core; Pro from €99/year | Free core; Personal €99, Business €199, Developer €349 per year |
| Licence model | GPL-2.0+ throughout; no paid tier, no paid addons | Commercial subscription; the code is GPL-2.0+ | Core open source; Pro is proprietary | Core open source; Pro addons are proprietary |
| What costs extra | Nothing — every feature ships in the free plugin | The plugin itself; WooCommerce, Translation Management and String Translation are bundled from the CMS tier up | WooCommerce (a separate €99/year addon), ACF, XLIFF export and DeepL are Pro | More than one secondary language, SEO Pack, DeepL, custom fields, GeoIP detection and Translator Accounts |
| How translation works | ||||
| Where translations are stored | A separate WordPress post per language, linked in the plugin’s own perflocale_translation_groups and perflocale_translation_links tables | A separate post per language | A separate post per language | One post; translations stored separately |
| String translation | Scanner, plus file mode (generated .l10n.php) or database mode, with CLDR plural rules and gettext contexts | Bundled from the CMS tier up | In the free version; XLIFF and PO export are Pro | Frontend editor, for strings visible on the page |
| Machine-translation providers | DeepL, Google, Microsoft, LibreTranslate, a custom agency endpoint, and the WordPress 7.0 AI Client | DeepL, Google, Microsoft (credits-based) | DeepL (Pro only) | Google Translate; DeepL is Pro |
| URLs, SEO and WooCommerce | ||||
| URL and routing modes | Subdirectory, subdomain, per-domain and query parameter | Subdirectory, subdomain, per-domain | Subdirectory, subdomain, per-domain | Subdirectory on free; subdomain and per-domain on Business+ via an addon |
| hreflang output | HTML head and XML sitemap alternates out of the box, plus an HTTP Link header when Hreflang Placement is set to HTTP Header or Both under PerfLocale → Settings → SEO | HTML head and sitemap | HTML head only | Head and sitemap via the SEO Pack addon (Personal+); no HTTP Link header |
| WooCommerce | Included: products, variations, attributes and categories, inventory sync, multi-currency (you supply the rate source) and order emails in the customer’s language | Bundled from the CMS tier up | Polylang for WooCommerce, a separate €99/year addon | In the free core, through the visual editor; product slugs need SEO Pack (Personal+) |
| Platform and developer surface | ||||
| Hooks, REST and WP-CLI | 200+ hooks, a full-CRUD REST API under perflocale/v1, and a wp perflocale command set | Its own API and hooks; REST and WP-CLI are limited | pll_ functions and a documented filter set; wp pll in Pro 3.8+ | trp_ filters and actions; no dedicated translation REST API and no WP-CLI |
| Migration importers | WPML, Polylang and TranslatePress, from PerfLocale → Settings → Export & Import or wp perflocale migrate | — | — | — |
| Multisite | ✓ (languages and translations per subsite) | ✓ | ✓ | ✓ |
| Minimum WordPress and PHP | WordPress 6.4, PHP 8.1 | — | — | — |
The competitor columns describe each plugin’s free version unless the cell says otherwise, and they repeat only what our own detailed pages already document — a dash means that page makes no claim either way, not that the feature is missing. Prices are the vendors’ published list prices and change without our noticing; check before you buy. Full detail, including migration steps, is on the three detailed pages: PerfLocale vs WPML, PerfLocale vs Polylang and PerfLocale vs TranslatePress.
Where the others are stronger
WPML bundles a translation memory, a glossary, and an assignment-and-deadline workflow. PerfLocale has none of those — a Translator role ships, but there is no assignment or status pipeline — so if that is how your team translates, WPML is the better fit. TranslatePress lets editors translate by clicking text on the live site, and adds an automatic translation memory and a publish-when-ready gate. Polylang keeps things deliberately simple: you translate in the standard WordPress editor, which works well on a smaller site.
These are alternatives, not companions. PerfLocale detects WPML, Polylang and TranslatePress at boot and stops with an admin notice rather than fighting over the same hooks, so deactivate the old plugin first, then activate PerfLocale and run the importer. The importers read the old plugin’s database tables rather than its runtime, and they never modify or delete anything it owns, so your source data is untouched and a partial run can be re-run.
Detailed comparisons
Each page goes row by row through features, architecture, licensing and the migration path.
PerfLocale vs WPML
The most widely used multilingual plugin. See how PerfLocale offers a free, performance-focused alternative.
PerfLocale vs Polylang
A popular lightweight option. See what PerfLocale includes that Polylang reserves for its Pro addons.
PerfLocale vs TranslatePress
A visual translation editor. See how PerfLocale takes a different approach with a focus on speed and developer tools.
Rather than take our word for it: open PerfLocale in a disposable WordPress site and try the things these tables claim.