Multilingual SEO for translated content: why some translations never rank.
A translated page a search engine cannot fetch does not exist to it. Almost every multilingual SEO problem is that one fact in a different form, so this page is about addresses first and words second.
The rule everything else follows from
Each language needs its own URL that returns that language to anyone who fetches it, including a crawler running no JavaScript with no cookies. If your French content only appears after a click, a stored preference or a script, then you have one page in one language, and that's what gets indexed.
The four things to get right.
One address per language.
Subdirectories (example.com/fr/), subdomains (fr.example.com) and separate domains all work. Subdirectories are the least effort and inherit the authority you already have. What doesn't work is one address serving different languages to different people.
Say which pages are the same page.
An hreflang tag claims: this is the same content in another language. It has to be reciprocal. If the English page points at the French, the French must point back, and both should carry a self-reference plus an x-default for everyone else.
- A one-way hreflang is usually ignored entirely.
- Only claim it where the content really is translated. Translated chrome around the same English body isn't another language, and claiming it is asks Google to reconcile duplicates.
Do not undo it with a canonical.
Each language version should be canonical to itself. Pointing the French page at the English one tells Google the French page is a duplicate it needn't index, which is the opposite of what you were trying to do. It's a common way to spend months producing translations nobody can find.
List what you claim.
The sitemap and the hreflang cluster should agree. Advertising alternates the sitemap never lists, or listing URLs that redirect or 404, spends the crawler's time proving you do not know your own site.
Browser-side translation cannot rank.
Plugins and script-based translators swap the text in the visitor's browser at the same address, usually keeping the choice in local storage. There's no second URL, so there's nothing to index as another language. That is not a flaw better tags can fix. It is what the approach is.
-
01
It is still the right choice sometimes
If your traffic arrives from ads, email or word of mouth, the visitor is already on the page and being readable is the whole job.
-
02
Two ways to get real URLs
Either your build writes translated pages as files, or something serves them server-side: a proxy in front of your site, or the platform's own multilingual feature.
-
03
Ask the vendor directly
The test is simple and worth running before you pay: fetch a translated URL with JavaScript disabled and see whether the translated text is in the response.
What this means for BeMyWords
Fetched into your build, the translations are written into your own deploy, so each language is a real page at a real address that ranks like anything else you publish. Pasted as a tag, the one line for sites with no build, they are swapped in the browser at a single address: readable in every language, findable in one. That is a real limit, and the install guide says so too.
We ran these checks on our own site while writing this page and failed two of them. The sitemap listed language addresses whose content was identical English, and hreflang claimed them as translations. Both are fixed. They are easy mistakes to make, which is most of why this page exists.
Translations that live at real URLs.
Free to start, no card. If your site has a build, you get pages a search engine can read.
Start free