Overview
Expanding your Shopify store into international markets is one of the fastest paths to revenue growth, but getting the SEO right is notoriously tricky. Google's own John Mueller has said "hreflang is one of the most complex aspects of SEO (if not the most complex one)." This guide walks you through configuring Shopify Markets for international SEO success: choosing the right URL structure, understanding what Shopify auto-generates (and where it falls short), avoiding canonical and duplicate content pitfalls, handling geolocation redirects safely, and auditing everything in Google Search Console. If you are selling in two or more markets and want organic traffic in every region without fragmenting your domain authority, this is your playbook.
Contents
What Shopify Markets handles automatically
Before diving into configuration steps, it helps to know what Shopify does for you out of the box. Shopify Markets automatically generates hreflang tags for all your market-specific URLs; these are HTML annotations that tell search engines which language and country each page targets.
Here is the full list of what Shopify auto-generates when you configure Markets and publish languages:
Hreflang tags in the HTML head: Shopify Markets automatically adds hreflang tags for every language and region you configure, as long as your translated content is published and properly linked in your navigation.
Subfolder URL paths: For SEO purposes, each language version gets its own URL path. If your primary store is at example.com, the French version might be at example.com/fr/ and the German version at example.com/de/.
Hreflang relationships between versions: Shopify also handles hreflang relationships between all available versions of a given page, so Google knows they are intentional variations, not duplicates.
Market-specific sitemaps: Shopify also generates a separate sitemap for each market, which you can submit to Google Search Console.
Sitemaps with all published languages: Hreflang tags and meta tags are automatically created for every international domain or subfolder that you set up. Your sitemaps also include all published languages to help search engines detect the different languages on your store.
Canonical tags for each localized URL: The canonical Shopify creates for you will follow some standard formats. They are also automatically created for each of your Shopify Markets domains.
Browser language redirection: Browser language redirection (added in Jan 2024) helps route visitors to the right content.
Tip - Shopify automatically adds hreflang tags in these situations: you are using Shopify Markets with multiple languages, you have added languages through Shopify's built-in translation features, and your store is on the Basic plan or higher with a compatible theme. Check that your theme qualifies before assuming everything is handled.
International SEO is one of the most misunderstood aspects of Shopify Markets. Many store owners assume it's all handled for them, but in reality, there are important technical details you need to get right if you want your site to rank properly in different countries and languages.
Step 1 - Choose your URL structure
Your URL structure is the foundation of international SEO on Shopify. You have three options: subfolders, subdomains, or country-code top-level domains (ccTLDs). The choice you make here affects domain authority, crawl budget, and long-term maintenance.
If you are setting up international sales tools for the first time, then consider using subfolders, which are straightforward to set up and offer SEO benefits. This is the option Shopify steers you toward by default, and for good reason.
Subfolders (e.g., yourstore.com/fr/) are the recommended starting point for most merchants. They keep all your SEO authority combined under one domain, benefiting your international pages. This is why it's the default for Shopify Markets. Subfolders share link equity and domain authority with your primary website.
Subdomains (e.g., fr.yourstore.com) sit in the middle. Subdomains are a middle ground. They offer some targeting benefits but don't fully share your main domain's authority.
ccTLDs (e.g., yourstore.fr) send the strongest geo-targeting signal, but a ccTLD isn't necessary for most international Shopify Plus websites. They used to make a pretty big difference, but Shopify Plus subfolders work just fine.
Tip - For most merchants, subfolders offer the best balance of simplicity and SEO performance. But if you are planning deeply localized content and link-building in different regions, you may eventually outgrow this structure and need separate domains.
What if you need different structures per market?
You can use one or more methods to create your region-specific URLs. For example, you might use subfolders for most markets but a ccTLD for your largest international market. Just ensure hreflang tags correctly link all versions together, regardless of the URL structure used.
Step 2 - Configure hreflang tags correctly
Hreflang tags tell search engines which version of a page to show to which audience. They prevent your English-US product page from competing with your English-UK page in search results.
Shopify uses ISO 639-1 for language codes (e.g., en, fr, de) and ISO 3166-1 Alpha-2 for country codes (e.g., US, CA, DE). When Shopify generates hreflang tags automatically, it combines these codes based on your Markets configuration.
While Shopify handles the basics, you should verify that the auto-generated tags are correct. Some merchants have noticed that the automatic hreflang generation creates unusual ISO code combinations, mixing languages and countries (e.g., fr-DE for French in Germany). These combinations are technically valid (they signal French-speaking users in Germany) but may not match your intent.
Key rules for correct hreflang implementation:
Every version must include self-referencing hreflang: One of the most common mistakes found was that in 96 percent of cases, the page doesn't contain a self-referencing hreflang in its set of hreflang attributes.
All alternates must be reciprocal: Each set of alternates must be reciprocal (A links to B, B links to A).
All alternate URLs must return 200 OK: All alternate URLs must respond 200 OK, not 301/302 or 404.
Use correct language codes: The largest percentage of errors occur because the hreflang attribute is set to the wrong value. That can mean using the wrong country code, en-uk (incorrect) instead of en-gb (correct).
What if you need to override Shopify's auto-generated hreflang?
If you don't want your hreflang tags to be created automatically, then you can contact Shopify Support to have this feature deactivated. To avoid impacts on your SEO, you need to add your own hreflang tags to your theme.
If you do take this route, an hreflang tag is a link element that identifies a localized URL of a website. You should add a unique hreflang tag for each language or region URL that exists, and they should be included in the <head>, which is commonly found in theme.liquid.
Here is a Liquid example for manually inserting hreflang tags in your theme:
<!-- In theme.liquid, inside the <head> section -->
<link rel="alternate" hreflang="en-us" href="https://yourstore.com{{ request.path }}" />
<link rel="alternate" hreflang="fr" href="https://yourstore.com/fr{{ request.path }}" />
<link rel="alternate" hreflang="de" href="https://yourstore.com/de{{ request.path }}" />
<link rel="alternate" hreflang="x-default" href="https://yourstore.com{{ request.path }}" />
Side note - The x-default tag acts as a fallback for users whose language or region does not match any of your defined markets. x-default entries should be configured for non-matching traffic.
Step 3 - Align canonical tags with hreflang
Canonical tags and hreflang tags must work together, not against each other. A canonical tag tells search engines which URL is the "master" version, while hreflang tells them which version to show to a specific audience. If these conflict, Google may ignore your hreflang entirely.
Hreflang communicates alternatives; canonical defines preference. If they clash, Google may ignore hreflang for safety. Ensure that each localized URL includes hreflang tags for all versions in its <head> and that the canonical tag of that URL points strictly to itself.
Here is the good news: Shopify already takes care of canonical tags for most stores. If you are using a theme from the Shopify Theme Store, your pages almost certainly include the proper canonical tags out of the box. Shopify canonicalizes product pages to their clean /products/product-handle URL and strips variant and tracking parameters.
The rule is simple: every localized URL must have a self-referencing canonical. If your /fr/products/blue-shirt page has a canonical pointing to /products/blue-shirt (the English version), Google sees a conflict with the hreflang that says the French page is a valid alternate. Validate that hreflang points to real localized pages and does not conflict with your canonicals across subfolders or multiple domains.
Step 4 - Prevent duplicate content across markets
One of the biggest SEO concerns for international stores is duplicate content, especially when your product pages look nearly identical across different regions or languages. With Shopify Markets, when you create localized versions of your store, Shopify duplicates your content into different subfolders.
This becomes a problem when you create a market (say, en-US) with content identical to your primary store. This has led to duplicate content issues for the simple reason that there is no difference between both pages except the URL. So Google has set the canonical tag to the default URL. The result? Hundreds of URLs in Google Search Console flagged as "Duplicate, Google chose different canonical than user."
How to avoid this:
Only create market subfolders when you have meaningful content differentiation: The simple answer is no you should not if there is no difference between the two pages. Do not set up a /en-us/ subfolder if your primary store already targets US English.
Translate and localize, do not just duplicate: Duplicate content is a real risk if you do not properly localize product descriptions, titles, and metadata. Shopify provides the framework, but you need to manually add translations using the Translate & Adapt app or third-party tools. SEO fields like meta titles and descriptions must also be localized manually.
Localize beyond language: If parameters like currency, unit of size and weight, supplier information, local customer care information, and return policy are different, hreflang makes sense without causing duplicate content issues.
Tip - Some third-party translation apps do not support SEO fields (titles, meta descriptions) unless configured properly. Search engines prefer fully localized content that matches the intent and tone of native speakers. Treat your translations as marketing assets, not checkboxes.
Step 5 - Handle geolocation redirects without blocking Googlebot
Geolocation-based redirects are one of the most common ways merchants accidentally destroy their international SEO. According to John Mueller (Google Search Advocate): "I'd avoid redirects by IP location in most cases; it's easy to break indexing and frustrate users." "Googlebot crawls mostly from the US. If you redirect US-based users to a different site (US-version), we won't be able to index the rest."
As of February 1, 2025, you can no longer install Shopify's Geolocation app. On March 24, 2025, the app was shut down and uninstalled from stores. Several features have been introduced that reduce the need for the Geolocation app, including automatic domain redirection and automatic browser language redirection.
Shopify's built-in redirection system is designed to exclude search engine crawlers, which prevents SEO issues. Still, it is a good idea to provide manual selectors and avoid hard redirects when possible.
Best practices for redirects:
Use soft redirection prompts (like a banner saying "You are browsing from Canada, switch to the Canadian store?") rather than hard redirects. And always keep manual selectors visible. This gives users choice, helps search engines crawl your site correctly, and avoids accidental SEO harm.
Never implement 302 redirects based on IP detection without a crawlable fallback. A typical error is implementing an automatic 302 redirect based on IP without offering a crawlable alternative route.
Allow users to select the currency that they wish to use with a drop-down or link, and use unique URLs (e.g., au.example.com or example.com/au) that Google can access for each currency you support.
Step 6 - Audit your setup in Google Search Console
Once everything is configured, you need to verify it works. Setting up separate Search Console properties for each market (or at least for your top markets) lets you monitor international search performance, identify indexing issues, and optimize for local keywords.
Follow this audit workflow:
Submit sitemaps for every market: After you set up your region-specific URLs, consider submitting a sitemap for every domain and subdomain in Google Search Console. This speeds up the process of Google indexing the new layout of your store.
Check for hreflang errors in GSC: Access the international targeting or indexing report in Search Console and export the error list. Filter by common types: "hreflang not found" (missing reciprocal tag), "Alternate URL with 404 response," and "Inconsistent tags."
Use a crawler for scale: Auditing thousands of pages requires automated batch checks, not manual ones. Run a crawler (like Screaming Frog or Sitebulb) that traverses product and collection paths, and parses the <head> for rel="alternate" links.
Verify canonical consistency: Check that Google's selected canonical matches your declared canonical using the URL Inspection tool. First, confirm the problem in Search Console by checking the user-declared and Google-selected canonical.
Cross-reference sitemap vs. crawl data: Download the sitemap index and extract child sitemaps by language. Generate two lists (Sitemap vs. Actual Crawl) and calculate the difference. Mark URLs appearing only in the sitemap and those containing rel="alternate" on the page but not in the XML.
Side note - Google will continue to support and use hreflang tags on your pages. However, the ability to target search results to specific countries using Search Console country targeting is no longer supported. Hreflang is now your primary mechanism for geo-targeting signals.
FAQ
Does Shopify Markets hurt SEO?
No. Shopify Markets supports SEO best practices like hreflang, canonical tags, and subfolder URL structures. As long as you localize your content and configure your translations properly, it will not harm your rankings.
Does Shopify auto-translate content for international markets?
No. Shopify provides the framework, but you need to manually add translations using the Translate & Adapt app or third-party tools. SEO fields like meta titles and descriptions must also be localized manually.
Can I edit Shopify's auto-generated sitemap?
Shopify doesn't currently allow editing of sitemaps. If you are unable to edit the auto-generated sitemap, you can create a manual hreflang sitemap to use alongside the auto-generated sitemap.
When should I use separate Shopify stores instead of Markets?
For merchants with more advanced or market-specific SEO needs, Shopify Markets may not offer enough flexibility or control. You might need to consider separate stores if you want to build region-specific backlink profiles with distinct domains. Markets is ideal for centralized management; expansion stores suit brands that need fully independent content strategies per region.
How often should I audit my hreflang setup?
Review your hreflang setup regularly, especially when launching new content or expanding to new markets. Quarterly audits are ideal. Use Screaming Frog or Sitebulb alongside Google Search Console for a thorough check.