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

FeaturePerfLocaleTranslatePress
General
PriceFree, open source (GPL-2.0+)Free core + Personal €99 / Business €199 / Developer €349 per year
Translation approachSeparate posts per languageSingle 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 architecture3-layer cache (static, object cache, transients)No dedicated caching layer
Batch preloading
Smart query optimization
Plugin code time per page~1 ms median; see benchmarksNot published
Translation Tools
Visual frontend editor
String translation✓ (scanner + file/database modes)✓ (frontend editor for visible strings)
Machine translation providersDeepL, Google, Microsoft, LibreTranslateGoogle 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 modesSubdirectory, subdomain, per-domainSubdirectory (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 pluginsYoast, Rank Math, SEOPress, AIOSEO, TSF, Slim SEOOwn SEO Pack addon (Personal+); also translates output of major SEO plugins
Page buildersElementor, Beaver Builder, Bricks, OxygenAuto-detected via frontend DOM
Custom fieldsACF, MetaBox, PodsAuto-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 filters200+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.

← Back to comparisons