A friendly guide
Multilingual WordPress, explained simply.
Every tool that promises to translate your WordPress site is really just choosing between a small handful of approaches. Once you know what they are, the rest of the decision gets a lot easier.
Three ways people do this
Some tools translate your page somewhere else and hand your visitor the result. Setup is usually quick — a bit of code and an account — and it works no matter what built your site in the first place. The catch: the translated version only exists while that other service is switched on. Cancel it, and those pages stop working, because nothing was ever saved on your own site.
Some tools give each language its own copy of the page — a separate version you or a translator writes and updates by hand. This gives you total control: a language can say something genuinely different, drop a section, use different photos. It also means every one of those copies needs someone to notice when the original changes and go update it, or it quietly falls behind.
Some tools translate the real page once and remember it, right there on your own site. New content translates itself the moment someone reads it — nothing to create or keep in sync by hand. The tradeoff runs the other way: a language that genuinely needs to say something different needs you to step in and say so, rather than a separate page you were always going to write anyway.
None of these is simply "better." A site with five markets that each need their own promotions wants the second approach. A site that wants the same content readable everywhere, with the least ongoing work, wants the third. See how the most popular WordPress tools split across these three on thealternatives page.
Picking a web address for each language
Every language needs its own address — somewhere a search engine can find it and a visitor can bookmark it. The usual options, from simplest to most involved:
- A folder on your existing address —
example.com/es/— shares everything your main site has already built up, with nothing extra to set up. This is what LocaleReady uses. - A separate address for each language —
es.example.com— keeps things a little more separated behind the scenes, but some tools end up treating it as an entirely different site. - A completely different domain per country —
example.es— is the biggest undertaking, usually reserved for a genuinely separate local business rather than a translated version of the same site. - No real address at all, just something remembered in the visitor's browser, is the easiest to set up and the worst for Google — without an actual address, there's nothing distinct for a search engine to find for that language.
Helping Google find the right page
There's a small, invisible note called hreflang that you can attach to a page, saying "this exists in other languages too, and here's where to find them." Get it right, and a French search result can point straight at your French page instead of your English one. Get it wrong — a note pointing the wrong way, or missing entirely — and search engines tend to just ignore the whole thing rather than guess what you meant.
Each translated page also needs to be clear about its own official address, rather than quietly pointing back at the original. If those two things disagree, search engines have no good way to sort it out.
If you're using an SEO plugin like Yoast or RankMath, it's worth checking that the extra, invisible information it adds for search engines moves with the translation too — it's easy to overlook, since it never shows up on the page itself, but a search engine reads it just as closely as your actual words.
The cost hiding under "free" translation
Automatic translation is never actually free — it runs on somebody's computer, and somebody pays for that. A plugin that promises unlimited free translation usually pays for it by quietly limiting your traffic, using a lower-quality translator, or building the cost into a plan you'll eventually outgrow.
The more honest option is connecting your own account with a translation service — DeepL and Google are the two most trusted — and paying them directly for what you actually use. You can see exactly what your translated site costs, and setting your own monthly limit caps the worst case, rather than a vendor quietly capping your quality instead.
Fast, automatic translation and AI aren't quite the same thing, either. A visitor waiting for a page to load should never be waiting on an AI — it's too slow for that. A specific sentence that needs better tone or wording is a great place to spend one, after the fact, on your own schedule.
What actually goes wrong on a multilingual site
Almost every real complaint about a translation plugin comes down to one of three things:
- Something that loads in after the page. A cart total, a live search result, a form's emailed confirmation — none of these were ever part of the page a translator saw. A tool that only translates the first thing your browser loads misses all of it.
- A caching plugin showing the wrong language. If a caching plugin doesn't know each language is its own page, the first visitor to load a page in any language can end up deciding what everyone else sees, in every language, until the cache clears.
- A hand-fixed translation getting quietly overwritten.Someone corrects a translation by hand, the original sentence gets edited months later, and that correction either disappears or ends up attached to words that no longer exist anywhere on the page.
Each of these is a real, specific problem to solve — not just a box to tick — which is most of what separates a translation plugin that works well from one that mostly does. See how LocaleReady handles each of them on thefeatures page.
Ready to see it for yourself?
See how LocaleReady puts all of this into practice, or jump straight to installing it.