What is Polylang plugin?
Polylang is a multilingual plugin for WordPress with a functional free version on WordPress.org and a Polylang Pro upgrade for advanced features. With over 600,000 active installations, it is one of the most widely used multilingual plugins. Polylang takes a manual translation approach: you create translations for each piece of content yourself (or via a connected translation service), giving full control over the translated content without automatic machine translation dependence.
The free version handles posts, pages, custom post types, media, widgets, and menus across unlimited languages. Language URL format (subdirectory, subdomain, or different domain), language switcher placement, and hreflang tags are all supported in the free version. Polylang Pro adds WooCommerce product translation, page builder compatibility, translation of custom fields from ACF, Toolset, and Meta Box, and more advanced URL handling.
For agencies managing multiple client sites, Polylang Pro’s €99/year license covers unlimited sites — a significant cost advantage over WPML’s per-site or per-agency pricing. For WooCommerce multilingual stores, Polylang for WooCommerce (included in Polylang Pro) provides product, category, and checkout translation. TranslatePress is a notable alternative that provides a visual front-end editor, while Polylang’s admin-side translation workflow is more familiar to WordPress users who work primarily in the backend. For sites where the free version’s limitations are not a constraint, Polylang is one of the best free multilingual starting points available.
Need Help With Polylang Setup, Troubleshooting, or Customization?
Need help with Polylang? Whether you are dealing with errors, broken functionality, styling problems, plugin conflicts, or advanced customization, we can help you fix the issue and get the plugin working properly on your WordPress site.
Get Polylang Expert HelpKey Features
- Supports unlimited languages with custom language creation
- Translates posts, pages, custom post types, media, widgets, menus, and strings
- Language URL options: subdirectory, subdomain, different domain
- Language switcher widget and menu item
- Hreflang SEO tags
Pros & Cons
Pros
- Strong functional free version — unlimited languages with no subscriber limits
- Agency-friendly Pro licensing (unlimited sites for one price)
- Lighter database footprint than WPML for simple multilingual sites
Cons
- No automatic translation engine built in — manual translation only
- WooCommerce and page builder support requires Pro upgrade
Free vs Premium
Free: unlimited languages, posts/pages/custom post types, widgets, menus, hreflang. Polylang Pro (€99/year, unlimited sites): WooCommerce, page builders, ACF/Toolset/Meta Box, advanced string translation, email support.
Common Problems & Fixes
Polylang is not showing the translated version of a page when the language URL is visited — it always shows the default language. How do I fix this?
Check: (1) the translation is published (not draft) — go to the post/page in the default language and click the pencil icon next to the target language flag to open the translation; (2) your permalink structure is enabled — Polylang requires WordPress to use pretty permalinks (Settings → Permalinks → any option except Plain); (3) the language URL format in Polylang → Settings → Languages matches how you are accessing the URL; (4) flush permalinks by going to Settings → Permalinks and clicking Save after any Polylang configuration change.
Language switcher in Polylang is not showing — how do I add it to the site?
Polylang provides three ways to add a language switcher: (1) Appearance → Widgets — drag the Polylang Language Switcher widget to any widget area; (2) Appearance → Menus — add a language switcher as a custom menu item; (3) PHP function pll_the_languages() for manual theme placement. If the widget or menu item is added but not visible, check that the widget area is active in your theme and that the Polylang languages are configured with at least two active languages. The switcher does not appear if only one language is configured.
Custom post type content in Polylang is not translatable — the language flag is missing from the post editor. How do I enable it?
In Polylang → Settings → Custom Post Types and Taxonomies, find your custom post type and enable the “Translate” checkbox. Save settings. The language selection and translation panel will now appear in the custom post type editor. If your custom post type was registered with show_ui => false, it may not appear in the list — contact the custom post type’s developer to ensure it is properly registered with UI support for Polylang to detect it.
Customization & Developer Notes
How do I translate strings from my theme or plugin UI using Polylang?
Polylang Pro includes a String Translation module for translating theme and plugin text (button labels, widget titles, hardcoded strings). Go to Languages → String Translation and search for your string. Alternatively, for theme and plugin PHP strings, use the standard WordPress localization functions (__()), which Polylang hooks into automatically — translate the theme or plugin via Loco Translate and Polylang will serve the correct language version based on the active language. For the free version, Polylang does not handle string translation — use Loco Translate or a separate string translation plugin.
How do I set a default language and redirect visitors to their browser language automatically?
In Polylang → Settings → Languages, set the default language (the language used when no language code is in the URL). In the Detection & Redirection section, enable “Detect browser language” to automatically redirect new visitors to their browser-preferred language if a translation exists. Set a cookie duration for the redirect so returning visitors are directed to their previously chosen language. Also configure the behavior for URLs without a language prefix — typically redirect to the default language or detect automatically.
Frequently Asked Questions
Is Polylang free good enough for a simple bilingual WordPress site?
Yes — for a standard WordPress site with two or three languages that does not use WooCommerce, custom page builders, or advanced custom fields, Polylang free covers all essential multilingual requirements: content translation, URL management, hreflang, and language switcher. The free version is genuinely functional, not a limited teaser. Polylang Pro becomes necessary primarily when WooCommerce or page builder translations are required.
Can Polylang be used with Elementor?
Polylang Pro is required for Elementor compatibility. The Pro version integrates with Elementor’s translation workflow, allowing translation of widget content, templates, and global sections. With Polylang free and Elementor, you can translate post content but Elementor-specific widget text and global templates require the Pro integration for proper multilingual handling.
Can Polylang break after updates?
Yes, that can happen, especially on older sites with many plugins. This usually happens when the plugin, theme, and add-ons are updated out of sequence. In most cases, testing on staging catches the issue before it reaches the live site. From experience, backups and changelog reviews save a lot of cleanup time.
What should I check before installing Polylang?
Start by checking whether another plugin already does the same job. In most cases, overlap is what creates avoidable conflicts and performance issues. A common issue is installing a plugin because it looks convenient without checking the stack first. From experience, a short compatibility review avoids most of the pain later.