ResilientLang docsDeveloper documentation (draft, product name is a placeholder)

SEO and the script snippet

The script snippet translates the page in the visitor's browser after it loads. It creates no new URLs and no new HTML on your server.

  1. One URL, many languages. Google recommends separate URLs per language version rather than cookies or browser settings (managing multi-regional sites). A script swapping text on /pricing gives search engines no /fr/pricing to index.
  2. Googlebot does not choose a language. The same page says Googlebot usually crawls from the USA without an Accept-Language header.
  3. JavaScript-rendered content is second-class. Google renders JavaScript with headless Chromium after a queue and sees only content visible in the rendered HTML (JavaScript SEO basics). Since the loader runs on a language choice or a URL signal, crawlers mostly see the source language anyway. Whether other search engines and link-preview bots run JavaScript is verify.
  4. Titles, descriptions, structured data, slugs and sitemaps cannot be translated for non-rendering crawlers with a script, and the URL never changes. Do not promise translated slugs or sitemaps with the snippet.
  5. hreflang needs separate URLs (localized versions).
  6. Do not auto-redirect by language. The loader never does; Google advises against it.

If you control your CDN or edge, edge delivery serves real translated HTML on /fr/ URLs without a build step (built and tested offline, not deployed anywhere); for sites you build yourself, build-time prerender does the same with no runtime.

When the snippet is the right tool#

Visitors who already arrived and want to read in their language; keeping a page readable when our servers are down; no server changes. If organic traffic in other languages matters, use a platform with real language URLs (WordPress with the SEO module, Shopify for markets with their own domain or subfolder, Wix Multilingual; Webflow Localization is verify; for Squarespace the official route found is a Weglot integration and no native feature was found) or separate pages, and use the snippet only where those do not exist.

Google's wording was fetched on 2026-10-28 for this page's source material; re-check every six months.