Back to BlogSEO

Shopify International SEO: hreflang Without the Headaches

Aayush BuchaOctober 18, 20268 min read
Shopify International SEO: hreflang Without the Headaches

The first time a client asked us why their UK store was outranking their US store in Google.com, we spent two days pulling our hair out before finding the culprit: a single misplaced hreflang tag on their Shopify theme. Google had decided the UK version was the "main" one and swapped them in the index. Revenue from US organic traffic dipped 40% in three weeks while we untangled it.

That was years ago, and Shopify has gotten better at Shopify international SEO since. Shopify Markets generates hreflang automatically, which removes most of the footguns. But "most" is doing a lot of work in that sentence. We still see hreflang errors on the majority of multi-market Shopify stores we audit, and they still cost real rankings and real revenue.

This guide covers Shopify international SEO the way we actually practice it: how hreflang works on Shopify, how Markets changes the game, what you can set up yourself in an afternoon, and where things break badly enough that you should bring in help. If you're planning to sell across borders, this is the checklist we wish every store had before launch.

World map representing international SEO and hreflang planning for Shopify stores

How hreflang Actually Works (and Why It Matters)

hreflang is a snippet of code that tells Google which version of a page to show to which audience. If you have a US page at /products/widget and a UK version at /en-gb/products/widget, hreflang is the signal that says: "show the US version to US searchers, the UK version to UK searchers."

Without it, Google treats your regional pages as duplicates and picks one, often the wrong one, and sometimes different ones on different days. The symptoms are familiar to anyone who's run a multi-region store: rankings flip-flopping between markets, the wrong currency showing in search snippets, and one market's page absorbing all the traffic while the others starve.

Every hreflang setup needs three things:

  1. A return tag: if page A points to page B as its UK version, page B must point back to page A as its US version. Miss one direction and Google ignores the whole cluster.
  2. An x-default: a fallback version for visitors from countries you don't target. Usually your primary market.
  3. Consistency across the cluster: every page in a language/region set must reference every other page. If you have US, UK, and German versions, each page lists all three plus x-default.

That's the theory. On Shopify, the implementation depends heavily on whether you're using Markets.

The Shopify Markets Shortcut

If you're using Shopify Markets with subfolders (e.g. yourstore.com/en-gb/), Shopify injects hreflang tags automatically into your theme's <head>. This is genuinely good. It handles return tags, x-default, and the mapping across markets: the three things people get wrong most.

You can verify it in minutes. Open a product page, view the page source (Ctrl+U or Cmd+Option+U), and search for "hreflang". You should see something like:

<link rel="alternate" hreflang="en-us" href="https://yourstore.com/products/widget" />
<link rel="alternate" hreflang="en-gb" href="https://yourstore.com/en-gb/products/widget" />
<link rel="alternate" hreflang="x-default" href="https://yourstore.com/products/widget" />

If those tags are there and correct, your baseline is done. The headaches start when they're wrong or missing (and they are, more often than you'd think).

When Shopify's Automatic hreflang Breaks

Here's where we earn our keep. In audits across 200+ stores, these are the situations where Markets' automatic tags fail or don't apply:

Custom themes with hardcoded head sections. Some themes (especially heavily customized ones) override the <head> with manual Liquid, stripping out Shopify's automatic tags. If your theme developer built a custom header from scratch, check the source. We've found stores running international subfolders with zero hreflang for months.

Top-level domains instead of subfolders. If you use yourstore.co.uk alongside yourstore.com, Shopify's Markets hreflang covers the domains it's managing, but cross-domain hreflang gets fragile, especially if the domains are on different Shopify stores or one isn't on Shopify at all. This setup often needs manual hreflang injection via theme Liquid or a metafield-driven approach.

Translated stores without translation app integration. Markets creates the URL structure, but if your translations live in an app like Weglot, Langify, or Translate & Adapt, that app is usually responsible for hreflang on translated content. Two systems (Markets + translation app) both trying to manage hreflang is a common conflict source. Pick one owner for hreflang and disable the other's output.

Markets turned on after the fact without redirects. If you had /products/widget ranking in the UK for two years and then launch /en-gb/products/widget, Shopify does handle the canonicalization, but we've seen Google take 6–10 weeks to reshuffle. During that window, expect volatility. Plan launches for a low season, and monitor Google Search Console's International Targeting report daily for the first month.

The Manual Setup: Adding hreflang to a Shopify Theme

If you're in one of the broken situations above, here's the manual approach we use. Edit your theme's theme.liquid (Online Store → Themes → Edit code → Layout → theme.liquid) and add tags in the <head>:

{% if request.page_type == 'product' %}
<link rel="alternate" hreflang="en-us" href="https://yourstore.com{{ product.url }}" />
<link rel="alternate" hreflang="en-gb" href="https://yourstore.com/en-gb{{ product.url }}" />
<link rel="alternate" hreflang="x-default" href="https://yourstore.com{{ product.url }}" />
{% endif %}

That example assumes identical URL slugs across markets, which Markets enforces by default. If slugs differ per market (possible with some translation setups), you need a mapping table in metafields. More complex, and honestly the point where we tell DIY merchants to stop, because one wrong slug on one page poisons the whole cluster.

For a handful of pages, manual tags are fine. For a 5,000-product catalog, generate them programmatically or use Markets properly. There's no middle ground that stays maintainable.

Beyond hreflang: The Rest of Shopify International SEO

hreflang solves the "right page to the right user" problem, but international rankings live and die on the fundamentals. Here's our checklist for the stores we take across borders:

One market, one keyword strategy. Search behavior differs by market more than merchants expect. "Sneakers" in the US, "trainers" in the UK. German searchers use compound words that literal translations miss. Do keyword research per market, not per language. Google Keyword Planner lets you set a target country; use it.

Localize, don't translate. Machine-translated category copy ranks poorly and converts worse. At minimum, have a native speaker review your top 20 pages per market. If you can't afford that, don't launch that market yet. A half-localized store is worse than geolocation with English.

Local links, local citations. A UK version of your site with zero UK backlinks will struggle regardless of hreflang. Digital PR, local directories, and market-specific content earn the links that make international SEO actually work. Our Shopify SEO service handles exactly this kind of market-by-market authority building.

Speed per region. Test your store from your target market using PageSpeed Insights with a region set, or better, WebPageTest with a test location in your target country. A store that loads in 1.2 seconds from New York might take 4+ seconds from Sydney, and Core Web Vitals are measured against real-user data in each market.

Google Search Console per domain or property. If you run country subdomains or TLDs, add each as a separate property in GSC. The International Targeting report (under Legacy tools) shows hreflang errors; check it monthly. We catch most client hreflang failures from this report before rankings move.

Don't block markets with robots.txt or noindex. We've seen merchants "launch" a market with the subfolder noindexed "until it's ready" and forget for eight months. If a market isn't ready to be indexed, it isn't ready to launch.

Verifying Your Setup

After any international launch or change, run this verification pass:

  1. Source check: view-source a product, collection, and page in each market. Confirm hreflang tags exist, include all markets plus x-default, and return tags point both ways.
  2. Screaming Frog crawl: crawl the site with Screaming Frog SEO Spider (free up to 500 URLs), then check Reports → hreflang. It flags missing return links, invalid codes, and broken URLs in hreflang clusters. This catches what manual checking misses.
  3. GSC International Targeting: confirm no "no return tags" errors for your market URLs.
  4. Manual SERP test: search your head term with &gl=uk appended to a Google search URL (forces UK geolocation). Does the UK version rank? Repeat for other markets.

That four-step pass takes under an hour and has saved our clients more ranking pain than any other single process.

Frequently Asked Questions

Does Shopify do hreflang automatically?

Yes, if you use Shopify Markets with subfolder or subdomain market structures, Shopify injects hreflang tags automatically, including return tags and x-default. The catch: heavily customized themes, top-level-domain setups, and translation apps can break or duplicate that output, so you should still verify with a crawl.

Subfolder, subdomain, or country TLD for international SEO?

Subfolders (/en-gb/) are our default: they consolidate domain authority, are easiest to manage, and work well with Markets. Country TLDs (.co.uk) earn slightly more local trust and are worth it for serious long-term investment in a single market. Subdomains sit awkwardly between the two and we rarely recommend them.

How long does it take for hreflang changes to take effect?

Google typically recrawls and applies hreflang changes within days to a few weeks, depending on your crawl frequency. You can accelerate this by requesting reindexing of key URLs in Google Search Console. Don't expect overnight rank swaps. Full reshuffling between market versions commonly takes 4–8 weeks.

Do I need hreflang if I only sell in English?

If your content is identical for US and UK visitors, you might not need separate URLs at all. One English version can serve both. hreflang becomes necessary when you have genuinely different versions: different prices, currencies, shipping info, spelling, or product availability per market.

What's the most common hreflang mistake on Shopify?

Missing return tags: one page points to its UK counterpart, but the UK page doesn't point back. This usually happens with manual implementations or when a translation app manages one direction and Markets manages another. Google then ignores the entire cluster, and you get the wrong version ranking. Run Screaming Frog's hreflang report and this shows up immediately.

Get Help With This

International SEO is unforgiving: the technical details interlock, and a single broken tag can quietly reroute your best traffic to the wrong market. If you'd rather not debug hreflang clusters at midnight, work with our Shopify SEO team. We've taken 200+ stores across borders and we know exactly where the bodies are buried.

Written by

Aayush Bucha

Founder & Chief Strategist

Scaled his own brand to eight figures before building AAA Digital. Reviews every Shopify growth engagement personally.

AAA Digital brand mascot

WANT RESULTS LIKE THESE?

We implement these exact strategies for brands that want to scale. Book a free strategy call and let us audit your current setup.

Book a Free Strategy Call