Multi-Language Ecommerce Website: Architecture and SEO Considerations
How to build a multi-language store: localized URLs, hreflang, translated metadata and product data, workflows, navigation, search, structured data and QA.
Quick answer
A multi-language ecommerce website needs one URL per language version, hreflang connecting the versions, self-referencing canonicals, and fully translated content including metadata, navigation, filters, product data, structured data text, checkout and emails. Manage translations with structured fields, glossaries and a review workflow; give each language its own search configuration; suggest a language without forcing redirects; and QA with native speakers and crawls of each version. Platforms such as Shopify handle much of the URL and hreflang work once languages are assigned to markets.
Languages vs Markets
A language version is not the same as a market. A market sets currency, prices and delivery; a language sets text. Some markets need several languages (Canada, Switzerland, Belgium); some languages serve several markets (English, Spanish). Decide both dimensions before designing URLs. For the full international architecture, see ecommerce internationalization.
The diagram above covers the four areas to get right: URLs, content, discovery and QA.
URL Structure for Languages
Google recommends using different URLs for each language version rather than cookies or browser settings, and compares country domains, subdomains and subdirectories as options; it doesn't recommend URL parameters (Google Search Central). For most stores, language subdirectories are the simplest to run. Keep the structure consistent so every page has an equivalent in each language.
| Structure | Example | Notes |
|---|---|---|
| Subdirectory | example.com/fr/ | Simple, shares domain authority |
| Subdomain | fr.example.com | Separate hosting possible |
| Country domain | example.fr | Strong country signal; country-specific, not language-specific |
| Parameter | example.com?lang=fr | Not recommended by Google |
Hreflang and Canonicals
Hreflang annotations tell search engines which URLs are language or regional alternates of each other. Each version lists itself and all alternates, the annotations must be reciprocal, language codes follow ISO 639-1 with optional ISO 3166-1 region codes (for example fr, fr-CA), and x-default can point to a language selector or default version. Annotations can be placed in HTML head, HTTP headers or sitemaps (Google Search Central). Each version should normally have a self-referencing canonical.
<link rel="canonical" href="https://example.com/products/linen-shirt" />
<link rel="alternate" hreflang="en" href="https://example.com/products/linen-shirt" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/products/chemise-en-lin" />
<link rel="alternate" hreflang="de" href="https://example.com/de/products/leinenhemd" />
<link rel="alternate" hreflang="x-default" href="https://example.com/products/linen-shirt" />What to Translate
| Content | Why it matters |
|---|---|
| Product titles, descriptions, attributes | Understanding and search |
| Collections, navigation, filters and values | Browsing in the shopper's language |
| Meta titles and descriptions | Search result appearance |
| Image alt text | Accessibility and image search |
| Structured data text fields | Consistent with visible content |
| Checkout, account, emails and notifications | Trust at the moment of purchase |
| Legal and policy pages | Rights and obligations, reviewed per market |
| Error and empty-state messages | Recovery when things go wrong |
Content Management and Workflow
Store translatable content in structured fields with per-language values, not duplicated pages. Use a translation management workflow: extract new or changed strings, translate (machine translation plus human review for important content, professional translation for checkout and legal), review in context, publish, and track status. Maintain glossaries for product terms and brand vocabulary. Decide fallbacks for missing translations and avoid publishing mostly untranslated pages under a translated URL, which gives users a poor experience and can confuse search engines about the page's language.
Launching your store in more languages?
ZSpace builds multi-language storefronts with clean URL structures, hreflang and translation workflows that scale.
Navigation and Language Switching
Provide a language selector that shows language names in their own language (Deutsch, Français), links to the equivalent page rather than the home page, and remembers the choice. Don't use flags for languages; flags represent countries. Suggest a language based on browser settings, but don't force redirects: Google advises against automatically redirecting users between language versions.
Search and Filters per Language
Site search must work in each language: language-specific analyzers for stemming and tokenization, synonyms per language, spelling tolerance and zero-result monitoring. Filters and attribute values should be translated from structured data, not free text, so filter logic stays consistent across languages. See ecommerce site search.
Structured Data in Each Language
Product and article structured data should match the visible content of each language version: translated names and descriptions, the correct URL for that version, and prices in the currency shown on that URL. Validate a sample of pages in each language. See product structured data.
Platform Notes: Shopify
Shopify stores can publish additional languages, assign domains and languages to markets using subfolders, subdomains or top-level domains, and translate content with the Translate & Adapt app (machine and manual translation, CSV import). Shopify's documentation states that hreflang tags are created automatically for configured international domains and subfolders, with self-referencing canonical URLs and sitemaps that include market URLs (Shopify Help Center). See Shopify Markets.
QA Checklist
- Native-speaker review of key templates, checkout and emails
- Layouts tested with longer translated strings
- Crawl of each language: hreflang reciprocity, canonicals, status codes
- No mixed-language pages from fallback gaps
- Language selector links to equivalent pages
- Search tested with common queries in each language
- Structured data matches visible language and currency
- Sitemaps include every language version
Worked Example: Adding French and German
An illustrative scenario: a UK homeware store adds French and German. It uses /fr/ and /de/ subdirectories, translates product titles and descriptions with machine translation plus review for the top 300 products and professional translation for checkout, emails and legal pages, translates filter values from structured attributes, adds per-language search synonyms, and uses automatic hreflang from its platform. A crawl before launch finds pages with untranslated descriptions under /de/; these are held back until translated. After launch, the team monitors indexing and search queries per language.
Common Mistakes
- One URL switching language by cookie
- Canonicals pointing translations to the default language
- Hreflang without return links
- Untranslated metadata, filters or checkout
- Flags used as language selectors
- Forced language redirects
- One search configuration for all languages
Ready to build a multi-language store?
Talk to ZSpace about multi-language development, Shopify languages and markets and localized UX.
Conclusion
A multi-language store needs clean URLs per language, correct hreflang and canonicals, complete translations across every surface, language-aware search and a disciplined workflow. Get those right and each language version can perform on its own. For the SEO strategy across countries, see international ecommerce SEO.
Common questions
Give each language version its own URL, for example with a language subdirectory (/fr/), a subdomain or a country domain. Google recommends separate URLs for each language version rather than switching language with cookies on one URL.