When you outgrow the free plugin.
Polylang's free tier is genuinely useful. We say that without sarcasm — it's how a lot of WP sites start out multilingual. The pain begins when you outgrow it.
Polylang Free is fine. Polylang Pro inherits WPML's problems.
Polylang Free uses the same duplicate-post architecture as WPML. For small sites with hand-translated content and a stable URL structure, that's perfectly fine. The trouble shows up when you need: auto-translation, brand consistency across hundreds of products, a headless frontend, or AISEO surfaces. Polylang Pro adds some of these — but inherits the same architectural debt as the rest of the WP translation ecosystem.
Feature matrix.
| Feature | Paragraphs | Polylang |
|---|---|---|
| Free tier | 100k words / month | Yes, real free tier |
| Storage model | External graph | Duplicate posts per locale |
| Auto-translation | DeepL + Claude cascade | Polylang Pro only |
| Translation memory | Yes | No |
| Glossary enforcement | Yes | No |
| Headless / framework adapters | Yes | No |
| AISEO (llms.txt, translated JSON-LD) | Yes | No |
| In-context editor | Yes | No |
| Branches | Yes | No |
Three signals.
-
Going headless
Polylang's translations live in WP. The moment you front WP with Next.js, Astro, or a mobile app, you need a way to read translations out — and Polylang doesn't have an API for that.
-
Brand at scale
When you're translating 500+ product names, glossary enforcement stops being optional. Polylang Pro doesn't have it; Paragraphs does.
-
AISEO matters to you
LLM-driven traffic is growing fast. Polylang has no story for per-locale llms.txt, translated JSON-LD, or LLM-friendly Context API endpoints.
Migrating from Polylang?
The same WPML importer reads Polylang's tables. Same one-command migration, same zero-downtime cutover.