PerfLocale vs TranslatePress
A detailed, honest comparison to help you choose the right multilingual plugin for your site.
TranslatePress takes a unique approach to WordPress translation with its visual frontend editor - you translate content directly on your live site. PerfLocale takes a different path with an admin-based approach focused on performance, developer tools, and team workflows. Both are solid choices for different use cases.
Feature Comparison
| Feature | PerfLocale | TranslatePress |
|---|---|---|
| General | ||
| Price | Free, open source (GPL-2.0+) | Free core + Personal €99 / Business €199 / Developer €349 per year |
| Translation approach | Separate posts per language | Single post, translations stored separately |
| Open source | ✓ | ✓ (core only - Pro addons are proprietary) |
| Unlimited languages on free tier | ✓ | ✗ (1 secondary language on free; more via Multiple Languages addon) |
| Multisite support | ✓ | ✓ |
| Performance | ||
| Caching architecture | 3-layer cache (static, object cache, transients) | No dedicated caching layer |
| Batch preloading | ✓ | ✗ |
| Smart query optimization | ✓ | ✗ |
| Plugin code time per page | ~1 ms median; see benchmarks | Not published |
| Translation Tools | ||
| Visual frontend editor | ✗ | ✓ |
| String translation | ✓ (scanner + file/database modes) | ✓ (frontend editor for visible strings) |
| Machine translation providers | DeepL, Google, Microsoft, LibreTranslate | Google Translate, DeepL (Pro) |
| Translation memory | ✓ | ✓ (Automatic Translation Memory) |
| Translation glossary | ✓ | ✗ |
| Translation workflow | ✓ | ✗ (Translator Accounts assigns roles, no statuses or deadlines) |
| Publish gate | ✓ | ✓ (publish-language-when-ready, in free) |
| Content sync (images, meta) | ✓ | Single-source by design (no per-language duplication) |
| Content change detection | ✓ | ✗ |
| Language fallback chains | ✓ | ✗ |
| XLIFF export/import | ✓ (XLIFF 2.0) | ✗ |
| Block editor integration | ✓ | ✓ (block-sidebar include/exclude + CSS-selector rules) |
| URL and Routing | ||
| URL modes | Subdirectory, subdomain, per-domain | Subdirectory (free); subdomain/per-domain (Business+ via addon) |
| Self-healing URL rules | ✓ | ✗ |
| GeoIP redirect | ✓ (5 providers, extensible via filter) | ✓ (Automatic User Language Detection addon, Business+) |
| Automatic hreflang tags | ✓ (cached) | ✓ (SEO Pack addon, Personal+) |
| SEO & Modern Web Features | ||
| hreflang in HTML head, XML sitemap, AND HTTP Link header | ✓ (all three) | Head + sitemap via SEO Pack addon (Personal+); no HTTP Link header |
JSON-LD inLanguage + workTranslation schema enrichment | ✓ (integrates with your SEO plugin's schema) | ✗ |
| IndexNow push-indexing (Bing, Yandex, Google via Cloudflare) | ✓ (translation-aware - also pushes siblings) | ✗ |
Content-Language HTTP response header | ✓ | ✗ |
Fallback-content data-nosnippet guard | ✓ | ✗ |
| Speculation Rules prerender on language-switcher hover | ✓ (integrates with WP 6.8+ Core API) | ✗ |
| View Transitions API smooth switching | ✓ (Chrome 126+, Safari 18.2+) | ✗ |
| Integrations | ||
| SEO plugins | Yoast, Rank Math, SEOPress, AIOSEO, TSF, Slim SEO | Own SEO Pack addon (Personal+); also translates output of major SEO plugins |
| Page builders | Elementor, Beaver Builder, Bricks, Oxygen | Auto-detected via frontend DOM |
| Custom fields | ACF, MetaBox, Pods | Auto-detected (Pro only) |
| WooCommerce | ||
| WooCommerce support | ✓ | ✓ (free core; SEO Pack adds product slugs, Personal+) |
| Product translation | ✓ | ✓ (via visual editor) |
| Variation translation | ✓ | ✓ (via visual editor) |
| Attribute translation | ✓ | ✓ (via visual editor) |
| Category translation | ✓ | ✓ (via visual editor) |
| Inventory sync (SKU, stock, weight) | ✓ (automatic) | Single-source by design (one product, one inventory) |
| Multi-currency with auto exchange rates | ✓ (5 providers, extensible via filter) | ✗ (recommends third-party plugin) |
| Order emails in customer's language | ✓ | ✓ (gettext-translated) |
| Cart fragment isolation per language | ✓ | ✗ |
| Developer Tools | ||
| REST API | ✓ (full CRUD) | ✗ (no dedicated translation REST API; standard WP REST is language-aware) |
| Stateless machine-translation endpoint | ✓ (POST /block-translate) | ✗ |
| WP-CLI | ✓ (full command set) | ✗ |
| Helper API (template functions) | Fluent PHP API (perflocale()) | trp_ filters & actions |
| Hooks and filters | 200+ | Documented trp_ filter set |
| WordPress Abilities API (WP 6.9+) | ✓ | ✗ |
| WordPress 7.0+ Native Integration | ||
| WordPress AI Client provider (translate via host's configured AI — no second API key) | ✓ | ✗ |
| AI quality scoring (1–5 score + “needs review” badges) | ✓ (opt-in background job) | ✗ |
| AI-grounded glossary auto-suggest as you type | ✓ | ✗ |
| WordPress Connectors API key sharing (env > constant > Connectors > DB) | ✓ | ✗ |
JS Abilities shim (wp.abilities.invoke('perflocale/...')) | ✓ | ✗ |
| Block Hooks auto-insert of language switcher in FSE headers | ✓ | ✗ |
Modern admin theme palette (uses --wp-admin-theme-color tokens) | ✓ | ✗ |
Key Differences
Translation philosophy
TranslatePress pioneered the visual frontend translation approach - you browse your live site and click on any text to translate it. This is incredibly intuitive for content editors who aren't comfortable in the WordPress admin. PerfLocale uses a traditional admin-based approach - translators work in the standard WordPress editor with a per-post Translations panel - which is better suited for developer teams, agencies, and sites with complex translation workflows.
Content architecture
TranslatePress stores translations alongside the original content in a single post. PerfLocale creates separate WordPress posts for each language, linked in translation groups. The separate-post approach gives each translation its own revision history, SEO metadata, and custom field values - but requires more database entries.
Free tier scope
TranslatePress's free version supports 1 secondary language plus basic Google-Translate-powered automatic translation and WooCommerce compatibility. SEO Pack (hreflang, sitemaps, slug translation), Multiple Languages, and DeepL ship as paid addons across the Personal (€99), Business (€199), and Developer (€349) tiers - subdomain/per-domain URLs, GeoIP detection, and Translator Accounts are Business+. PerfLocale includes all features - unlimited languages, WooCommerce, SEO integration, machine translation, and workflow - for free.
Migration from TranslatePress
PerfLocale’s bundled TranslatePress importer reads your wp_trp_* tables and reconstructs full translated post content by substituting matched strings from TP’s dictionary into the original post, then writes a brand-new post per language into wp_posts. Post translations, string translations, and translated slugs are all imported. Only reviewed translations (TP status ≥ 2) are included by default - filterable if you want auto-translated strings too. Your TranslatePress data is read-only during the import, so you can re-run or abandon safely. The importer processes posts in batches with cache flushes between chunks, keeping peak memory flat regardless of site size. See the step-by-step TranslatePress migration guide for pre-flight checks, verification, and troubleshooting.
Frequently Asked Questions
Can I migrate from TranslatePress to PerfLocale?
Yes. PerfLocale includes a built-in TranslatePress importer that reconstructs translated post content from TP’s string dictionary, then imports string translations and translated slugs. Activate PerfLocale, add your languages under PerfLocale → Languages, then trigger the import from PerfLocale → Settings → Export & Import or from the CLI with wp perflocale migrate translatepress - the CLI path is recommended for larger sites because content reconstruction is the slowest part of the process. See the TranslatePress migration guide for the full walk-through.
Which is better for WooCommerce stores?
Both handle WooCommerce. TranslatePress’s free version covers product translation via its visual editor and stock is naturally single-source (one product per language). PerfLocale separates products per language so each variant has its own slugs, SEO metadata, and revision history, and bundles automatic inventory sync, multi-currency with auto exchange rates, and order emails in the customer’s language — features that aren’t first-party in TranslatePress at any tier.