Polylang
Polylang
Description
With Polylang fully integrated to WordPress and using only its built-in core features (taxonomies), keep steady performances on your site and create a multilingual site featuring from just one extra language to 10 or more depending on your needs. There is no limit in the number of languages added and WordPress’ language packs are automatically downloaded when ready.
Features
Depending on the type of site you have built or are planning to build, a combination of plugins from the list below might be of interest.
All plugins include a wizard allowing to setup them in just a few clicks.
Polylang
Polylang and Polylang Pro share the same core providing features such as:
- Translating posts, pages, media, categories, post tags, custom post types and taxonomies, RSS feeds; RTL scripts are supported.
- The language is either set by the language code in URL, or you can use a different sub-domain or domain per language.
- Automatic copy of categories, post tags and other metas when creating a new post or page translation.
- Translating classic menus and classic widgets. Also accessible with Site Editor Classic Features in block themes.
- Customizable language switcher available as a classic widget or a classic navigation menu item.
- Compatibility with Yoast SEO.
Polylang Pro
Helps optimizing the time spent translating your site with some very useful extra features such as:
- Better integration in the new Block Editor.
- Language switcher available as a block.
- Language options available in the widget block editor.
- Template parts translatable in the site editor (FSE).
- Duplicate and/or synchronize content across post translations.
- Improved compatibility with other plugins such as ACF Pro.
- Share the same URL slug for posts or terms across languages.
- Translate URL slugs for categories, author bases, custom post types and more…
- Machine translation with DeepL.
- Export and import of content in XLIFF format for outsourced professional translation.
- Access to a Premium Support for personalized assistance.
Polylang for WooCommerce
Add-on for the compatibility with WooCommerce which provides features such as:
- Translating WooCommerce pages (shop, check-out, cart, my account), product categories and global attribute terms directly in the WooCommerce interface.
- Translating WooCommerce e-mails and sending them to customers in their language.
- Products metadata synchronization.
- Compatibility with the native WooCommerce CSV import & export tool.
- Compatibility with popular plugins such as WooCommerce Subscriptions, Product Bundles, WooCommerce Bookings, Shipment Tracking and more.
- Ability to use the WooCommerce REST API (available with Polylang Pro).
- Access to a Premium Support for personalized assistance.
Our other free plugins
- WPML to Polylang allows migrating from WPML to Polylang.
- Site Editor Classic Features allows to use classic widgets (including the Polylang language switcher) and menus in the site editor (FSE).
Credits
Thanks a lot to all translators who help translating Polylang.
Thanks a lot to Alex Lopez for the design of the logo.
Most of the flags included with Polylang are coming from famfamfam and are public domain.
Wherever third party code has been used, credit has been given in the code’s comments.
Installation
- Make sure you are using WordPress 6.2 or later and that your server is running PHP 7.2 or later (same requirement as WordPress itself).
- If you tried other multilingual plugins, deactivate them before activating Polylang, otherwise, you may get unexpected results!
- Install and activate the plugin as usual from the ‘Plugins’ menu in WordPress.
- The setup wizard is automatically launched to help you get started more easily with Polylang by configuring the main features.
Screenshots
Faq
- First time users should read Polylang – Getting started, which explains the basics and includes a lot of screenshots.
- Read the documentation. It includes a FAQ and the documentation for developers.
- Search the community support forum. You will probably find your answers here.
- Read the sticky posts in the community support forum.
- If you still have a problem, open a new thread in the community support forum.
- Polylang Pro and Polylang for WooCommerce users have access to our premium support through helpdesk.
- You need Polylang for WooCommerce, premium addon described above, which will make both plugins work together.
- Please report security bugs found in the source code of the Polylang plugin through the Patchstack Vulnerability Disclosure Program. The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin.
Reviews
Works well for me
By edwinprakoso on January 2, 2026
I've been using Polylang for a while now. No problem so far, works well for my bilingual blog.
This is the 'Best of Language Plugin'
By cuneyttnc on December 28, 2025
It does exactly what it promises without bloating the database. A must-have for any multilingual WordPress site.
Super plugin
By katari0s on December 25, 2025
Super plugin
Great plugin
By Lucas (Luquerias) on December 24, 2025
It works like a charm with elementor!
Complex and unreliable in practice, poor support experience
By klavierart on December 23, 2025
I raised serious concerns and a refund request only two days after purchasing Polylang Pro. Despite this early feedback and the fact that the plugin was tested exclusively in a staging environment, the refund was refused and the discussion was immediately pushed toward internal terms and conditions.
This set the tone for the entire experience.
Polylang Pro is marketed as a professional multilingual solution with DeepL integration. Based on the product presentation, it creates the expectation of a relatively smooth, integrated, and efficient workflow for automatic translations. In practice, however, the setup is far more complex and fragmented than implied. The translation workflow requires multiple additional steps, external configurations, and ongoing third-party costs that are not made sufficiently clear before purchase.
Under more serious load, especially when translating larger amounts of text or content containing more complex structures or code, the DeepL connection frequently fails. Translation processes interrupt, errors appear, and the workflow breaks down entirely. This makes the promised automation unreliable in real-world scenarios where volume and consistency actually matter.
The gap between the marketing message and real-world usability is significant. What is presented as a professional, streamlined solution feels instead like a technically heavy system that demands substantial time investment just to reach a basic, workable state.
Even more disappointing than the product itself was the support experience. When I raised legitimate concerns shortly after purchase, the responses were dismissive and heavily policy-driven. Instead of engaging with the substance of the issues, the communication relied on hiding behind general terms and conditions, avoiding any real responsibility for the mismatch between expectations and reality.
The overall tone and behavior from support were off-putting and frustrating. For a plugin positioned toward professional users, this lack of transparency, flexibility, and accountability is unacceptable.
This experience left me with the clear impression that once payment is made, customer feedback about real-world usability, stability, and reliability is not taken seriously.
This is not about the price. The amount itself is irrelevant. What matters is trust, honest presentation, and professional handling of early customer concerns.
Based on the refusal to issue a refund shortly after purchase, the instability of the DeepL integration under load, the misleading expectations created by the product presentation, and the disappointing support interaction, I will not use Polylang Pro again and I do not recommend it to anyone.
It's good.
By teod on December 20, 2025
We wrote this review because we got spammed with the "write the review" message.
Outdated, they just want you to buy the premium version
By petravanberkum on December 17, 2025
Polylang is outdated for some of the latest standard WordPress themes. The support also doesn't answer/help with anything. So it's not working for me at all.
Easy to use
By Aprowler on December 16, 2025
Easy to use and beautiful plugin.
Lightweight and powerful
By Mohammadreza Maghsoudipour (maghsoudi) on December 13, 2025
Polylang is hands down the best multilingual plugin for WordPress. It’s incredibly easy to set up, works perfectly, and doesn't slow down my site at all.
Solid choice for a multilingual site
By (Jorix) on December 11, 2025
I like (and prefer) the "simplicity" of the setup of Polylang. Configuring a multilingual website properly can be challenging but Polylang keeps the configuration options clean and organized. The only thing I don't like is when you enable translation for Media, any media uploaded for the default language is not visible in the media browser when working in a translation and for instance having to select an image from the media library.
Changelog
3.7.6 (2026-01-06)
- Pro: Add support for WP 6.9 new blocks #2790
- Pro: Fix insertion of navigation language switcher block in WP 6.9 #2847
- Pro: Fix current post URL in site editor for WP 6.8+ #2843
- Pro: Fix a conflict with Sensei LMS #2845
- Fix categories not filtered per post language in quick edit #1785
3.7.5 (2025-11-10)
- Pro: Updated DeepL supported languages list
- Pro: Fix a regression in cross domain login
- Pro: Fix post object field not correctly translated
- Pro: Fix a fatal error in EDD plugin updater when the request to the server fails
- Pro: Fix locale fallback in WP 6.8+
- Pro: Add
pll_enable_acf_labels_translationfilter allowing to disable the translation of ACF labels - Pro: Fix ACF image field not correctly translated when media translation is active
- Pro: Fix ACF image field in repeater not copied
- Pro: Fix ACF ajax request unexpectedly filtered by language when editing a field group
- Pro: Fix ACF blocks not translated when included inside a non-ACF block
- Pro: Add compatibility of the duplicate tool with Divi
- Fix Undefined array key “terms” in canonical.php #1691
- Fix some regressions in the WPML API used by YITH WooCommerce Wishlist #1684
- Fix LinkedIn site title preview with Yoast SEO #1686
- Fix HTML language attribute on login page #1601
- Fix conflict with WP Job Manager Application #1749
3.7.4 (2025-10-28)
- Pro: Security: Fix a ReDoS vulnerability reported by Janine Moreira.
- Security: Fix deserialization of untrusted data reported by Phat RiO – BlueRock via Patchstack.
3.7.3 (2025-06-16)
- Pro: Always display ACF translation settings for field groups formerly translated in versions older than 3.7
- Pro: Fix translation displayed in child fields of ACF layout fields when they should not
- Pro: Fix translation of the ACF field “Choice” when the translation is set to “Copy once” or “Synchronize”
- Pro: Fix a PHP warning when translating some blocks
- Pro: Fix impossibility to change the language of an empty post in the block editor
- Fix duplicate values in options #1672
- Fix JS error in media library (grid view) #1674
- Fix language dropdown not present in the media modal accessible from the media library grid view #1675
- Fix DB error introduce by WooCommerce 9.9 #1681
3.7.2 (2025-05-27)
- Pro: Require ACF 6.0+ to activate the integration to avoid fatal errors with older versions
- Pro: Add a new ACF field group setting to decide if translations instructions must be displayed
- Pro: Fix a fatal error when using ACF blocks with ACF < 6.3.0
- Pro: Fix regression preventing to translate Oembed, URL and Email ACF fields
- Pro: Fix ACF fields not translated when they have a default value
- Pro: Fix empty ACF fields values not copied when the field has a default value
- Pro: Fix ACF field default values not translated when copying a post
- Pro: Fix possible fatal error if invalid types of data are sent for machine translation
- Pro: Fix term meta removed when a term is machine translated
- Fix nav menu locations not saved if invalid data are stored in database #1659
- Fix parent relationship removed when a new translated term is created without parent #1671
3.7.1 (2025-05-05)
- Pro: Do not display ACF fields translations settings when language location is set.
- Pro: Fix ACF taxonomy field terms not synchronized when “Save Terms” and “load terms” settings are activated.
- Pro: Fix duplicate options when using numeric keys for ACF choice fields.
3.7 (2025-04-22)
- Requires PHP 7.2 as minimum version
- Pro: Add DeepL machine translation for strings
- Pro: Consider Polylang Pro as equivalent to Polylang for plugin dependencies
- Pro: Add the details block and several labels in other blocks to XLIFF files and machine translation
- Pro: Allow to translate metas stored as objects
- Pro: Enhanced multilingual support of archive template hierarchy
- Pro: Wrap the language switcher block in a nav tag
- Pro: Support automatic IDs translation in blocks with new filters
pll_sync_block_rules_for_attributesandpll_sync_blocks_xpath_rules - Pro: Complete rewrite of ACF integration
- Pro: Add support for ACF blocks, post types and taxonomies.
- Pro: Remove the possibility to translate ACF field groups
- Pro: Add languages in ACF locations
- Pro: Add translation of ACF labels in the strings translations page
- Pro: Fix incorrect count of translated strings when importing strings translations
- Pro: Fix incorrect translation when an XLIFF import updates a term sharing its slug
- Pro: Fix term hierarchy with machine translation
- Pro: Fix indented items of a list block not translated with machine translation
- Pro: Fix navigation block inserted in the wrong language
- Update plugin updater to 1.9.4
- Add translation of widgets custom html in strings translations #1423
- Refactor core to manage the plugin options in an object #1451
- Refactor core to give access to languages management in all contexts #1503
- Remove the language set from the content option for new installs #1517
- Allow numbers in language codes #1546
- Display empty fields in the translations table for untranslated strings (instead of duplicating the original) #1574
- Add REST API endpoints to manage options and languages #1505 #1569
- Improve performance by registering the language taxonomy only once #1359
- Add new API functions to insert and update posts and terms in a given language #1500 #1520
- Add compatibility with jQuery 4 (planned in core for WP 6.8) #1612
- Fix translations not loaded when the language is set from the content #1395
- Fix possible term duplication #1490
- Fix sanitization of translated options that may impact other strings #1571
- Fix home link block not translated #1647
- Fix a conflict with WooCommerce Price Based on Country #1638
See changelog.txt for older changelog



