Shopify Hreflang: International SEO Setup Guide

Shopify Hreflang: International SEO Setup Guide

⏱ 13 min read

International traffic is easy to attract and surprisingly easy to misroute. Shopify hreflang is meant to help search engines send users to the right regional URL, but it only works when your canonicals, market URLs, redirects, and language setup stop arguing with each other.

That matters more than ever. Shopify cites EMARKETER data showing ecommerce will account for 20.5% of worldwide retail sales in 2025 and 22.5% by 2028, which means more stores are competing for multilingual, multi-market visibility rather than one tidy home market. This guide shows how to set up the signals properly in Shopify, what usually breaks, and how to validate the result before Google starts freelancing.

What is hreflang, and what does Shopify Markets handle automatically?

Hreflang is an annotation in the page’s HTML, in the HTTP header or in the XML sitemap that tells search engines: this page also exists in other languages or for other regions, and here are the URLs. Google uses it to show the right version in search results, for example the Irish product page instead of the UK one. Worth knowing: Google says it does not use hreflang or the HTML lang attribute to detect a page’s language. It reads the visible content. Hreflang links versions together. It does not translate anything.

According to the Shopify Help Center (as of October 2026), Shopify Markets takes over a large part of the technical work:

  • Automatic hreflang tags: generated from your market and language settings and on by default, but only for markets with their own domain, subdomain or subfolder. If every market shares the same URLs, there are no alternate versions to point to.
  • x-default: an x-default tag points to your primary domain and applies when no other language or region annotation fits.
  • Canonicals: every market version gets a self-referencing canonical URL, and the hreflang tags connect the versions to each other.
  • Sitemap: the automatically generated sitemap includes the market-specific URLs with their hreflang annotations.
  • Redirects: automatic redirection by location applies to customers. Known search engine crawlers are excluded and get the URL they requested.

You can switch the automatic tags off under Online Store > Preferences, in the “Social sharing image and SEO” area, for example to avoid duplicates from an app. Shopify warns that this can harm SEO, and from then on your own solution has to cover hreflang for every market version. For most stores, the native output is the better starting point.

What You Need Before You Start with Shopify International SEO

The first decision is not technical. It is strategic. Decide whether you are targeting a language, a country, or a language-country pair such as English for Ireland or French for France. If you skip that step, hreflang tags become tidy code attached to a messy plan.

Choose the URL structure before touching tags. Google recommends different URLs for different language versions, and Shopify gives you three realistic paths for most stores: subfolders, subdomains, or separate country domains. If your setup already shows duplicate regional paths or odd market routing, a technical SEO Audit Services review is usually faster than guessing inside production.

  • Confirm every target market and supported language.
  • Decide which pages will exist per market: home, collections, products, blog, and policy pages.
  • Check whether each regional page has genuinely local content, pricing, shipping context, or payment differences.
  • Make sure someone on the team owns the final URL map. Shared responsibility is how international SEO turns into archaeology.

Decide whether you are targeting language, country, or both

Language-only targeting works when the content is effectively the same for all speakers of that language. Language-plus-country targeting makes sense when pricing, fulfilment, legal content, product availability, or merchandising differs by market. Europe is usually where stores learn this the expensive way.

Choose your URL structure before touching hreflang

For most European Shopify stores, subfolders are the sensible default. They are simpler to maintain, inherit authority from the main domain more easily, and fit Shopify Markets well. Separate domains can still make sense, but only when the business already operates distinct country sites with real market differences.

Step 1 — Audit What Shopify Is Already Generating

Do not start by adding code. Start by checking whether Shopify is already outputting the signals you need. Shopify Markets already generates hreflang, canonical and sitemap signals for markets with their own domain, subdomain or subfolder, which means your first job is usually to audit the native output rather than replace it.

Open a few market pages, view source, and look for canonical tags, alternate hreflang entries, and the x-default, which Shopify points to your primary domain. Then inspect the XML sitemap and confirm that published languages are included. A clean shopify hreflang setup starts with knowing what the platform is already doing for you.

  • Check one homepage, one collection page, and one product page per market.
  • Confirm every alternate URL returns a live 200 status.
  • Look for duplicate alternate entries from apps or theme snippets.
  • Check whether canonical tags point to the local version or collapse everything back to one root URL.

Check whether Shopify Markets is already outputting hreflang

If you use international domains or subfolders in Shopify Markets, Shopify generates hreflang and sitemap signals automatically and updates them when you change market domains or languages. That is useful. It is also why manual fixes added too early often create conflicts rather than clarity.

Find duplicate signals from apps, theme edits, or manual Liquid

The usual suspects are old translation apps, SEO apps, or custom Liquid snippets added years ago and then forgotten. If the store has gone through multiple agencies, one careful code pass from a Shopify Freelancer can save a lot of second-guessing. If a translation app such as Langify or Weglot manages your language URLs, check which system actually writes the hreflang tags: Shopify, the app, or both. Where the problem sits deeper, for example in a heavily customised theme with its own head logic, clean Shopify theme development lasts longer than another snippet on top.

Shopify Hreflang: International SEO Setup Guide

Step 2 — Configure Shopify Markets for the Right URL Structure

This is where Shopify Markets SEO becomes practical. You are not choosing a format because it looks neat in a deck. You are choosing the structure Google will crawl, index, and interpret across every regional version of your store.

Structure Best fit Main strength Main risk
Subfolders Most European Shopify stores Easier maintenance and stronger domain consolidation Needs clean market mapping and redirects if markets change
Subdomains Operationally separate regional teams Cleaner separation between sites Usually slower authority build and more moving parts
Country domains Fully distinct country businesses Strong local market signal Highest upkeep and easiest way to split SEO equity

Shopify Help Center explicitly recommends considering subfolders when you are setting up international sales tools for the first time, and for good reason. They are straightforward, flexible, and far less likely to create a fragmented mess than a portfolio of barely differentiated country domains. Shopify’s Markets SEO documentation describes the trade-off the same way: subfolders share the authority of the main domain, some search engines treat subdomains as separate sites, and country domains such as yourstore.ie send the strongest local signal for a single country.

When subfolders are enough for Europe

If the store shares one catalogue, one main brand entity, and one central SEO strategy, subfolders usually do the job. A structure such as /en-eu/, /fr-fr/, and /de-de/ is easier to audit than three domains, six translation apps, and a weekly ritual of hoping.

When domains or subdomains make more sense

Move beyond subfolders only when the business reality justifies it: separate merchandising, country-specific legal constraints, or heavily localised content and operations. Technical complexity is not a growth strategy by itself. It is just more places to hide mistakes.

Why URL parameters are not your SEO architecture

Shopify allows deep links such as ?country=DE for campaigns when many countries sit inside one market. That is useful for routing users to the right experience. It is not your core search architecture. Use stable market URLs for SEO and treat parameters as campaign helpers, not as the foundation.

Step 3 — Map Language and Country Variants Page by Page

Now build the page map. Each localised page needs a clear equivalent in every relevant market. Do not map only the homepage and call it done. Product, collection, and editorial pages need the same logic, or Google ends up with mixed signals and users land on the wrong version.

  1. List the canonical local URL for each page type.
  2. Match every alternate market version to that page, not just to the market home.
  3. Set x-default deliberately: Shopify points it to your primary domain automatically. If you run a dedicated selector or fallback page, decide whether that would be the better target.
  4. Where you have several versions of the same language, provide a broader catch-all language page if users outside those locales still need a sensible destination.

This is the section most competitors mention but rarely explain properly. A multilingual Shopify setup fails less often because of missing code and more often because the URL map never got finished in the first place.

Language-only vs language-plus-country targeting

Use language-only when regional differences are trivial. Use language-plus-country when the page meaning changes commercially. A UK page and an Ireland page written in English can still deserve separate treatment if returns, VAT, delivery promises, currency, or product ranges differ.

Add x-default and a catch-all language page where needed

If you target several English-speaking locales, Google recommends also providing a generic English page for users outside your specific country set. That is a small detail with a big practical upside: fewer mismatched landings and cleaner intent for both users and search engines.

What a correct hreflang tag looks like

Each hreflang attribute sits on a <link rel="alternate"> element in the <head>. For a product page whose UK version lives on the primary domain (and is therefore also the x-default), with an Irish and a German version alongside it, the set looks like this:

<link rel="alternate" hreflang="en-GB" href="https://yourstore.com/products/backpack" />
<link rel="alternate" hreflang="en-IE" href="https://yourstore.com/en-ie/products/backpack" />
<link rel="alternate" hreflang="de" href="https://yourstore.com/de/products/backpack" />
<link rel="alternate" hreflang="x-default" href="https://yourstore.com/products/backpack" />

The rules behind it come from Google’s documentation on localised versions (as of October 2026):

  • Language code in ISO 639-1 (en, de, fr), optionally followed by a region code in ISO 3166-1 Alpha-2 (GB, IE, DE). A region code on its own is invalid.
  • The United Kingdom is GB, not UK. Values such as UK or EU have no effect in Google Search.
  • Fully qualified URLs including https://, never relative paths.
  • Every version lists itself and all the others, so the set is identical on every version.
  • Return links are mandatory: if page A points to page B but B does not point back to A, Google ignores the annotations.

With Shopify’s automatic output switched on, you do not write this code by hand. You should still be able to read it, because these are exactly the points where manual snippets and apps break.

Not sure where the international SEO conflict actually sits? Skalum can help.

🔍

SEO Audit

Find canonical, hreflang, indexation, and market-routing issues before they cost more visibility.

Learn more →
📈

Shopify SEO Agency

Turn a technically correct setup into market-specific organic growth across Europe.

Learn more →
👤

Shopify Expert

Get hands-on Shopify help when Liquid, apps, or theme logic are creating signal conflicts.

Learn more →

Step 4 — Implement Shopify hreflang tags without breaking canonicals

Hreflang and canonical tags do different jobs. Hreflang says which version suits which user. Canonical says which URL is the primary version of that specific page. Confuse the two and Google starts making executive decisions on your behalf.

⚠️ Warning

Do not point every market page back to one global canonical unless that page really is the primary version. A French page for France should usually canonicalise to itself, not to the English root just because someone set that rule once and never came back.

Google treats HTML tags, HTTP headers, and XML sitemaps as equivalent ways to indicate alternates. There is no search benefit in running all three at once if one well-maintained implementation already does the job. For most Shopify stores, one controlled system is easier to maintain than three heroic ones.

Why each regional URL needs a self-referencing canonical

If a regional page is a valid page that you want indexed, let it canonicalise to itself. That keeps market intent clear and prevents the classic Shopify international SEO mistake of consolidating the very pages you wanted to rank. How Shopify outputs canonicals in general, and where themes bend them, is covered in our guide on how to set up a Shopify canonical URL.

Do not confuse this with self-referencing hreflang. The canonical points a page to itself; the hreflang set must also list the page itself alongside its alternates. When an SEO tool reports “no self-referencing hreflang”, one version is missing from its own set, a common symptom of hand-written snippets.

How Shopify hreflang should work with canonicals, not fight them

A strong rule of thumb is simple: each local page keeps its own canonical, points to its alternates, and receives reciprocal alternate references back. That is the cleanest setup for hreflang for ecommerce because it aligns discovery, indexation, and market targeting rather than forcing them into separate arguments.

URL Canonical Hreflang set Verdict
/en-ie/products/backpack /en-ie/products/backpack en-GB, en-IE, de, x-default Correct: self-reference plus a complete, reciprocal set
/en-ie/products/backpack /products/backpack en-GB, en-IE, de, x-default Conflict: hreflang says “separate version”, the canonical says “duplicate”. The Irish page usually does not get indexed
/en-ie/products/backpack?variant=123 /en-ie/products/backpack none needed Correct: the parameter variant consolidates to the local product URL

The rule of thumb: hreflang only connects URLs that are canonical themselves. If an alternate points to a URL that canonicalises somewhere else, the set contradicts itself. If the same product also appears under collection paths or filters, our article on Shopify duplicate content shows how to clean that up.

HTML tags vs XML sitemap: pick one system you can maintain

Pick the implementation you can actually keep accurate. If native Shopify output is correct, leave it alone. If it is not, fix the source of truth rather than layering extra code over the top. This is also where many stores quietly accumulate technical debt that later needs broader help from a Shopify SEO Agency.

If you do maintain hreflang in a sitemap, for example on a custom storefront, each <url> entry lists every version, including itself, as an xhtml:link element:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://yourstore.com/products/backpack</loc>
    <xhtml:link rel="alternate" hreflang="en-GB" href="https://yourstore.com/products/backpack" />
    <xhtml:link rel="alternate" hreflang="en-IE" href="https://yourstore.com/en-ie/products/backpack" />
    <xhtml:link rel="alternate" hreflang="de" href="https://yourstore.com/de/products/backpack" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://yourstore.com/products/backpack" />
  </url>
</urlset>

On a standard Shopify store you do not write this file yourself, because the native sitemap already carries the annotations for market URLs. Checking it is still part of every audit.

Step 5 — Make Sure Google Can Actually Crawl Every Market Version

Good tags do not matter if Google cannot reliably reach the pages. This is where browser language logic, cookies, and automatic geo-redirects become dangerous. Google recommends separate URLs and warns against automatically redirecting users from one language version to another because those redirects can stop both users and search engines from seeing all variants.

  • Let crawlers access every local URL directly.
  • Use visible market and language selectors, not hidden assumptions.
  • Keep redirects predictable and avoid redirect chains between market versions.
  • Use deep links for campaigns, but keep the destination URLs crawlable without a browser preference or cookie.

Why browser language, cookies, and IP logic are not enough

Google determines language from visible page content, not from wishful thinking in your code. If the page content is still mostly one language, or if the correct market only appears after a redirect or cookie choice, search engines may never interpret it the way you intended.

How geo-redirects can block indexing

This gets especially awkward inside Europe, where consent, region selectors, and browser assumptions can turn one clean URL structure into a maze. Better to recommend a market than force it. Users hate being trapped, and crawlers are not big fans either. Shopify excludes known search engine crawlers from its own automatic redirection. Geo-location apps and custom scripts do not necessarily do the same, so any extra redirect logic deserves a test.

Step 6 — Validate the Setup and Watch the Right Signals

Validation in 2026 should be boring, repeatable, and evidence-based. Check source code, sitemap entries, response codes, canonical destinations, and reciprocal alternates. Then verify the indexed result in Search Console instead of trusting that one successful template proves the whole store is fine.

A useful validation checklist looks like this:

  • Every alternate URL returns 200 and is indexable.
  • No alternate points to a redirected or noindexed page.
  • Canonical tags stay local where the page should rank locally.
  • Alternate references are reciprocal.
  • Published market URLs appear in the sitemap.
  • One product template and one collection template are not enough; spot-check real pages across markets.

Case studies back up the effort. Shopify Growth Services credits a complex international hreflang fix as part of Mac Duggal’s 115% increase in organic search traffic, and Eastside Co reports technical SEO fixes leading to a 21% uplift in clicks and a 25% increase in impressions. That is why validation is not admin theatre. It is where the money usually shows up.

How to check hreflang: tools and process

An hreflang check does not need special software, but it does need a fixed order:

  1. Page source: view the source of individual pages and search for hreflang. Are the codes, full URLs, self-reference and x-default right?
  2. Crawler across the store: desktop crawlers such as Screaming Frog SEO Spider report hreflang issues, including missing return links, alternates pointing to redirects or noindex pages, and conflicting canonicals. In Screaming Frog, hreflang crawling has to be enabled in the spider configuration first. Crawl every market version, not only the main domain.
  3. Sitemap: does sitemap.xml contain the market URLs with their alternates?
  4. Search Console: URL Inspection shows whether a local URL is indexed and which canonical Google selected. If Google picks the UK page as canonical for the Irish one, there is usually a canonical or content problem.

Google’s documentation lists third-party hreflang generators and testing tools but notes that it does not maintain or check them. An online hreflang checker or browser extension is a quick first look. Treat it as a hint, not a verdict.

One special case: when an SEO tool reports that your site has no hreflang tags, that is not automatically an error on Shopify. Shopify only generates hreflang when markets have their own domains, subdomains or subfolders, so a single-language store with one URL structure simply has no alternates. It becomes a problem only when localised market versions exist and still output no tags, for example because the automatic output was switched off.

Common Mistakes in Shopify Markets Hreflang

Most failures are predictable. They are not mysterious Google whims. They are implementation shortcuts dressed up as strategy.

  • Translating navigation only: If product copy stays in one language, Google still sees the page through the visible content that dominates it.
  • Canonicalising all markets to one root URL: That tells search engines to ignore the local page you just spent time creating.
  • Mixing native Shopify output with apps and custom snippets: Duplicate annotations are common and rarely helpful.
  • Forcing automatic market redirects: Great way to hide alternate URLs from users, crawlers, or both.
  • Invalid codes: en-UK, en-EU or a region code on its own. Google ignores them, and the United Kingdom is GB.
  • Creating country pages with no local difference: If the page does not change in any meaningful way, market segmentation may be unnecessary.
💡 Pro tip

In a Skalum project for SillySanta, fixing multilingual market signals and consolidating domains with hreflang supported growth in season organic traffic from 522,652 to over 918,000 visits and about 66% more organic season sales (see the case study). International SEO is rarely one silver bullet, but clean technical signals make every other improvement work harder.

Shopify Hreflang: International SEO Setup Guide

What a Good Shopify International Setup Looks Like After Launch

A working setup sends users to the right market page, gets those pages indexed cleanly, and supports conversion once the click lands. That last bit matters. DHL’s 2025 ecommerce study found that 81% of shoppers abandon carts when preferred delivery options are missing, and Shopify cites Baymard data showing up to 14% leave when pricing is unclear at checkout. So the job is not only to rank the local page. It is to make the local page feel genuinely local.

Watch SEO signals by market first: indexed local URLs, impressions, clicks, and market-specific landing pages. Then watch conversion signals: bounce rate, product page engagement, add-to-cart rate, checkout completion, and revenue by market. If the technical setup is right but performance still stalls, the next issue is often content quality, local UX, or search demand fit rather than tags alone.

That is also where broader search visibility matters. A correct multilingual structure gives your content a much better chance of being understood and cited across classic search and AI-assisted discovery, which is why international architecture and AI SEO Services increasingly belong in the same conversation. If you want a precise view of what is holding your markets back, a focused SEO Audit Services review is the fastest next step.

What to look for in international SEO support

Hreflang is rarely the only issue. Anyone cleaning up a multilingual setup, with wrong country targeting, duplicate content and hreflang errors in Search Console, has to think several decisions through together. These questions help you compare agencies or freelancers:

  • ccTLD vs subfolder: does the partner justify the URL structure with your operating model, or recommend one answer for everyone?
  • Hreflang and canonicals: is native Shopify output audited first, before apps or custom code are added?
  • Geo-targeting and redirects: is there a plan for market selectors, redirects and consent banners that does not lock crawlers out?
  • Templates: are product, collection and blog templates tested per market, not just the homepage?
  • Domain changes: if country domains are consolidated, is there a complete 301 map and monitoring afterwards?
  • Localisation: are content, prices and shipping information localised, or only the navigation?

The technical foundations behind this, from crawling to indexing to load times, are covered in our guide to technical SEO for Shopify. If you want one team that handles both Shopify development and SEO, that is what we do as a Shopify agency.

Need help fixing international SEO without breaking the rest of the store?

🔍

SEO Audit

Get a clear diagnosis of hreflang, canonical, crawlability, and market-routing issues on Shopify.

Learn more →
📈

Shopify SEO Agency

Turn the technical cleanup into stronger rankings, better market pages, and measurable growth.

Learn more →
🤖

AI SEO Services

Build international content that is easier to understand, surface, and cite across newer search journeys.

Learn more →

External sources referenced in this guide: Google documentation on localised versions, Google guidance for multilingual and multi-regional sites, Shopify Help Center on international domains, Shopify international SEO guide, Shopify global ecommerce statistics, DHL E-Commerce Trends Report 2025, Shopify Growth Services customer stories, Eastside Co technical SEO case study, Shopify Help Center on Markets and SEO (as of October 2026), and Skalum case studies.

FAQ

Frequently Asked Questions

Yes. Shopify generates hreflang tags by default from your market and language settings, but only for markets that have their own domain, subdomain or subfolder. It also adds an x-default pointing to the primary domain and self-referencing canonicals. You should still check sitemap coverage, reciprocal alternates and any app or theme code that may add conflicting tags.

No. Separate country URLs make sense only when the market experience is genuinely different, such as language, pricing, fulfilment, legal content, or merchandising. If the page is effectively the same for every visitor, multiplying country paths adds maintenance and confusion without giving you a stronger SEO result.

Canonical tags tell search engines which URL is the primary version of a page. Hreflang tells them which alternate page is best for users in a specific language or region. They must support each other. If canonicals collapse all markets into one page, alternate signals become much weaker.

x-default defines the page for users whose language or region matches none of your other versions. Shopify Markets sets x-default to your primary domain automatically. If you run a dedicated selector or fallback page, check whether it would be the better target, and change it only deliberately.

Sometimes, but not always. One English page can work when pricing, shipping, returns, and product availability are effectively shared. Once those elements differ by market, separate regional pages become more useful for both users and search engines. The commercial experience should decide the structure, not habit.

Start with page source and confirm every alternate URL, language code, and canonical target. Then check the XML sitemap, response codes, and reciprocity across market versions. Finally, review indexed results in Search Console and crawl a sample of product and collection pages with a technical crawler.

Yes. Forced redirects can stop users and crawlers from reaching alternate URLs cleanly, especially when market selection depends on browser language, IP logic, or cookies. It is safer to recommend the right version and let users choose, while keeping every local URL directly accessible and indexable.

Either can work. Google treats HTML tags, HTTP headers and XML sitemaps as equivalent methods, so the best option is the one you can keep accurate. Shopify already outputs hreflang in the page code and in the sitemap. Running additional overlapping systems rarely adds value and often creates maintenance debt.

Hreflang is an annotation in the HTML, the HTTP header or the XML sitemap that tells search engines which language or regional versions of a page exist. Google uses it to show users the most suitable version in search results. Google detects the language of a page from its visible content, not from the hreflang value.

The language code follows ISO 639-1 (for example en, de, fr), optionally followed by a region code in ISO 3166-1 Alpha-2 (for example GB, IE, DE). A region code on its own is invalid. The United Kingdom is GB, not UK, and values such as UK or EU have no effect in Google Search.

Yes, under Online Store > Preferences in the “Social sharing image and SEO” area. Shopify warns that this can harm SEO. It only makes sense if, for example, an app already outputs complete and correct tags and you want to avoid duplicates, and that solution then has to cover every market version.

On Shopify, that is not automatically an error: hreflang is only generated for markets with their own domain, subdomain or subfolder. A store with one language and one URL structure has no alternates to annotate. It becomes a problem only when localised market versions exist and still output no tags.