Polylang and DeepL, a balanced solution for multilingual blog

Polylang and DeepL, a balanced solution for multilingual blog

Polylang and DeepL

Just as other reviews of premium plugins or any other product warn of the existence of affiliate links, on this occasion there are none. What is written here is based solely on the experience of using these two tools combined in their free versions.

If you have ever considered trying to add a second or third language to your WordPress, you will already know that there are no magic automated solutions to do so. Still, there are plugins, many of them free, that make the job easier.

To build a multilingual blog you need to achieve two goals, preferably in this order.

1- Translate the structure of the blog, widgets and menus, taxonomies such as categories, tags, etc. Polylang will be used for this task.

2- The big one, the translation of the content of the posts and/or pages with the help of DeepL.


Although there are different opinions about which is the best plugin for this, all of them have evolved a lot since their first versions, simplifying the task a lot. Perhaps the most widely used and cheapest for a single site, but also the most cumbersome and prone to create problems is WPML.

Another option that many point out as the best is MultilingualPress which opts for a different approach from a multisite. Instead of having one WP with several languages, it creates several WordPress instances with one language each. It was originally the most expensive (last year it cost $199 for a single site) but has lowered its standard version to $99, but can only be used for 3 languages and 1 WordPress Multisite

I have chosen Polylang in its free version because, without being the most complete, it is the lightest, simple to use and meets the minimum requirements.

Polylang also adds the hreflang attributes automatically to ensure that search engines recognise in which language your content appears and can show visitors the most appropriate version of the page according to their language or place of origin.

Just install it, follow a couple of steps in its wizard, perform some basic settings and start translating strings.

Polylang and DeepL, a balanced solution for multilingual blog
Polylang and DeepL, a balanced solution for multilingual blog 2

I'll skim over the Polylang configuration because there are a lot of reviews and tutorials very complete, in addition to the plugin's own documentation on the plugin's website. It's not much of a mystery either.

Its PRO version is a bit expensive (99 euros) at least for the first year, in the following renewals you pay 50%. Although in principle the extra options that it offers are not missed to begin with.

After setting the main language we can add as many languages as we need and start translating everything that the plugin allows us to do.

Polylang and DeepL, a balanced solution for multilingual blog

Once everything is as it should be, the real work begins. Translating the content.

Polylang adds this new option in the editor of the entries. Pressing that + symbol next to the flag will create the empty version of the page in the selected language, with its corresponding new language url /en/, English in this case, so you can start adding the translation.

Polylang and DeepL, a balanced solution for multilingual blog 4

There is no plugin that does a massive translation of all your content for free and with one click. Some people use Google Translate or other online translators, but we already know the result. Calling what Google Translate does a translation should be a criminal offence.

Some add-ons offer per-character or per-word volume plans through various in-house or third-party professional translation services. The best option will always be the work done by a professional human translator.

But what this is all about is that you add the translation yourself, provided you know the language well enough to be able to make the necessary corrections afterwards and to be able to adapt colloquial language, slang, local idioms and so on to the new language.

Pause, this is where DeepL comes in.


I have been following the work of this translator for a long time because I was already surprised by his response, even when translating texts in a very informal style.

Gradually, both different technology websites and users have discovered that its results are significantly superior to those of other online translators. You can try it out and to draw your own conclusions, there are also several comparisons based on the translation of different classic texts.

DeepL allows you to upload Word (.docx) or PowerPoint (.pptx) documents and also has an application for Windows. It has a glossary where you can save the replacement words you suggest and three translation modes: formal, informal and automatic.

Polylang and DeepL, a balanced solution for multilingual blog 5

According to the information provided by DeepL on their websitewhere it claims to be the best automatic translator in the world, it was launched in August 2017 and in March 2018 it presented its PRO version that allows its subscribers to use its convolution neural network AI, in a more optimised version with more options, as well as the possibility of creating new applications and services using its API.

Polylang and DeepL, a balanced solution for multilingual blog 6

If their tool hasn't already beaten Google Translate, it's only because it doesn't yet match the number of languages that Google Translate translates (more than 100) compared to the little more than 20 that DeepL covers, but mainly because people still find it hard to get out of Google and continue to use it as if it were the only option and what is worse, understanding it as the natural entrance to the internet. I think that DeepL, if it continues to evolve like this, could soon displace GT as the most used.

Let's get down to business

Let's get down to business, among the things that DeepL offers is the free API access for developers.

DeepL API Free allows developers to translate up to 500,000 characters per month free of charge and integrate the DeepL REST API into their own products and platforms

500K That's not bad for a month. This post is about 1540, so 326 articles of similar length could be translated.

The next step is to sign up for this subscription plan and once you have finished the process, write down the authentication key for the API which you will find in the "Plan" tab of your account.

Polylang and DeepL, a balanced solution for multilingual blog

Plugin from DeepL

Now we download "DeepL Pro API translation plugin" from the WordPress repository to be able to use our "DeepL API Free" plan and install it.

In its settings add the API key in the "API key" box, choose free API plan and when you update your monthly free characters balance will be added and a bar will appear where you can check the characters you are using. Configure the rest of the options and exit.

Polylang and DeepL, a balanced solution for multilingual blog 8

Now, when you open the WordPress editor, depending on where you have configured it in "Integration", a new translation module will appear for DeepL that looks like this.

Polylang and DeepL, a balanced solution for multilingual blog 9

And we're back to the point where we left off to Polylang:


When we create pages to add their translation, we are generating a new page linked to the original one that will appear completely empty. So, before we start doing it, we will copy all its content. It is advisable to copy it in the HTML mode offered by the Wordpress editor.

Now we paste it in the HTML tab of the new page created and save it as a draft.

Then, without leaving the HTML view of the editor, click on Translate in the DeepL module and the translated text will appear in our editor.

I tried to do it from the visual tab and it returned some errors in the text layout such as missing spaces or line breaks. You also have to save as a draft, sometimes a couple of times, so that the Translate button reacts and returns the translation.

Now it is time to go over the translation to polish up anything that seems odd in the construction and to check that no terms have been used that change the sense, meaning or style of what we have written in the original text.

Finally, just add the title (the free version does not translate it), tags and description in the new language and publish.

Something like this.

For Elementor pages I've experienced problems. There is a plugin called "Polylang Connect for Elementor" to link both plugins which promises full compatibility and I don't know if it solves this problem, but I'm afraid it's more for translating widgets and strings from templates created with Elementor. I haven't tried it, reading the support thread in the repository it seems a bit of a neglected plugin.

As Polylang takes care of linking the original page with its translation so that they have reciprocal links, you can now add the typical little flags to every post that has a translation and also plant them in your site menu or widget.

I've opted for a more minimalist design to display the language flags switcher at the top of posts and it looks like this. It's made using a function and its corresponding CSS, that you can find here.

Polylang and DeepL, a balanced solution for multilingual blog 10

As for the menu flags, I've replaced them with round ones, here it's explained how to do it.

Update 18 March 2024.

Polylang v3.6, in its PRO version, has added a function called "DeepL Machine Translation" which is just the same as the "DeepL Pro API translation plugin".

To sum up

If you can't afford a professional translation service, your blog doesn't have many articles published and you have the necessary knowledge of a language to correct the texts obtained from DeepL, with these two plugins you can create a complete multilingual version or translate only those pages that you think could receive the attention of visitors from other countries.


  • Easy to set up and use.
  • Free (time investment) if you know the language.


  • If your site has many pages you will need many hours of work.
  • On pages edited with Elementor it works poorly and sometimes unlinks the translation.
  • Dependence on Polylang, tower of Babel effect when deactivated.

Suscríbete por email para recibir las viñetas y los artículos completos y sin publicidad

Artículos relacionados

Este blog se aloja en LucusHost

LucusHost, el mejor hosting