URL & Routing

Flexible URL structures and automatic language detection for every visitor.

Flexible URL Structures

Choose between subdirectory, subdomain, or per-language domain modes. All three work with any WordPress permalink structure.

Automatic Language Detection

Detect visitor language using a configurable priority chain: URL prefix, cookie, browser language, or GeoIP geolocation. PerfLocale walks the chain in order and stops at the first match — no extra lookups once a language is found.

1
Visitor arrives
IP 198.51.100.42 · no language cookie
2
GeoIP API call
PerfLocale queries your chosen provider:
  • ipinfo.io Free tier
  • ipapi.co Paid
  • ipstack Free tier
  • ip-api.com Paid
Result cached — same IP, no re-query
3
Country → language
🇩🇪 DE → Deutsch
4
302 Redirect
acme-bakery.com/de/

GeoIP Redirect

Redirect first-time visitors to their local language based on IP geolocation. Pick a provider (ipapi.co, IPinfo, ipstack, or ip-api.com), drop in your token, and PerfLocale handles the country → language mapping with caching built in.

PerfLocale Language Fallbacks UI: an ordered, drag-handle list per language. English (US) falls back to English (UK) then Deutsch; English (UK) falls back to English (US); Deutsch falls back to English (US) then English (UK); Français falls back to English (US) then English (UK); Español falls back to English (US); العربية has no fallbacks and uses the Missing Translation Action instead. Click for the full settings row including the row label and description.
Never a redirect chain — just one hop, always

Language Fallbacks

Set an ordered fallback chain per language. When a visitor requests a page that hasn’t been translated yet, PerfLocale walks the list and issues a single redirect to the first published sibling — never a chain of hops. If nothing in the chain matches, the global Missing Translation Action takes over. Read the language-fallback docs.

Self-Healing Rewrite Rules

PerfLocale watches WordPress’s URL routing and rebuilds it the moment something drifts. Pretty URLs never 404 from a stale cache — no manual Save Permalinks trips.

← Back to Features