For a bilingual site, the Polylang or WPML question comes up on every project. Our answer fits in one sentence: Polylang in most cases, WPML when the project really calls for it. Both plugins translate a WordPress site well. The difference lies elsewhere: in what they cost, in what they leave in your database and in how your team will work.
What a multilingual plugin does
WordPress only knows one language. The plugin links each page to its translation, adds the language switcher, gives each version its own addresses (/en/services/, for example) and tells Google which version to show to whom, with hreflang tags.
In Quebec, the question doesn’t come up in a vacuum. A business may offer its site in English if a French version of comparable quality exists and remains accessible, as Éducaloi points out. The French version is the reference, and the English one follows it.
Polylang: light and close to WordPress
Polylang stores its translations with WordPress’s own tools, taxonomies (the mechanism behind categories). An English page is an ordinary page, linked to its French version. If you remove the plugin one day, your pages are still pages.
The free version, on the official WordPress directory, has more than 900,000 installations. It translates posts, pages, media, categories and menus. For a simple business website, it is often enough.
Polylang Pro starts at €99 a year per site, before taxes. It adds what saves time on a professional site: translated addresses for every content type, copying a page when you translate it, integration with ACF (the fields of our sections), text export for a translator and machine translation with DeepL. For an online store, you add Polylang for WooCommerce, or take the Business Pack that bundles both.
Our own site runs on Polylang Pro.
WPML: more complete, heavier
WPML has been around longer and does more. It adds its own tables to the database (icl_translations to link translations, others for theme and plugin text). Your content depends on it a little more.
Its entry plan, Multilingual Blog at €39, translates neither menus nor plugin text: it is a poor fit for a business site. The useful plan is Multilingual CMS, at €99 a year for three sites, with string translation, store support (WooCommerce Multilingual), a translation editor and machine translation credits. Multilingual Agency, at €199, covers unlimited sites. For a group running three sites, the math flips: one WPML licence costs the price of a single Polylang Pro licence.
Where WPML pulls ahead is translation management. You assign pages to translators, track what is translated and what is out of date, and connect a translation agency. For a team of five translating into three languages, that changes everything. For a marketing manager who translates their own pages, it’s mostly extra menus.
You also hear that WPML is compatible with more plugins. True, but the argument matters less than it seems: Polylang reads the configuration file plugins prepare for WPML (wpml-config.xml). A plugin compatible with WPML is often compatible with Polylang. Often, not always: we check before choosing.
What Google needs to see, whatever the plugin
Polylang and WPML send Google the same signals, as long as they are set up properly. Each language has its own addresses. The simplest option is a subfolder (/en/) on the same domain: one site to host, one certificate, one property in Search Console. A domain per language is rarely justified for a Quebec business.
Each page then declares its translations with hreflang tags, in both directions: the French page points to the English one, and the English one to the French. Google ignores tags that don’t point back to each other. Our free SEO checker also checks a page’s hreflang tags.
Finally, resist automatic redirects based on the browser’s language. Google advises against them: the crawler exploring your site would only see one version, and an English-speaking visitor who wants to read in French could no longer choose. A visible language switcher does the job better. Label it “English” and “Français”, without flags: a flag stands for a country, not a language, and the British flag on a Montreal site always raises a smile.
Polylang or WPML: the comparison
| Polylang | WPML | |
|---|---|---|
| Free version | Yes, enough for a simple business website | No |
| Useful price for a business site | Pro, from €99 a year, per site | CMS, €99 a year, up to three sites |
| Where translations go | Ordinary pages, linked by WordPress taxonomies | WPML’s own tables |
| WooCommerce store | Separate plugin (Polylang for WooCommerce) | Included in CMS and Agency |
| Machine translation | DeepL, with your own key (Pro) | Credits included, then paid |
| Working with translators | File export and import (Pro) | Roles, queue, translation agencies |
Prices from the publishers’ sites, in euros and before taxes. They change: check before buying.
Our recommendation
We install Polylang on a business or nonprofit website in French and English, translated by your team or by us. That is the large majority of our projects. The plugin stays out of the way, and the site keeps a standard WordPress structure.
We choose WPML in four cases. Several translators or a translation agency need to work on the site at the same time. The store sells in several currencies and the project benefits from WooCommerce Multilingual. A plugin the site can’t do without is only compatible with WPML. Or the site already runs on WPML and works well.
Switching multilingual plugins midstream is possible. Polylang publishes an importer for WPML, and WPML documents the reverse path. But the importer hasn’t been tested with the last three major releases of WordPress, and every site has its quirks (fields, menus, forms, addresses). The switch is prepared like a small project, with a test copy and a page-by-page check. We don’t suggest it without a reason.
Either way, machine translation is a first draft. It’s fast, but it knows neither your vocabulary nor your industry’s. Someone proofreads every page before it goes live.
The real cost is the second language
The plugin is the easy part. A second language is a second site to keep up to date. Every page changed in French has to be changed in English, or the two versions drift apart and the English one ends up saying something else.
It also has to be planned from the design stage. Theme text (buttons, messages, labels) must be translatable. Forms and their confirmation emails exist in two versions. English addresses are decided before launch, not after. On a site built for a single language, all of this can be caught up, but at a price you could have avoided.
If you are launching a bilingual site, choose the plugin last. First decide who will translate, and how often: the answer almost always points to the tool. We prepare the WordPress sites we build for two languages even when they start in French only: the day English arrives, all that’s left is translating.