Home
Services

E-Commerce Engineering

  • Shopify Theme DevelopmentOptimized Shopify 2.0 theme
  • Shopify App DevelopmentPrivate app for your store
  • Headless Shopify SolutionsLightning-fast Next.js + Hydrogen stores
  • Platform Migration to ShopifyMove to Shopify smoothly
  • Shopify Speed OptimizationImprove Core Web Vitals

Custom Software Development

  • SaaS & Web Applications DevelopmentFull-stack apps with modern frameworks
  • API Development & System IntegrationConnect systems via APIs

Workflow & Data Operations

  • Workflow AutomationEliminate repetitive manual tasks
  • Data Analytics & DashboardsTurn data into dashboards
  • Technical SEO EngineeringSchema, audits, and programmatic SEO

Trusted by leading enterprises in France, UK & Canada.

View all services
BlogAbout
|
Contact

Ready to engineer the future?

Whether you need a full engineering squad or technical consultancy, let's discuss your roadmap.

Book a Technical SEORequest a Migration AuditHire Dedicated Developer

High-end Shopify engineering for brands that refuse to compromise on performance.

Copyright © 2026 Sentinu Solutions.
All rights reserved.

Services

  • Custom App Development
  • Headless Shopify
  • Shopify Migration
  • Shopify Performance Audits

Start Project

  • Shopify Ecommerce Engineering
  • Custom Software Development
  • Automation Workflow Services

Legal

  • Privacy Policy
  • Terms of Service
  • Legal Notice

Connect

  • facebook
  • instagram
  • linkedin
Home/Blog/Hreflang on Shopify: The International SEO Setup That Actually Works
Technical SEOShopify Development

Hreflang on Shopify: The International SEO Setup That Actually Works

A senior engineer's hreflang setup guide for Shopify in 2026. When to use Markets vs multi-store, how canonicals interact with hreflang, the validation playbook, and the migration trap nobody warns you about.

Feb 3, 202611 min read
Hreflang on Shopify: The International SEO Setup That Actually Works

Share this article

Contents

  • What hreflang actually does
  • The architectural choice: Shopify Markets vs multi-store
  • Shopify Markets with subfolders
  • Shopify Markets with subdomains or international domains
  • Multi-store (separate Shopify stores per market)
  • What Shopify gives you (Markets path)
  • The canonical tag trap
  • When you must implement hreflang manually
  • Validation: how to confirm Google sees it correctly
  • The migration trap nobody warns you about
  • What we typically configure on an international Shopify project
  • FAQ
  • Where to take this next

Share this article

Contents

Contents

  • What hreflang actually does
  • The architectural choice: Shopify Markets vs multi-store
  • Shopify Markets with subfolders
  • Shopify Markets with subdomains or international domains
  • Multi-store (separate Shopify stores per market)
  • What Shopify gives you (Markets path)
  • The canonical tag trap
  • When you must implement hreflang manually
  • Validation: how to confirm Google sees it correctly
  • The migration trap nobody warns you about
  • What we typically configure on an international Shopify project
  • FAQ
  • Where to take this next

Hreflang is the SEO tag everyone agrees is important and nobody implements correctly. Google's own John Mueller has called it one of the most complex parts of SEO. Roughly three quarters of websites that use hreflang have implementation errors. On Shopify, the failure modes are predictable and so are the fixes, but the documentation does not put them in one place.

This post is the international SEO setup we run for every Shopify store at Sentinu that sells across borders. It covers the architectural choice (Markets vs multi-store), the technical implementation (what Shopify gives you, what you still own), the canonical-tag trap that breaks the whole thing, and the validation playbook for confirming Google sees what you intended.

What hreflang actually does

Hreflang tells search engines that two URLs are the same content for different audiences. A fr-FR version of a product page and an en-GB version are not duplicates; they are localized variants. Without hreflang, Google may serve the wrong language to the wrong user, or worse, treat them as duplicate content and drop one from the index.

The most common business symptom of broken hreflang on a Shopify store: the brand ranks for brand name in the UK with the US .com page, even though there is a fully localized co.uk version that should be ranking. Or a French customer searching in French lands on the English page because Google never connected the two.

The architectural choice: Shopify Markets vs multi-store

This decision is the foundation. Get it wrong and no amount of hreflang configuration saves you.

Shopify Markets with subfolders

One Shopify store. One admin. Localized content lives at /en-gb/, /fr/, /de/ subfolders of your primary domain. Hreflang tags generated automatically by Shopify based on your published languages and markets.

Use this when: you sell substantially similar products across regions, your team is small, your localization is mostly translation plus currency and tax. Most D2C brands fall here.

Pros: SEO authority consolidates on one domain. Setup is hours, not weeks. Hreflang is generated automatically. New markets are a settings change.

Cons: You cannot have meaningfully different product catalogs per region without acrobatics. The theme is shared, so visual differentiation across markets is limited. Subfolders feel less "local" than country domains to some users.

Shopify Markets with subdomains or international domains

One Shopify store, but each market lives at fr.yourbrand.com or yourbrand.fr instead of yourbrand.com/fr. Same admin, different URL signatures.

Use this when: you need region-specific branding, you have an existing country domain with established authority, or local marketing teams insist on a country TLD.

Pros: Stronger local signal to Google and to users. Each domain can build its own backlink profile.

Cons: SEO authority does not consolidate as cleanly. Each domain needs its own Search Console property and its own monitoring. More moving parts.

Multi-store (separate Shopify stores per market)

A separate Shopify Plus store per region. Hreflang relationships exist only because you (or an app) wire them up across stores. Shopify does not natively link separate stores.

Use this when: you have genuinely different catalogs, different pricing models, different fulfillment, or different B2B vs D2C splits per region. Large enterprises with regional P&Ls.

Pros: Maximum operational flexibility. Each market is independent.

Cons: Hreflang becomes a continuous engineering project. Catalog sync, theme drift, and inventory consistency become real problems. The Digital Darts hreflang app exists precisely because Shopify offers no native solution for multi-store hreflang.

⚠️

The decision tree is not "which is best" but "which fits the operational shape of your business." We have moved clients from multi-store back to Markets because the catalog drift across stores was destroying their SEO. We have also moved clients from Markets to multi-store because their French and US catalogs had diverged so far that one URL structure could not represent both.

Markets keeps SEO authority in one place with automatic hreflang; multi-store trades flexibility for ongoing cross-store hreflang engineering.

What Shopify gives you (Markets path)

If you use Shopify Markets with subfolders, Shopify automatically generates hreflang tags for every published language and region. The tags appear in the <head> of every page and follow Google's reciprocal-link requirement.

A homepage on a store with English (US default), English (UK), and French (FR) markets renders something like:

<link rel="alternate" hreflang="en" href="https://yourbrand.com/" />
<link rel="alternate" hreflang="en-gb" href="https://yourbrand.com/en-gb" />
<link rel="alternate" hreflang="fr-fr" href="https://yourbrand.com/fr" />
<link rel="alternate" hreflang="x-default" href="https://yourbrand.com/" />

The x-default tag tells Google which version to serve when no language or region match exists. Shopify sets this to your primary market.

What Shopify automatically gets right: reciprocity (every variant lists every other variant), self-referencing canonicals on the localized URLs, and inclusion in the sitemap.

What Shopify gets right but you still need to validate: language and region codes use the correct ISO format (en-GB not en-UK, fr-FR not fr-FR-FR), translated content is actually published per market (an unpublished translation means the alternate URL 404s or redirects), and currency or tax settings actually align with the market region.

What Shopify does not do: link to localized variants of products that exist only in some markets. If a product is published in your US market but not your FR market, the FR URL for that product does not exist and the hreflang relationship is broken for that page. You have to either publish the product universally or accept that some PDPs will not have full hreflang coverage.

The canonical tag trap

This is the failure mode that hits more Shopify stores than any other, and it is invisible in casual checking. Hreflang requires that every variant has a self-referencing canonical pointing at its own URL. If the canonical points anywhere else, the hreflang signal is contradicted and Google may discard the relationship entirely.

The most common source of the conflict: third-party SEO apps. An app that "optimizes canonical URLs" without market-awareness will rewrite /fr/products/x canonicals to /products/x because it thinks the localized URL is a duplicate. Now you have hreflang saying "these are localized variants" and canonicals saying "no, only one is real." Google trusts the canonical.

How to check on any localized page:

// Run in browser DevTools console
document.querySelector('link[rel="canonical"]').href

The result should match the URL of the page you are on. If you are on https://yourbrand.com/fr/products/x and the canonical points at https://yourbrand.com/products/x, you have the conflict. Disable the offending app or override the canonical in your theme.

For multi-store setups where you manage canonicals yourself, the rule is the same: each localized URL must self-reference. Use {{ canonical_url }} in Liquid (which Shopify sets per-market) rather than hardcoding the primary domain.

When you must implement hreflang manually

Three scenarios force a manual implementation:

Multi-store across separate Shopify accounts. Shopify does not link them. You either install Digital Darts' Hreflang Tags app (cross-store sync via metafields), build your own solution that emits the alternates per page based on a mapping document, or accept the SEO penalty.

Translation handled by a third-party app outside Shopify's native Translate & Adapt. Some translation apps publish content via a different URL pattern or a subdomain Shopify does not know about. You add the hreflang tags manually in theme.liquid based on the app's URL structure.

Markets disabled or partially used. If you run the standard Shopify subscription without Markets, you do not get automatic hreflang. Implementation is manual in theme.liquid using a mapping you maintain in metafields or a settings JSON.

Manual implementation template for a theme.liquid <head>:

{% comment %} Hreflang implementation, manual {% endcomment %}
{%- for locale in shop.published_locales -%}
  <link rel="alternate"
        hreflang="{{ locale.iso_code }}"
        href="{{ canonical_url | replace: shop.locale.iso_code, locale.iso_code }}" />
{%- endfor -%}
<link rel="alternate" hreflang="x-default" href="{{ canonical_url }}" />

This is the simplified version. Production implementations need to handle the primary-locale URL (which does not carry a prefix), pages that do not exist in every locale, and the canonical relationship explicitly.

Validation: how to confirm Google sees it correctly

Hreflang is one of the SEO areas where "looks right in the source code" is not enough. The validation matters more than the implementation.

Screaming Frog hreflang report. Configure Screaming Frog with the JavaScript renderer enabled, run a full crawl, then export the Hreflang report. It flags missing reciprocal links, invalid language codes, missing self-references, and orphan alternates. This is the single best validation tool.

Google Search Console international targeting (legacy). Sometimes available, sometimes deprecated. When it is available, it shows you the alternates Google has indexed and any errors.

URL Inspection in Search Console. For any single page, this shows you the canonical Google selected and the alternates it associates. If you suspect a specific PDP has broken hreflang, this is the authoritative check.

The Google hreflang debugger that does not exist. Google has never published an official hreflang validator. The community tools (Sistrix, Merkle, Aleyda's tool) are useful for spot-checking but not for full-site coverage. Screaming Frog remains the standard.

What "passing" looks like:

  • Every published locale appears in the <head> of every page
  • Every page is reciprocally linked (if /fr/x says en is at /x, then /x must say fr is at /fr/x)
  • Every page has a self-referencing canonical that matches its URL
  • x-default is set and points at a sensible fallback
  • Language and region codes are valid ISO 639-1 plus ISO 3166-1 alpha-2
  • The sitemap lists every localized URL
  • Screaming Frog hreflang report shows zero errors after a full crawl

The migration trap nobody warns you about

When a Shopify store migrates from a legacy platform with international URLs, the hreflang relationships from the old site do not automatically transfer. We covered platform migration end-to-end in our Shopify migration SEO checklist, but the international SEO piece deserves separate attention.

The pattern of failure:

  1. Old site has example.com/uk/, example.fr, example.de with hreflang wired across all three
  2. New Shopify Markets store consolidates everything onto example.com with /en-gb/, /fr/, /de/
  3. Redirect map handles the URL changes
  4. Hreflang on the new store is generated by Shopify
  5. Google takes 8 to 12 weeks to redicover the new hreflang relationships
  6. During those weeks, the UK page may not rank for UK queries because Google has not yet associated example.com/en-gb/x with the UK audience

The mitigation: aggressive submission via Search Console URL Inspection in the first two weeks post-launch (top 50 pages), explicit hreflang in the sitemap (Shopify does this automatically but worth verifying), and a clear monitoring window for international keyword positions specifically.

What we typically configure on an international Shopify project

The Sentinu default stack for an international Shopify rollout:

LayerChoice
ArchitectureMarkets with subfolders unless brand or operations forces multi-store
TranslationShopify's Translate & Adapt for short content, Weglot or Langify for marketing-heavy stores
HreflangAuto-generated by Shopify Markets, manually verified, never overridden by SEO apps
CanonicalsSelf-referencing per market, never rewritten by third-party apps
SitemapNative Shopify sitemap with hreflang alternates included
Search ConsoleOne property per domain, plus property sets for cross-domain monitoring
ValidationScreaming Frog monthly hreflang report, GSC weekly coverage review

We will adjust the stack for specific clients (a luxury brand with regional design systems, for example, often needs multi-store) but the default is Markets-with-subfolders because it is the most reliable to ship correctly the first time.

FAQ

Do I need hreflang if I only sell in one country?

No. Hreflang is for sites with multiple language or region versions. If you sell only in one country and one language, your URL structure and canonicals do the SEO work hreflang would do.

Is x-default required?

Not strictly, but strongly recommended. It tells Google which version to serve when no language or region match exists for a user. Without it, Google guesses, and the guess is often wrong.

Should hreflang use language only (fr) or language plus region (fr-FR)?

Language only if you do not care about the user's country, only their language. Language plus region if you genuinely target a specific country (because you ship there, have local pricing, or run local marketing). For most multi-region Shopify stores, language plus region is correct.

Does hreflang help my rankings?

Indirectly. Hreflang does not boost rankings. It helps Google serve the right page to the right user, which improves engagement, which can lift rankings. The primary value is preventing duplicate-content penalties and ensuring the right URL appears in local search results.

How long does Google take to process hreflang changes?

Typically 4 to 8 weeks for full processing across a site. Individual URLs can be reprocessed faster via URL Inspection in Search Console. Site-wide changes during a migration can take a quarter.

Can I use hreflang in the sitemap instead of the HTML head?

Yes. Google accepts hreflang via XML sitemaps, HTTP headers, or HTML head. For Shopify Markets, both the sitemap and the HTML head are populated. For stores under 1,000 pages, the HTML head approach is easier to debug. For stores with 100,000+ pages, the sitemap approach reduces page weight.

What happens if my hreflang tags are wrong?

Google may ignore them, may serve the wrong language to users, or in severe cases may treat the variants as duplicate content. Wrong hreflang is rarely catastrophic on its own but it is the kind of slow leak that bleeds international traffic over months.

Where to take this next

If you are scoping an international Shopify rollout or your existing hreflang is misbehaving, that is the kind of work our technical SEO audit practice covers. We diagnose the architectural fit, validate the implementation, and put the monitoring in place that catches drift before it costs traffic. If hreflang is one piece of a larger Shopify project you are scoping, our migration SEO checklist post is the companion read for the end-to-end picture.

Related Topics

hreflangshopify-marketsinternational-seomultilingualtechnical-seo

Related posts

View all articles
Schema Markup for Shopify in 2026: The JSON-LD Properties AI Agents Actually Read
Technical SEOApr 14, 2026

Schema Markup for Shopify in 2026: The JSON-LD Properties AI Agents Actually Read

Traditional Product schema uses 8 to 12 properties. AI agents lean on 20 or more. Here is the property list, the validation rules, and the implementation pattern we use for Shopify stores in 2026.

12 min read
Is Your Shopify Store Discoverable Inside ChatGPT? A 10-Minute Audit for Agentic Storefronts
Technical SEOApr 7, 2026

Is Your Shopify Store Discoverable Inside ChatGPT? A 10-Minute Audit for Agentic Storefronts

On March 24, 2026, Shopify made 5.6 million stores discoverable to AI agents by default. Here is the 10-minute audit we run to tell whether your store is actually getting recommended, or just enrolled.

13 min read
The Shopify Migration SEO Checklist That Doesn't Lose You Traffic
Shopify DevelopmentJan 27, 2026

The Shopify Migration SEO Checklist That Doesn't Lose You Traffic

A senior engineer's playbook for migrating to Shopify without losing rankings. Redirect mapping logic, metadata preservation, hreflang continuity, and the 30-day post-launch monitoring that catches the issues nobody warns you about.

12 min read