You are building a new WordPress site and it needs to speak more than one language. The advice you usually get is to translate everything first and launch in one go — which is why so many multilingual WordPress sites never get their second language at all. There is a calmer way: put the site online in your own language, add the other languages one at a time, and keep each one invisible until it is finished. Nobody sees a half-translated page. Google never indexes one. And you translate at the pace real life allows.

Why a half-translated WordPress site costs you more than no translation
A page that is half in Italian and half in English does not read as “work in progress”. It reads as abandoned. Visitors leave, and the ones who stay trust you less — 76% of shoppers prefer to buy in their own language, and they can tell in three seconds whether yours is really there.
Google is less forgiving still. Publish a language before it is translated and you invite the search engine to index dozens of near-duplicate pages, announce them to the world through your hreflang tags and your sitemap, and then quietly change them all later. Google’s own guidance is blunt about this: avoid partially translated pages. Users, it says, do not enjoy them.
So the goal is simple: build the languages in the open, publish them only when they are done.
Two different switches — and you probably want the second one
TranslateRocket gives you two ways to keep translations out of sight, and they answer two different questions.
- Preview mode hides every translation from visitors. The whole site stays in your source language while you review all languages at once. Right for a first pass on a site that is already live.
- A language kept offline hides one language, while the others keep working normally. Right for a new site, and right for every language you add later.
The second one is what makes a language-by-language launch possible. Italian is live and selling while German is still being written, and neither knows about the other.
Step 1 — Put the site online in one language
Finish the site in the language you write in. Real texts, real prices, real photos. This matters more than it sounds: every sentence you change later is a sentence you will have to translate again, in every language. An afternoon spent settling the copy now saves a week of re-translation later.
Then install the plugin and set that language as your source. Nothing changes for your visitors yet — a one-language site with TranslateRocket installed is just a one-language site.
Step 2 — Add the second language, and leave it offline
Go to TranslateRocket → Languages and tick the language you want. From version 1.1.0 a language you add starts offline: its switch is grey until you decide otherwise. That default exists for exactly this reason — the moment you save, a language with nothing translated in it would otherwise already be public.
While the switch is grey, here is precisely what the world sees.
| Who | What they get |
|---|---|
| A visitor | No sign of the language in the switcher. If they somehow land on one of its URLs, they are sent to your default language — no error page, no dead end. |
| Nothing to find: the language is left out of your hreflang tags and out of your XML sitemap, so it is never announced and never crawled as an alternate. | |
| You | Everything. You browse the language on the real pages, with the real theme, and edit as you go — anyone who can preview still sees it all. |
Step 3 — Translate it at your own pace
Now the slow part, which does not have to be slow. Browse the site once while logged in so the plugin detects the text, then pick whichever route suits you — they mix freely, and everything is kept:
- In your browser, free, no API key. Chrome and Edge on a computer carry a translator that runs on the device itself. One button translates the whole site. We timed a run: 464 strings in 42 seconds.
- With AI, if you have a DeepL, OpenAI, Gemini or Claude key — better prose, at a few cents per page.
- By hand, on the page itself. Click any text in the visual editor and rewrite it. This is where a machine translation becomes yours.
The Languages screen keeps score, so you always know how far you are from being able to flip the switch.

Step 4 — Check the things nobody thinks about
Before you publish a language, walk it once as if you were a visitor. Four things are worth two minutes each:
- The page addresses. A translated slug (/it/chi-siamo/ rather than /it/about-us/) is the difference between a page that ranks in Italian and one that does not.
- Titles and meta descriptions. They are what Google actually prints in the results — and they are not on the page, so it is easy to translate a whole site and forget them entirely.
- The invisible text. Image alt text, link titles, form placeholders, ARIA labels: search engines and screen readers read all of it. In the SEO panel they are listed one by one, and each line takes you to the element on the page.
- The shared preview. The title and description that appear when someone posts your page on Facebook, LinkedIn or WhatsApp. If a SEO plugin sets its own, those need translating too.
Step 5 — Flip the switch to green
One click and the language is public: it appears in the switcher, it goes into your sitemap, and its hreflang tags start telling Google that an Italian version of every page exists. Nothing was announced before it was true — which is exactly the point.
Then start the next language. The work you already did is reused: the plugin keeps every sentence it has ever translated, so a second language never re-translates a phrase you have already approved somewhere else.
The trap that catches everyone, six months later
Here is the failure we see most often on real sites, and it has nothing to do with launching.
You finish the translation. Months later you edit a page — a new paragraph on the pricing page, a changed opening line. The English is perfect. And in every other language that new paragraph silently stays in English, because TranslateRocket detects text while a logged-in administrator looks at a page, and nobody ever looked at that page again.
It is the quietest kind of bug: no error, no warning, nothing in your list of strings to translate. Just a paragraph, in the wrong language, on a page that gets read every day.

So the plugin now keeps a list of the pages you have edited since it last read them and says it out loud in the dashboard, with the pages named and the scan one click away. Run it, translate the handful of new sentences, done. If you take one habit away from this article, take this one: after editing a page, scan and re-translate it.
Questions people ask before launching a multilingual WordPress site
Will Google penalise me for an unfinished language?
Not if nobody can reach it. While a language is offline it is not in your sitemap, not in your hreflang tags and not linked from anywhere, and its URLs redirect to your default language. There is nothing for Google to index, so there is nothing to be penalised for.
Can I work on two languages at once?
Yes — the switch is per language. You can have three live, two offline and one you have not started, all on the same site.
What if I publish a language too early by mistake?
Flip the switch back to grey. It disappears from the switcher, the sitemap and the hreflang tags immediately. If Google had already crawled it, it will drop those URLs on its next visit.
Do I have to translate everything before publishing a language?
No, but decide deliberately. A reasonable rule: everything a visitor can reach in two clicks from the homepage, plus checkout if you sell. Untranslated leftovers fall back to your source language rather than breaking — but each one is a small crack in the impression you are making.
Does this work with Elementor, WooCommerce and page builders?
Yes. The engine reads the finished page, so whatever renders in the browser is what gets translated — builders, themes, plugin interfaces and WooCommerce included.
Is any of this a paid feature?
No. TranslateRocket is free, all of it, with no paid tier and no cap on languages or strings.
Want a hand with your site? I can do it for you
I am Federico, the developer of TranslateRocket — and building and translating WordPress sites is what I do for a living. That is how this plugin stays free: it is not crippled to sell you an upgrade, it is the tool I use every day on the sites I am paid to build.
A new multilingual site from scratch, a design put right, an existing site taken from one language to ten, custom development, reviewed translations, or a migration off a plugin that charges you every month: tell me what you need and I will tell you honestly whether I am the right person for it. You get the person who wrote the engine, not a support queue.
And if you would rather do it all yourself, everything in this article is yours today — write to me anyway if you get stuck.
Sources
- Google Search Central — “Managing multi-regional and multilingual sites”, on partially translated pages. developers.google.com
- Google Search Central — “Tell Google about localized versions of your page” (hreflang). developers.google.com
- CSA Research — “Can’t Read, Won’t Buy”, survey of 8,709 consumers in 29 countries. csa-research.com
Related: translate WordPress free with Chrome · make a WordPress site multilingual, step by step · hreflang explained simply · everything TranslateRocket does
Leaving a paid plugin? Read the honest comparisons: WPML alternative · TranslatePress alternative · Weglot alternative · GTranslate alternative
Need an API key?
Step-by-step guides for OpenAI, Claude, Gemini, DeepL and Google Translate: what each one costs, which ones are free, and how to set a spending limit. API key guides →