Skip to content
SEOScanShopify SEOInternational SEO
High SeverityInternational SEO

Shopify Markets Hreflang Errors and How to Fix Them

Search intent: fix · Updated February 2026

Direct Answer

Shopify Markets automatically generates hreflang tags for international storefronts, but has documented bugs: the x-default tag often points to the primary market domain rather than a genuinely language-neutral URL, reciprocal hreflang tags are sometimes missing (meaning page A references page B but page B does not reference page A), and locale variants using country-specific subfolders or domains may be incompletely covered. These errors cause Google to ignore the hreflang implementation entirely, resulting in the wrong regional page being served to international visitors or duplicate content penalties across market URLs.

Quick Diagnostic Checklist

  • View Source on a product page: check hreflang tags list all active Shopify Markets
  • Visit each hreflang URL and confirm it references the original page in return (reciprocal check)
  • Validate locale codes against ISO 639-1 (language) and ISO 3166-1 Alpha-2 (country) standards
  • Confirm x-default points to a language-neutral URL, not a locale-specific market URL
  • Check Google Search Console → International targeting for hreflang errors report

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 Google's mechanism for understanding that multiple URLs serve the same content to different geographic or linguistic audiences. A correct implementation means Google serves yourdomain.com/en-gb/ to UK visitors and yourdomain.com/en-us/ to US visitors. An incorrect implementation - missing reciprocal tags, wrong x-default, broken locale codes - means Google ignores the entire hreflang set and makes its own decision about which URL to serve where, frequently getting it wrong. The result is UK visitors seeing US prices, US visitors seeing UK-only shipping messages, and cross-market duplicate content diluting rankings for all markets.

What Causes It (Shopify-Specific)

1

Shopify Markets x-default points to primary market, not neutral URL

The x-default hreflang tag should point to a URL that is appropriate for users whose language/region is not covered by any other hreflang variant - typically a language-selector page or the most globally accessible version. Shopify Markets often assigns x-default to the primary market URL (e.g., the US store), which is incorrect when that URL serves US-specific content, pricing, or currency.

2

Reciprocal tag requirement frequently violated

Google requires that if page A declares an hreflang relationship to page B, then page B must declare a reciprocal hreflang relationship back to page A. Shopify Markets does not always generate complete reciprocal sets, particularly when market URLs use different structures (subfolders vs. subdomains vs. separate domains).

3

Locale codes using unsupported or incorrect format

Google's hreflang requires ISO 639-1 language codes and ISO 3166-1 Alpha-2 country codes in the format lang-REGION (e.g., en-GB, fr-FR). Shopify Markets may generate codes that are incorrectly cased, use deprecated locale identifiers, or omit the region code when it is required for disambiguation.

4

New markets added without updating all existing market hreflang sets

When a new Shopify Market is added, the hreflang tags on existing market pages should be updated to include the new locale. This re-propagation does not always happen immediately or completely, leaving a window where hreflang sets are inconsistent across markets.

How to Detect It Manually

  1. 1View Source on a product or collection page and search for "hreflang" - verify that every market URL you run has a corresponding hreflang entry, including x-default
  2. 2For each hreflang URL listed on page A, visit that URL and check its hreflang tags - confirm it references page A in return (reciprocal check)
  3. 3Validate your hreflang implementation using Ahrefs Site Audit, Screaming Frog, or hreflang.org - these tools specifically check for missing reciprocals and invalid locale codes
  4. 4In Google Search Console → International targeting → Language - check for hreflang errors flagged by Google
  5. 5Compare your active Shopify Markets in the admin against the hreflang entries on your pages - every market should have a corresponding hreflang tag

How to Fix It (Step-by-Step)

1

Audit your current hreflang output

Export all hreflang tag values from your site using Screaming Frog (Spider → Hreflang tab) or a similar crawler. Create a matrix: rows = pages, columns = declared hreflang locales. Identify missing reciprocals and incorrect locale codes.

2

Fix x-default assignment

In your theme.liquid, override the x-default hreflang to point to a genuinely neutral URL - typically your root domain with no locale prefix, or a language selector page. This requires checking how Shopify Markets outputs hreflang and overriding where incorrect.

liquid
{%- comment -%}
Shopify Markets outputs hreflang via the head content.
To override x-default, you may need to suppress the default output
and manually render the hreflang set with the correct x-default.
Check whether your Markets theme supports hreflang customisation.
{%- endcomment -%}
{%- if localization.available_countries.size > 0 -%}
  {%- for country in localization.available_countries -%}
    {%- for language in country.available_languages -%}
      <link
        rel="alternate"
        hreflang="{{ language.iso_code }}-{{ country.iso_code }}"
        href="{{ request.origin }}{{ request.path }}"
      >
    {%- endfor -%}
  {%- endfor -%}
  <link rel="alternate" hreflang="x-default" href="{{ shop.url }}{{ request.path }}">
{%- endif -%}
3

Validate reciprocal tags across all market URLs

After any hreflang change, re-crawl your full site to verify reciprocal tags. Every URL listed in an hreflang tag must itself output hreflang tags pointing back to all sibling URLs. A single broken reciprocal invalidates the entire set for Google.

4

Use Google Search Console international targeting report

After fixing, resubmit your sitemaps in Google Search Console and monitor the International targeting → Language report for hreflang errors. Allow 2-4 weeks for Googlebot to re-crawl and process the updated tags.

How SEOScan Detects This Issue

SEOScan crawls pages across all active Shopify Market URLs and parses all hreflang tags. It builds a reciprocal graph: for every hreflang relationship declared on a page, it follows the referenced URL and checks for the reverse declaration. Missing reciprocals, broken URLs in hreflang tags, invalid locale codes (checked against ISO 639-1 and ISO 3166-1 lists), and incorrect x-default assignments are all individually flagged with the specific page and locale affected.

Example Scan Result

Shopify Markets hreflang implementation has 23 reciprocal tag errorsHigh

Description

Store runs 3 markets: US (en-US), UK (en-GB), Australia (en-AU). Hreflang audit found: x-default points to en-US (incorrect - should be language-neutral URL). 8 UK pages missing reciprocal reference to AU equivalent. 15 AU pages reference UK URLs that have since been redirected. All 3 locale codes present but x-default error invalidates the implementation.

Impact

Google is likely ignoring the hreflang implementation and making its own geo-targeting decisions. UK visitors may be served US pricing pages. AU market URLs may be treated as duplicate content of US URLs, diluting AU rankings.

Recommended Fix

Fix x-default to point to root domain or language selector. Regenerate AU market hreflang tags to reference updated UK URLs. Validate full reciprocal matrix using Screaming Frog hreflang export.

Why It Matters for SEO

International Revenue at Risk

For stores running multiple Shopify Markets with different pricing, currency, or language, hreflang errors mean international visitors land on the wrong regional store - seeing incorrect prices or unavailable shipping options, directly reducing international conversion rates.

Cross-Market Duplicate Content

Without correct hreflang, Google treats your US, UK, and AU market pages as duplicate content competing for the same queries. Instead of each market page ranking in its target country, all versions dilute each other - reducing rankings across every market simultaneously.

Google Ignores Broken Hreflang Sets

Google's documented behaviour is to ignore an entire hreflang set if it contains errors, particularly missing reciprocals. A partial implementation is effectively the same as no implementation from Google's perspective - making the effort of setting up Shopify Markets worthless from an SEO standpoint until the errors are fixed.

Search Console Visibility

Hreflang errors appear in Google Search Console's International targeting report and can trigger manual action reviews for sites with large-scale international duplicate content. Fixing hreflang errors improves Search Console health scores and reduces the risk of quality actions.

Real-World Validation Signals

  • Google's developer documentation for hreflang explicitly states: "If the page is missing a return tag, the hreflang tags are likely to be ignored." - Shopify Markets' reciprocal tag issues directly violate this requirement.
  • Screaming Frog audits of Shopify Markets stores with 3+ active markets consistently find reciprocal tag errors affecting 10-40% of market page pairs.
  • Merchants who fix hreflang errors in Shopify Markets stores regularly see improvements in market-specific organic traffic within 4-8 weeks, particularly for non-US markets that were previously being served US-market pages.
  • Shopify's own community forums document recurring hreflang generation issues with Markets, particularly around x-default assignment and new market propagation delays.

Frequently Asked Questions

Q: Does Shopify Markets automatically handle hreflang?

Shopify Markets generates hreflang tags automatically based on your configured markets and their language/region settings. However, the auto-generated implementation has known limitations and bugs - particularly around x-default assignment and reciprocal tag completeness. It should be audited and not assumed to be correct.


Q: What is the x-default hreflang tag and what should it point to?

x-default is a special hreflang value that Google uses as a fallback for users whose language and region do not match any other declared hreflang variant. It should point to a URL that is suitable for these unmatched users - typically a language selector page, your root domain homepage, or your most internationally accessible store version. It should not point to a locale-specific URL (like your US store) unless that genuinely serves all unmatched users.


Q: Can I manually override Shopify Markets' hreflang output?

It is complex. Shopify Markets injects hreflang tags through the platform-level head content. To override them, you need to suppress the default output and render your own hreflang block using Liquid. This requires theme customisation and thorough testing, and may break after Shopify platform updates that change how Markets generates hreflang.


Q: How long does it take Google to process corrected hreflang tags?

Google typically processes hreflang changes within 2-6 weeks after re-crawling the affected pages. Submit your sitemap to Google Search Console after fixing to speed up recrawling. The International targeting report in Search Console will reflect the corrections once Google has processed the updated tags.

Check Your Store for This Issue

SEOScan automatically detects shopify markets hreflang errors and how to fix them and 4 related issues - with specific fixes for your store.

Run Free Scan

Related Issues