The Yandex.Translate widget looks like a simple solution: add a button, the user translates the page. But this doesn't work for SEO - for the same reason as the Google Translate widget.
How the Yandex.Translate widget works
The widget is embedded into the website via a JS script. When the translate 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 in 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. A JS translation, which is activated only by a user's click, is not seen by the crawler. The original page gets into the index.
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 server's HTML response, 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, a widget can help.
But it's not a substitute for a multilingual website. Users from other countries won't find the site through search in their language — because there's no translated version in the index.
What to Use Instead
For a multilingual website with SEO results, separate URLs and server-side translation are needed. A proxy layer creates language versions with the necessary URLs (/en/, /kz/), translates content on the server, generates hreflang — all of which Google and Yandex see 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.