Four-stage rollout for launching a multilingual Shopify store with Markets, Weglot, hreflang checks and theme QA
Multilingual Shopify launch: 4-stage rollout: Markets setup, translation layer, hreflang check, theme QA before traffic.

You can run a multilingual Shopify store without hurting SEO if you keep every language on subfolders of one domain, let Shopify Markets or a translation app output hreflang tags automatically, and then check your theme by hand. Most ranking losses we see come from theme layout bugs and untranslated URLs, not from the translation tool itself.

Adding a second language looks like a settings task. Flip a switch, pick French, done. Then three weeks later the French pages are not indexed, the German menu wraps onto two lines, and the checkout still says "Shipping" in English.

We have set up translated storefronts for our own app demo stores and for a handful of merchant clients over the last two years. The pattern repeats. Translation apps do their job well. The damage happens around them: in the theme, in hardcoded links, in images with English text baked in, and in hreflang tags that only exist on half the pages.

This guide covers the order we now follow on every launch. It is written for stores on Online Store 2.0 themes with one primary market and two to four extra languages.

  • How to pick between subfolders, subdomains, and separate stores
  • What a correct hreflang setup looks like in your page source
  • Where Weglot fits next to Shopify's free Translate & Adapt app
  • The theme checks that catch broken menus, buttons, and fonts

Should each language live in a subfolder, a subdomain, or its own store?

Short answer: subfolders, unless you have a legal or inventory reason to split.

Shopify Markets creates URLs like yourstore.com/fr and yourstore.com/de by default. Every language version shares the same domain, so links earned by your English pages help the French ones too. Google's own guidance on managing multi-regional sites lists subdirectories as the easiest structure to set up and maintain.

Subdomains (fr.yourstore.com) work. They just split signals a little and add DNS steps. Separate stores per country make sense only when you need different product catalogs, separate tax entities, or local warehouses with their own stock. You also pay for each plan, and you lose automatic hreflang between them.

Comparison table of Shopify subfolder, subdomain and separate store setups for multilingual SEO
Subfolder vs subdomain vs separate store: What we measured on a 3-language sandbox (EN, FR, DE).

On our three-language sandbox, the subfolder version had all 186 translated URLs discovered in Search Console within 11 days. The separate-store test took 26 days for the same count, mostly because we had to build cross-store hreflang by hand and got two locale codes wrong on the first try.

What does a correct hreflang setup actually look like?

Open any product page, view source, and search for "hreflang". You should see one link tag per language, plus one tag marked x-default.

Each page must point to every version of itself, including its own language. The French page lists English, German, and French. The English page lists the same three. Google calls these return tags, and its localized versions documentation is clear that if they are missing, the whole set gets ignored. Shopify's developer docs on multiple currencies and languages in themes explain how themes should output localized URLs so this works.

When you publish a language through Markets, Shopify adds these tags for you. Problems start when:

  • A language is translated but not published for any market, so tags point to pages that redirect
  • The theme has a hardcoded canonical tag left over from an old SEO app
  • Blog posts or pages were never translated, so the French URL serves English content
  • Someone set a noindex rule in robots.txt.liquid while testing and forgot about it
Five common hreflang errors found in Shopify multilingual store audits with fixes
Five hreflang errors we found in audits: Each one costs indexing in the target language.

We found the second issue on two of five client stores we audited this year. An uninstalled SEO app had left a snippet that printed a canonical pointing to the English URL on every page. Google saw French pages that declared themselves copies of English pages and dropped them. Our write-up on cleaning leftover app code from Shopify themes shows how to search for these snippets.

Is Shopify Translate & Adapt enough, or do you need Weglot?

For one or two languages and a small catalog, the free Translate & Adapt app often covers it. You get two auto-translated languages and manual editing for the rest.

Weglot earns its fee in three cases. Your catalog is large and you want machine translation across thousands of strings in one pass. You have content from third-party apps that Shopify's own tool does not pick up. Or you want a team workflow with translators, a glossary, and visual editing on the live page.

Pricing is word-based. Weglot's paid plans start around EUR 15 a month for a small word count, and larger catalogs land in the EUR 30 to 80 range. Check the current tiers before you commit, because they change.

Here is what we saw on a 140-product apparel store translated into French and German:

  • Translate & Adapt handled products, collections, and theme strings well
  • Review widget text and a size-chart app stayed in English
  • Weglot picked up both app widgets on first crawl
  • Machine output needed human edits on about 15% of product titles, mostly sizing terms

The lesson: start with the free option, list every string that stays English, then decide. If that list is long or includes checkout-critical text, a dedicated tool pays for itself in fewer abandoned carts.

Which theme problems show up only after you add a language?

This is where most launches break, and translation apps cannot fix it for you.

German and French strings run 20% to 40% longer than English. A header menu that fits five items at 1280px will wrap, overlap the logo, or push the cart icon off screen. Buttons with a fixed pixel width clip "In den Warenkorb legen". Product badges overflow their pill shape.

Shopify theme QA checklist after adding a second language including fonts, menus and buttons
Theme checks after adding a second language: The layout breaks that translation apps do not fix for you.

Fonts are the second trap. A display font licensed for Latin characters may not include accented capitals, and it almost never includes Cyrillic or Greek. The browser falls back to a system font for those letters only, so headings end up with mixed typefaces. We use Fontify to set a different font per language so each locale gets a typeface with full glyph coverage, without editing theme CSS.

Third: images. Hero banners with text baked into the JPG stay in English on every locale. Either move that text into theme text blocks, or upload a separate banner per market.

Our checklist for each new language:

  • Header at 1280px, 1024px, and 390px wide
  • Product page buttons, badges, and variant labels
  • Cart drawer and empty-cart message
  • Footer links and newsletter form
  • Any custom landing pages built in a page builder

If your landing pages come from EComposer or a similar builder, check that each section's text is translatable and not stored as an image or locked HTML. Most builders now expose text to Shopify's translation layer, but older pages built before that support may not.

How should you handle URLs, slugs, and redirects?

Translate your handles. A French product at /fr/products/linen-shirt works, but /fr/products/chemise-en-lin reads better in search results and can match local queries.

Shopify lets you translate URL handles inside Translate & Adapt, and Weglot can do it too. Do this before launch. Changing slugs after Google has indexed them means setting up redirects for every changed URL.

A few more rules we follow:

  • Never auto-redirect visitors by IP. Show a language suggestion banner instead, because Googlebot crawls mostly from US addresses and may never see your French pages
  • Keep the language selector in the header and footer, as plain links, not only inside a JavaScript dropdown
  • Submit one sitemap. Shopify's sitemap.xml already includes localized URLs when markets are published

For stores also selling across borders with different shipping and duties rules, our cross-border Shopify stack breakdown covers the operations side.

How do you check that Google is indexing each language?

Give it two to four weeks after launch, then look at three places.

In Search Console, filter the Pages report by URL prefix /fr/ and /de/. If indexed counts are far below your product count, open a sample URL with URL Inspection and look at "Google-selected canonical". If Google picked the English URL, you have a canonical or hreflang conflict.

Next, check the International Targeting signals by running a few pages through a hreflang testing tool. We spot-check 20 URLs per language.

Finally, look at search performance by country. French impressions from France should start climbing. If impressions come only from Canada or Belgium, your x-default or market settings may be routing users oddly.

Speed matters per locale too. Translation scripts add weight. On our sandbox, Weglot added about 40 KB of JavaScript and did not move mobile LCP in a measurable way, but stacking two translation apps once (old one left installed) added 0.4s. For more on keeping image and script weight down, see our Shopify SEO and image compression comparison.

What does a realistic launch timeline look like?

For a store with 100 to 300 products adding two languages, plan for about two weeks of part-time work.

Days 1 to 2: set up markets, pick subfolders, publish languages to a test market only. Days 3 to 6: run machine translation, then edit the top 20 pages by revenue by hand, plus checkout and shipping text. Days 7 to 9: theme checks at three widths, font settings per locale, replace text-in-image banners. Day 10: view source on 10 pages per language and confirm hreflang and canonical tags. Days 11 to 14: publish to real markets, submit the sitemap, and watch Search Console.

Do not skip the human edit pass. Machine translation gets grammar right and sizing terms wrong. "Fits true to size" came out as a literal phrase in German that no shopper would type into search.

Questions merchants ask us about this

Does Shopify add hreflang tags automatically?

Yes. When you publish a language to a market using subfolders or domains, Shopify outputs hreflang link tags including x-default. Problems happen when theme code, old apps, or unpublished languages interfere with them.

Will machine translation hurt my SEO?

Not by itself. Google's guidance targets low-value automated content, so edit your key product, collection, and policy pages by hand and treat machine output as a first draft.

Do I need a separate Shopify store for each country?

Usually not. One store with Markets and subfolders keeps domain strength shared. Split stores only for separate catalogs, legal entities, or local inventory systems.

How long until translated pages rank?

In our tests, most translated URLs were indexed in 10 to 25 days. Ranking for competitive terms takes longer and depends on local backlinks and content quality.

Nitroapps Editorial Team: building Shopify apps and testing ecommerce tools on live Online Store 2.0 sandboxes. Questions: hello@nitroapps.io. Last updated: 2026-10-26 (Asia/Saigon).