Back to blog
WordPress·October 27, 2026·6 min read

How to Translate Polylang Automatically with DeepL

Connect Polylang to DeepL in about ten minutes: a free API key, one plugin, and every post you publish is translated and linked to its original.

Polylang makes a WordPress site multilingual, but it leaves the translating to you: each post, in each language, is written by hand. DeepL produces some of the most natural machine translations available, and its API has a free tier. This guide connects the two with AutoLingo, a free plugin, so that a post is translated into every language the moment you publish it.

90-second demo: a published post is translated and linked in Polylang. The video uses AutoLingo AI; with a DeepL key, the steps are the same.

What you need

  • WordPress 6.0 or later, PHP 8.0 or later
  • Polylang (free or Pro) with at least two languages set up
  • A DeepL API key: the free tier covers 500,000 characters a month

1. Get a free DeepL API key

Create an account on DeepL's website and choose DeepL API Free. The API is a separate product from DeepL's translator app subscriptions, which do not include it. DeepL may ask for a card to verify your identity; the free tier is not charged. Free keys end with :fx, and AutoLingo detects the plan from that suffix.

500,000 characters is roughly 80,000 words a month: about fifty 1,500-word posts into one language.

2. Install AutoLingo

In WordPress, go to Plugins → Add New, search for AutoLingo, then install and activate it. On a new install it reads your languages from Polylang: your default language becomes the source, the others become the targets.

3. Add the key

Open Settings → AutoLingo, choose DeepL as the provider and paste the key. Check the source and target languages and the content types to translate (posts and pages by default, products too when WooCommerce is active). Leave Auto-translate on.

4. Publish

Publish a post in your source language. AutoLingo sends its title, content and excerpt to DeepL, creates the translations and links them to the original in Polylang, so the language switcher and Polylang's hreflang tags work straight away. Categories and tags are translated too. Long posts (over 5,000 characters by default) are translated in the background, so publishing stays fast.

Shortcodes, HTML attributes and URLs are protected before the text goes to DeepL and restored afterwards, so Gutenberg blocks, the Classic Editor and shortcode builders such as Divi or WPBakery come through intact.

5. Translate the posts you already have

For a few posts, use the Translate button in the AutoLingo box of the editor, or the Translate link in the post list. For a whole site, use WP-CLI:

wp pdat audit
wp pdat translate-missing --dry-run
wp pdat translate-missing
wp pdat translate-menus

audit lists each post and the languages it is missing; --dry-run shows what would be translated without creating anything; translate-menus translates your navigation menus.

Keep your terminology consistent

In the DeepL Glossary section of the settings, add one term per line as Source Term | Target Term (product names, brand terms), then click Sync to DeepL. For languages with formal and informal forms, such as German or French, the DeepL Formality setting picks the tone.

When the free quota runs out

Add free Google Cloud Translation (500,000 characters a month) and Microsoft Translator (2,000,000) keys too. When DeepL's quota runs out, AutoLingo translates with the next provider that has a key: about 3,000,000 free characters a month in all.

A translation you correct by hand is not overwritten later: when the original changes, AutoLingo skips it and notes it in the translation log.

See what AutoLingo translates, free and Premium →

Try AutoLingo

One tool, every CMS. Powered by DeepL, Google Translate and OpenAI.

Try AutoLingo