Skip to content
SEOScanShopify SEOInternational SEO
Medium SeverityInternational SEO

Shopify Missing Hreflang Tags for International Markets

Search intent: fix · Updated February 2026

Direct Answer

Shopify stores using Shopify Markets to sell in multiple countries - with country-specific subfolders (/en-gb/, /fr-fr/) or separate domains - need hreflang tags to tell Google which version of each page to show to users in each country. Without hreflang, Google treats each country-specific URL as a separate page with duplicate content, may show the wrong language version to users in different countries, and cannot consolidate signals correctly across international URL variants. Shopify Markets automatically generates hreflang tags for stores using the built-in market URL structure, but custom domain setups and headless implementations often require manual configuration.

Quick Diagnostic Checklist

  • View Source on a product page and search for "hreflang" - are tags present?
  • If present, does the hreflang set include an x-default entry?
  • Is each page self-referential in its hreflang set (does it include a tag pointing to its own URL)?
  • Check Google Search Console → International targeting for hreflang errors

Not sure if your store has this issue?

Run a free scan to detect international seo problems instantly.

Free Scan

What This Issue Means

Hreflang is an HTML attribute (or HTTP header) that tells Google: "This page exists in multiple language/country variants - here are the URLs for each." Without it, a UK store with /en-gb/ and a French store with /fr-fr/ variants look like duplicate content pages competing with each other. Google may consolidate them, showing the wrong variant in the wrong country, or may penalise both as duplicate content. Hreflang is the primary mechanism for correct international SEO on multi-market Shopify stores.

What Causes It (Shopify-Specific)

1

Shopify Markets with custom domain configuration

When Shopify Markets uses separate domains (e.g. store.co.uk vs store.fr) rather than subfolders, automatic hreflang generation may not work correctly. Each domain needs to reference the others with full cross-domain hreflang annotations.

2

Headless or custom storefront implementations

Stores using Hydrogen, Next.js, or other headless front-ends must implement hreflang manually in the server-side rendering layer. Shopify does not inject hreflang into headless storefronts automatically.

3

Subfolders created manually without Markets

Older stores that created /en-gb/ or /de/ subfolders manually (before Shopify Markets) may have no hreflang at all, since the subfolder pages weren't created through the Markets system.

4

Missing x-default hreflang

Even stores with some hreflang implementation often miss the x-default tag, which tells Google which page to show when no country-specific match exists. Missing x-default causes unpredictable results for users in countries not explicitly targeted.

How to Detect It Manually

  1. 1View Source on a product page → search for "hreflang" - check whether tags are present
  2. 2If present, verify they list all market-specific URLs including the x-default entry
  3. 3Each page's hreflang set must be self-referential (the page must include a hreflang for itself)
  4. 4Use Google Search Console → International targeting → Language to check for hreflang errors
  5. 5Paste a URL into hreflang validation tools (hreflang.org checker or ahrefs hreflang checker) to validate correctness

How to Fix It (Step-by-Step)

1

Verify Shopify Markets is generating hreflang automatically

For stores using Shopify Markets with subfolder URLs, Shopify generates hreflang automatically. View Source on a product page and search for "hreflang" - if present, check all market variants are listed. If not present, your theme may be overriding the default <head> output.

2

Add manual hreflang for custom domain setups

For custom domain markets, add hreflang to layout/theme.liquid in the <head> section.

liquid
{%- comment -%}
  TEMPLATE - requires adaptation per market.
  Each alternate href must point to that market's actual URL.
  For subfolder markets (/en-gb/, /fr-fr/), construct the market-specific path.
  For custom domain markets, hardcode the domain per market.
  The href values below are placeholders - replace with your real market URLs.
{%- endcomment -%}
{%- if localization.available_countries.size > 1 -%}
  {%- for market in localization.available_countries -%}
    {%- for language in market.available_languages -%}
      {%- assign market_root = request.origin | append: '/' | append: language.iso_code | downcase | append: '-' | append: market.iso_code | downcase -%}
      <link
        rel="alternate"
        hreflang="{{ language.iso_code }}-{{ market.iso_code | downcase }}"
        href="{{ market_root }}{{ request.path }}"
      >
    {%- endfor -%}
  {%- endfor -%}
  <link rel="alternate" hreflang="x-default" href="{{ request.origin }}{{ request.path }}">
{%- endif -%}
3

Ensure all hreflang tags are self-referential

Every page in the hreflang set must include a tag pointing to itself. If page A references pages B and C but not itself, Google may ignore the entire hreflang set.

4

Validate with Google Search Console

After implementation, check Google Search Console → International targeting for hreflang errors. Common errors: missing x-default, non-self-referential pages, or return tags missing from referenced pages.

How SEOScan Detects This Issue

SEOScan checks the <head> of scanned pages for hreflang link elements. When a store appears to serve multiple markets (detected from URL patterns, currency selectors, or language switchers in the page HTML), the absence of hreflang tags is flagged. The tool also validates hreflang sets for self-referentiality and checks for x-default presence.

Example Scan Result

Shopify Markets detected but no hreflang tags presentMedium

Description

Page: /en-gb/products/leather-wallet. Shopify Markets URL structure detected (/en-gb/ subfolder). Language/country selector found in page HTML. No hreflang link elements found in <head>. Google may display incorrect market variants to international searchers.

Impact

Google cannot determine which URL to show to UK vs US vs EU searchers. International traffic may be directed to the wrong market variant, showing incorrect pricing or unavailable products.

Recommended Fix

Verify Shopify Markets hreflang generation in layout/theme.liquid. For custom domain markets, add manual hreflang annotations to the theme <head> covering all active market variants.

Why It Matters for SEO

International Traffic Accuracy

Without hreflang, Google may show a US-priced page to UK searchers (or vice versa), leading to high bounce rates when users land on a page in the wrong currency or with unavailable shipping options. Hreflang ensures the correct market variant reaches the correct audience.

Duplicate Content Risk

Country-specific URLs with near-identical product content (same product, different currency) are treated as duplicate content without hreflang. Google may consolidate signals to one URL and reduce the ranking of others.

Missed Ranking Opportunities

Country-specific pages optimised with local pricing, local keywords, and local trust signals won't rank in those markets correctly without hreflang telling Google to serve them to users in that geography.

Real-World Validation Signals

  • Shopify Markets automatically generates hreflang for stores using the default subfolder URL structure (/en-gb/, /fr-fr/) - but this generation can be disrupted by theme customisations that override the default <head> output.
  • Google Search Console's International targeting section is the definitive source for hreflang errors - stores with missing x-default or non-self-referential tags see these flagged as errors within 2–4 weeks of the page being crawled.
  • For multi-domain Shopify setups (separate .co.uk, .de, .fr domains), hreflang must be implemented manually since Shopify cannot automatically inject it across separate domains.
  • Hreflang errors are consistently ranked among the top 5 technical SEO issues found on Shopify stores that have expanded internationally using Shopify Markets.

When this may not need fixing

If your store only sells in one country and one language, hreflang is not applicable and you don't need it. If you use Shopify Markets with the default subfolder structure and View Source confirms hreflang tags are present and correctly formed, no action is needed.

Frequently Asked Questions

Q: Does Shopify automatically handle hreflang for Shopify Markets?

Yes, for the default subfolder URL structure (/en-gb/, /fr-fr/). Shopify generates hreflang automatically through the theme's default <head> output. However, custom theme modifications, headless implementations, or separate domain setups can break this automation.


Q: What is the x-default hreflang tag?

x-default is a special hreflang value that tells Google which URL to show when no country-specific match exists - for example, to a user in a country you haven't created a market for. Use your primary international URL (typically your .com or default language) as x-default.


Q: How quickly does hreflang take effect in Google?

Hreflang takes effect after Google re-crawls and validates all pages in the hreflang set. This typically takes 2–6 weeks. You can speed it up by submitting sitemaps covering all market-specific URLs in Google Search Console.


Q: Do I need hreflang if I only sell in one language but multiple countries?

Yes, if the content differs by country (different pricing, availability, or any localised content). If the content is truly identical across countries, hreflang with x-default helps Google understand which URL to prioritise for each country.

Check Your Store for This Issue

SEOScan automatically detects shopify missing hreflang tags for international markets and 3 related issues - with specific fixes for your store.

Run Free Scan

Related Issues