The Yandex.Translate widget seems like a simple solution: add a button, and the user translates the page. But it doesn't work with SEO — for the same reason as the Google Translate widget.
How the Yandex.Translate Widget Works
The widget is embedded into the site via a JS script. When the translation button is clicked, the page is translated in the user's browser.
The page URL does not change, or only the hash changes. The translated version does not have its own address — it only exists within the session of a specific browser.
Yandex, as a search engine, indexes websites through a crawler. The crawler makes an HTTP request to the URL and receives HTML. JS translation, which only activates on a user's click, is not seen by the crawler. The original page is what gets indexed.
How This Differs from a Multilingual Website
A multilingual website consists of several URLs with different content:
- mysite.ru — Russian version
- mysite.com/en/ — English version
- mysite.com/kz/ — Kazakh version
Each URL is indexed separately. The search engine knows that these pages exist and can show them to different audiences.
The translator widget does not create new URLs. For the search engine, the site remains monolingual.
Yandex Also Does Not See Client-Side Translations
It is important to clarify: not only Google ignores JS translations. Yandex.Bot works similarly — it indexes the HTML response from the server, not the result of JavaScript execution in the browser.
Yandex.Browser offers users to translate pages. This is a user function of the browser — it does not affect how Yandex, as a search engine, indexes content.
When a Widget Still Makes Sense
A translator widget is a tool for user convenience, not for SEO. If foreigners occasionally visit the site and need to understand the content — the widget can help.
But it is not a substitute for a multilingual website. Users from other countries will not find the site through search in their language — because there is no translated version in the index.
What to Use Instead
For a multilingual site with SEO results, separate URLs and server-side translation are needed. The proxy layer creates language versions with the necessary URLs (/en/, /kz/), translates content on the server, generates hreflang — all of this is seen by both Google and Yandex during indexing.
At the same time, Yandex has its own requirement for hreflang: in addition to the standard attribute in <head>, it recommends specifying the page language via the lang attribute of the <html> tag. Multify generates both.
