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

Choose a path

There are four ways in. They share the same translations and the same static bundles; they differ in how the page reaches the visitor.

PathBest forSeparate language URLs (/fr/)Translated pages indexable by search engines
WordPress pluginWordPress sitesYes, planned in the SEO module of the pluginYes, when language URLs and hreflang are on
Shopify appShopify storesYes, Shopify serves its own language URLsYes for content written through Shopify's translations API
Script snippetWix, Squarespace, Webflow, Framer, Ghost, HubSpot, BigCommerce, plain HTML, SPAsNo: one URL, text swapped in the browserLimited, see SEO and the script snippet
Framework SDKsNext.js (static export), Nuxt (generate), Astro, plain static HTMLYes, written at build time under /fr/Yes, with hreflang and canonical links
Edge deliveryWordPress, server-rendered shops, any site behind a CDN with edge codeYes, served at the edge under /fr/Yes, with hreflang and canonical links (not deployed yet)
APICI, headless sites, custom platformsYour build decidesYour build decides

How to decide#

  1. If your platform has a native route (WordPress, Shopify), use it. It is the only route that gives crawlers real translated pages.
  2. If organic search traffic in other languages matters and your platform offers native multilingual URLs (Wix Multilingual offers subfolder, subdomain or parameter URLs; Webflow Localization is verify, its help pages could not be fetched; for Squarespace the official route found is a Weglot integration, no native multilingual feature was found), prefer those and use the snippet only for what they do not cover.
  3. If visitors are already on your site and you want them to read it in their language, or you need something that works on any platform in minutes, use the snippet.
  4. If you generate pages at build time, use the API to push strings and pull translations, then publish.

Plain statement. Google recommends separate URLs for each language version rather than cookies or browser settings (managing multi-regional sites). A script that swaps text on one URL cannot provide that. Nothing in these docs claims otherwise.