Shopify emits hreflang tags automatically, but only for markets that have their own URL. If your UAE, UK and Australian buyers all land on the same example.com and get switched by geolocation, there is no hreflang in your source at all, and Google has no idea the other versions exist. That is the first thing to check in any Shopify hreflang setup: open your storefront, view source, search for hreflang. If you see nothing, the tags aren't broken. They were never generated.
The rest of this post is about the more annoying case, where the tags are there and still don't work the way you assumed.
What Shopify does for you, and what it refuses to guess
Once a market in Shopify Markets is given a dedicated URL — a subfolder like example.com/en-ae, a subdomain, or a separate country domain — Shopify writes the alternate link tags into content_for_header. Every page gets a set of alternates covering the languages and countries you've configured, plus a self-reference and an x-default. In our audits the x-default resolves to the primary market, which is correct if your primary market is your biggest one and wrong if you set up your primary market as India three years ago and now do most of your volume in the Gulf.
What Shopify will not do is decide your URL architecture, localise your copy, or stop your theme and apps from contradicting the tags. Those three things account for almost every hreflang problem we're asked to fix.
Where the automatic Shopify hreflang setup falls short across English regions
Hreflang was designed for language targeting. English-to-English targeting is the hard case, because the signal Google gets from en-GB versus en-AU is weak compared with, say, ja versus de. When two URLs carry byte-identical English copy and differ only in the currency symbol injected by JavaScript, Google will frequently pick one and drop the other from the cluster. The tags are respected as a hint. They are not a command.
So a store with three English markets and one set of product descriptions has a duplication problem that hreflang cannot solve. We've watched a UK subfolder sit unindexed for weeks while the .com version ranked in London, on a store where the tags were perfectly formed. The fix wasn't the tags. It was giving each market something of its own: prices rendered server-side in GBP inclusive of 20% VAT, a shipping block naming the actual UK carrier and lead time, spelling normalised to British English, a returns address in the UK. For Australia, GST-inclusive pricing at 10% and a note on whether duties are collected at checkout or on delivery. For the UAE, AED pricing, Dubai and Abu Dhabi delivery windows, and the fact that you ship from a local 3PL if you do.
That's editorial work, not developer work, and it's the part most brands skip. If you're not going to differentiate the content, don't split the URLs. A single .com with clear international shipping information will out-rank three thin regional forks.
Subfolders, subdomains or country domains for UAE, UK and Australia
Subfolders, in almost every case. One domain, one pool of authority, one Search Console property you can still segment by folder. Country domains — .ae, .co.uk, .com.au — start from zero authority and need their own link building, their own sitemaps and their own monitoring. Brands buy them because they feel more legitimate to a local buyer, which is a real argument, and then discover they've created three small websites instead of one strong one.
We'd only recommend separate domains when the market has a genuinely different catalogue and brand presence, a local team producing content for it, and enough revenue to justify the SEO spend twice over. For an Indian brand testing the GCC, a /en-ae subfolder answers the question far more cheaply. If it works, buy the domain later; Shopify Markets lets you move it, and 301s from the subfolder carry most of the value across.
One awkward detail on subdomains: Google treats them as separate sites more readily than folders, so you get most of the downside of a ccTLD without the local trust signal. We rarely have a reason to use them.
en-GB, not en-UK — and the other codes people get wrong by hand
The United Kingdom's ISO country code is GB. en-UK is invalid and silently ignored. Shopify gets this right; humans editing theme.liquid do not. The same goes for en-UAE (it's en-AE) and en-AUS (en-AU).
The bigger hand-editing failure is duplication. Someone adds a block of hard-coded alternate tags to the theme head because an SEO checklist told them to, Shopify's own tags render alongside them, and the page ships two conflicting sets. Google discards conflicting annotations rather than choosing between them. If you inherited a store from another developer, grep the theme for hreflang and rel="canonical" before you touch anything else. A hard-coded canonical pointing every page back to the .com root is the single most destructive line of Liquid we find, and we find it often.
Catalogue exclusions quietly break the cluster
Markets lets you publish a different catalogue per market. Supplements, certain cosmetics, anything with import restrictions in the UAE — you exclude them from that market. Sensible. But now the cluster has holes.
Take a 1,800-SKU store with 400 collections, three English markets on subfolders plus the primary domain. That's 2,200 URLs × 4 = 8,800 indexable storefront URLs. Exclude 240 products from the UAE catalogue and the UAE fork drops to 1,560 products, so 240 product URLs that the other three markets may still reference as alternates now resolve to nothing useful. In a Screaming Frog crawl that shows up as "hreflang to non-200" or missing return links across roughly 13% of the product set.
Crawl every market URL after you change a catalogue, not just the primary one. We get this wrong on the first pass ourselves maybe a third of the time, usually because someone excluded products in the Markets admin two weeks after launch and told nobody.
IP redirects undo everything you just built
If your store hard-redirects visitors by IP address to their market URL, Googlebot — crawling predominantly from US addresses — will be bounced to the primary market every time it tries to fetch /en-au/products/…. Your Australian pages then never get indexed, and no amount of correct annotation rescues them.
Use a recommendation banner instead: detect the country, offer the switch, let the visitor decide, and set a cookie once they do. Shopify's own geolocation approach works this way, and any third-party app that offers a "force redirect" toggle should have it left off. Test it by fetching a market URL with curl and Googlebot's user agent, then again through Search Console's URL Inspection. If Inspection shows a redirect, you have your answer.
Arabic in the UAE is a separate project
Adding ar-AE to a UAE market is a translation job with a theme job attached. Shopify's Translate & Adapt handles the string management and Markets will emit the extra alternates, but right-to-left layout is where most themes fall apart: mirrored padding, icon direction, number formatting, sliders that scroll the wrong way. Budget theme development time, review the checkout and account pages in Arabic before launch, and accept that machine translation of product copy reads badly enough in Gulf Arabic that it will cost you conversions. Either commission proper translation for your top-selling few hundred SKUs or stay English-only. English-only is a perfectly defensible choice in the UAE. We say so regularly, and it's usually the right call for a first launch — more on how we scope Gulf builds on our Dubai Shopify agency page.
Testing the setup in twenty minutes
A sequence we run on every international launch:
- Fetch the primary domain homepage and one product page with curl. Count the hreflang lines. There should be one per market-language pair, one self-reference, one x-default, and no duplicates.
- Repeat for each market URL. Every alternate must point back, including to itself. Missing return links are the most common Search Console complaint and almost always come from one market being served a stale cached head.
- Check the canonical on each market URL points at itself, not at the primary market.
- Fetch /en-ae/sitemap.xml, /en-gb/sitemap.xml, /en-au/sitemap.xml and confirm they exist and list that market's URLs. Submit each in Search Console. There is no longer an international targeting report to fall back on, so sitemap coverage per folder is your monitoring.
- Crawl all markets with rendering on and look at the hreflang tab for non-200 targets.
- Confirm no IP-based redirect fires for a US-based crawler.
Then leave it alone for three to four weeks. International indexation is slow, and the temptation to change the architecture again at day ten has cost more brands more traffic than any tagging error.
What to do next
Pick the one market where you already have orders arriving from paid or from word of mouth, give it a subfolder, and localise the content properly before you add the second. Three half-built regional storefronts perform worse than one good one.
If you'd rather have someone else read the head of your theme first, our free store audit covers hreflang, canonicals and market configuration alongside the usual speed and structure checks. And if the localisation writing is the bottleneck — the market-specific copy that actually makes the tags worth having — that sits with our SEO and content team.

