PerfLocale
by Alex 1 (1 reviews)

PerfLocale

Performance-first multilingual plugin. Translate posts, pages, products, taxonomies, strings, and slugs with 3-layer caching and 20+ integrations.

PerfLocale ranks #64,683 among WordPress.org plugins with 1+ active installations, is #477 of 749 in the Language Tools category, a 1/5 rating from 1 reviews, and was last updated Aug 31, 2026. Data from WordPress.org, refreshed twice daily — see methodology.

Compatible with WP 7.1
v1.0.0 Current Version v1.0.0
Updated 2 weeks ago Last Update on 31 Aug, 2026
Refreshed 11 hours ago Last Refreshed on
#477 of 749 in Language Tools Downloads -60.3% this week Actively maintained
View on WordPress.org
Rank
#64,683
No change
Active Installs
1+
No change
KW Avg Position
131
No change
Downloads
294
+1 today
Support Resolved
100%
No change
Rating
20%
Review 1 out of 5
1 (1 reviews)

Next Milestone 10

Total Progress 10%
0+ 10+
63,970
Ranks to Climb
-
Growth Needed
8,000,000
Active Installs
Pro

Unlock Exact Install Count

See the precise estimated active installs for this plugin, calculated from real-time ranking data.

  • Exact install estimates within tiers
  • Track install growth over time
  • Milestone progress predictions
Upgrade to Pro
Need 9 more installs to reach 10+

Rank Changes

45,584 50,981 56,379 61,777 67,174 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
45,334 51,273 57,213 63,153 69,092 01-09-2026 02-09-2026 03-09-2026 04-09-2026 05-09-2026 06-09-2026 07-09-2026 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
Current #64,683
Change
Best #

Upgrade to Pro

Unlock 30-day and 90-day rank history charts with a Pro subscription.

Upgrade Now

Active Installs Growth

Active Installs 0,000,000+
Growth +0.0%
Peak 0,000,000

Downloads Growth

0 10 20 30 40 50 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
0 10 20 30 40 50 01-09-2026 02-09-2026 03-09-2026 04-09-2026 05-09-2026 06-09-2026 07-09-2026 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
Downloads
Growth
Peak

Upgrade to Pro

Unlock 30-day, 90-day, and yearly download history charts with a Pro subscription.

Upgrade Now

Reviews & Ratings

1.0
1 reviews
Overall 20%
5
1 (100%)
4
0 (0%)
3
0 (0%)
2
0 (0%)
1
0 (0%)

Support Threads Overview

Resolved
Unresolved
2
Total Threads
2
Resolved
0
Unresolved
100%
Resolution Rate

Frequently Asked Questions

Common questions about PerfLocale

Very little — performance is a core design goal. The plugin's own code stays a small fraction of total page time, typically a few milliseconds per page, with three layers of caching so most requests never touch the database. Larger sites — many translated posts across many languages — benefit from running a persistent object cache like Redis. PerfLocale is fully compatible with page-cache plugins (WP Super Cache, W3 Total Cache, LiteSpeed Cache, etc.); cached pages already include the translated output from the request that filled the cache. Real-world page speed depends mostly on your theme, hosting, and other plugins.
Yes. PerfLocale includes a deep WooCommerce integration: translate products, variations, categories, and attributes. Inventory (stock, SKU, weight, dimensions) syncs automatically across language variants. Multi-currency support, with exchange rates supplied by a provider your site registers via filter. Order emails are sent in the customer's language. The mini-cart, cart, and checkout all display correctly in every language.
Yes. PerfLocale integrates with Elementor, Beaver Builder, Bricks Builder, Oxygen Classic, and Oxygen 6.0. Each builder's content is registered as translatable meta, and dedicated Language Switcher widgets/elements are provided for Elementor, Beaver Builder, and Bricks — in Oxygen (Classic or 6.0) use the [perflocale_switcher] shortcode in a Code Block or Shortcode element.
Yes. PerfLocale includes built-in migration tools for all three plugins. Go to PerfLocale → Settings → Export & Import and use the Migration section. All migrations run in batches with transaction safety - if anything fails, your data is rolled back.
Yes. PerfLocale detects the text direction from the language configuration and sets the correct dir="rtl" attribute on the HTML element. The language switcher and admin UI work correctly with RTL languages like Arabic and Hebrew.
Yes. PerfLocale works with all major caching plugins (WP Super Cache, W3 Total Cache, LiteSpeed Cache, WP Rocket). Each language version has its own URL, so page caches naturally separate content by language. Any response whose language was decided by something other than the URL — a GeoIP or browser-language redirect, a returning visitor's language cookie — is automatically marked uncacheable (via WordPress' nocache_headers()), so one visitor's language can never be cached and served to everyone. On an edge or server cache (Varnish, nginx fastcgi_cache) make sure Cache-Control is honoured or those responses are excluded. Note that enabling GeoIP / browser redirection makes default-language entry URLs uncacheable by design — a page cache serving them from cache would skip the redirect entirely; if you need both, use the bundled edge worker (assets/js/edge-helper.js) to route at the CDN instead.
Yes. PerfLocale is multisite-compatible. Each site in the network has its own languages and translations. Static caches are properly scoped and reset on blog switches.
Yes. PerfLocale resolves every machine-translation API key from three sources in priority order: environment variable → wp-config.php constant → database setting (whichever has a non-empty value first wins). Set PERFLOCALE_DEEPL_API_KEY, PERFLOCALE_GOOGLE_API_KEY, PERFLOCALE_MICROSOFT_API_KEY, PERFLOCALE_LIBRE_API_KEY, PERFLOCALE_LIBRE_URL, PERFLOCALE_AGENCY_URL or PERFLOCALE_AGENCY_API_KEY in your container env or wp-config.php and the admin-side fields become read-only, showing which environment variable or wp-config.php constant supplies the value. Database backups, exports, and SQL dumps then never contain the secret.
By default nothing is lost: uninstalling removes the plugin's roles, capabilities, scheduled tasks, and caches, but keeps all translations, languages, and settings in the database so a later re-install picks up exactly where you left off. If you want a complete removal instead, enable "Delete all plugin data when uninstalling" in PerfLocale → Settings → Advanced before uninstalling — then every plugin table and option is deleted. Your posts and pages (including translated ones) are always preserved as normal WordPress content.
When you enable Edge Worker Integration (PerfLocale → Settings → Advanced), the plugin publishes a single public REST endpoint that edge runtimes (Cloudflare Workers, Vercel Edge, Netlify Edge, AWS Lambda@Edge) can read to pre-route visitors before the request ever hits PHP: GET /wp-json/perflocale/v1/config - returns the minimum routing + language metadata an edge worker needs: active language slugs and locales, URL mode (subdirectory / subdomain / domain / query), URL prefix type, default language, hide-default-prefix flag, excluded paths, detection order, the edge-hint header name (X-PerfLocale-Lang) and cookie name. Response includes Cache-Control: public, max-age=300, s-maxage=3600, stale-while-revalidate=86400 plus an ETag so edges and browsers can revalidate cheaply with If-None-Match (304 on hit). The response NEVER contains: machine-translation API keys, provider tokens, user data, internal post or term IDs, or any data that is not already observable from the rendered site (hreflang tags, language switcher, URL prefixes). That non-sensitive invariant is what justifies the public default. If you extend the payload via the perflocale/api/config filter, your additions must preserve this invariant. Public by default + filter-gated for restriction: site owners who want to restrict access (private staging sites, IP allowlists, Application-Password authentication, mTLS at a reverse proxy) hook the perflocale/edge_worker/config_permission_callback filter to return false or a WP_Error for unauthorised requests. Example: add_filter( 'perflocale/edge_worker/config_permission_callback', fn () => current_user_can( 'manage_options' ) ); The plugin does not invent its own bearer-token or custom-header authentication scheme. Use WordPress' built-in primitives (Application Passwords for machine-to-machine auth, cookie + nonce for browser sessions, or a third-party JWT/OAuth plugin) and gate via this filter — that way your edge-worker auth composes with the rest of your site's WP-REST authentication setup.

More plugins by Alex

Sign In / Register

You need to sign in or register to use this feature.