Here is a pattern we see every few months. An Australian brand switches on Shopify Markets, adds the US and New Zealand, picks a few currencies, and waits for international traffic to arrive. Six weeks later nothing has changed, except that a handful of their Australian product pages have started slipping for keywords they have held for years.
The build was not wrong. The configuration was. Shopify Markets handles a surprising amount of international SEO automatically, but it only does what your market, domain, and language settings tell it to do. Get the URL structure or the hreflang relationships wrong and Google sees a pile of near-duplicate pages competing with each other, with your original Australian URLs caught in the crossfire.
The prize is worth the care. Cross-border purchases now make up roughly 18.8% of all global online sales, a market estimated at $1.21 trillion USD in 2025. Yet only about 6% of international cross-border shoppers buy from Australian retailers. That gap is mostly a visibility problem, and visibility is exactly what a correct Markets SEO setup buys you. This is the configuration we use on client builds, step by step.
What Shopify Markets Handles for You (and What It Quietly Will Not)
Since the July 2025 restructure, Markets works on a parent and sub-market model. You group countries into markets, each market inherits shared settings, and you override pricing, domains, catalogues, and languages per market where needed. Catalogues stopped being a Plus-only feature in the same release, which made proper per-market merchandising available to standard-plan brands for the first time. If you run apps that touch markets data, they need to be on Shopify API version 2025-04 or later to see the new structure.
On the SEO side, Markets generates three things automatically for every market you assign a domain, subdomain, or subfolder to. Each localised URL gets hreflang tags pointing at every other localised version of the same page. Each version gets a self-referencing canonical. And every market surface gets included in your sitemap so Google can find the lot.
Here is what the head of a product page looks like on a store we run with Australian, US, and New Zealand markets on subfolders:
<link rel="canonical" href="https://thebrand.com.au/products/merino-crew" />
<link rel="alternate" hreflang="en-AU" href="https://thebrand.com.au/products/merino-crew" />
<link rel="alternate" hreflang="en-US" href="https://thebrand.com.au/en-us/products/merino-crew" />
<link rel="alternate" hreflang="en-NZ" href="https://thebrand.com.au/en-nz/products/merino-crew" />
<link rel="alternate" hreflang="x-default" href="https://thebrand.com.au/products/merino-crew" />
Every line of that block is generated from your Markets configuration. Which is the good news and the warning in one sentence. Shopify will not sanity-check whether the structure you have chosen makes commercial or SEO sense. It will faithfully publish hreflang for a market that has no localised content, no translated copy, and no reason to exist as a separate URL. Google then has to work out what to do with two pages that are 99% identical, and its tiebreaker decisions are not always the ones you would make.

Subfolders, Subdomains or Country Domains: The URL Decision That Sets Your Ceiling
This is the first decision we make on every international build, because it is the one you cannot quietly reverse later. Shopify Markets supports three URL structures, and they are not equal.
- Subfolders (thebrand.com.au/en-us/). Every international page inherits the authority your primary domain has spent years earning. One domain to manage, no extra DNS, and Markets sets the whole thing up in an afternoon. This is our default for brands under roughly $20M AUD in annual revenue, and for most brands above it.
- Subdomains (us.thebrand.com.au). Some search engines treat a subdomain as a separate site, which means it starts from close to zero authority and earns its own. We almost never recommend this structure. It carries most of the management cost of separate domains with few of the benefits.
- Country domains (thebrand.com). A ccTLD or dedicated international domain sends the strongest local-relevance signal and gives you full flexibility on merchandising and content. It also means building authority from scratch in that region: link earning, digital PR, the lot. We reserve this for brands with a genuine in-market operation, local 3PL, local team, local marketing budget.
The mistake we see most often is brands picking subdomains because their old platform used them, or picking a .com because it felt like a statement of ambition. Authority does not transfer on ambition. A client who came to us ranking page one in Australia and invisible in the US had spent fourteen months trying to rank a fresh .com with no US backlink profile. We folded their US market back into a subfolder on the established domain and their US organic sessions tripled inside a quarter, off the back of authority they already owned.
One more structural rule: pick the primary domain deliberately. If your long-term growth market is the US, there is a real argument for running the .com as primary with /en-au/ as the Australian subfolder, even though it feels back to front from Sydney. Changing the primary domain later is a full migration with redirect mapping and a re-indexing dip. It is a decision to make once, on purpose. Our Markets vs multi-store breakdown covers the architecture layer of this same decision.

The hreflang Mistakes We Keep Finding in Shopify Audits
Because Markets generates hreflang automatically, most Shopify hreflang problems are configuration problems wearing a technical disguise. These are the four we find most often when we audit an international store.
- Currency-only markets creating near-duplicate URLs. A market that changes the price and nothing else still gets its own URL set and its own hreflang entries. Hundreds of pages that differ by one number. If a market has no language, content, or merchandising difference, ask whether it needs its own URL surface at all, or whether it should stay a pricing variation of the parent market.
- Broken return tags from third-party apps. hreflang only works when every page in the set points back at every other. Translation or SEO apps that inject their own hreflang alongside the native Markets output create conflicting sets, and Google ignores the lot. If an app writes hreflang into your theme, one of the two sources has to go.
- Forced geo-redirects that lock Googlebot out. Googlebot crawls overwhelmingly from US IP addresses. A hard redirect that bounces every US visitor to /en-us/ means Google may never properly crawl your Australian URLs again. Use the market recommendation banner or a dismissible suggestion instead. Never force the redirect.
- Deleted markets leaving orphaned URLs in the index. Turning a market off removes the pages but not Google’s memory of them. Months of soft-404 crawl waste follows. When we retire a market we redirect its URLs to the nearest equivalent on the surviving market and leave the redirects in place permanently.
You can verify the first two in ten minutes without a crawler. Pull any product page in each market and read the head:
# Fetch the rendered hreflang set for each market surface
curl -s https://thebrand.com.au/products/merino-crew | grep hreflang
curl -s https://thebrand.com.au/en-us/products/merino-crew | grep hreflang
# Both outputs should list the SAME set of alternates.
# A URL that appears in one and not the other is a broken return tag.
If the sets do not match, or you see two hreflang blocks from two different sources, you have found the problem before paying for a single crawl credit.
Getting the hreflang Codes Themselves Right
One level deeper than the configuration mistakes sits the code mistakes. hreflang values are language plus optional region: en-AU is English for Australia, en is English for anyone. The combinations you choose change how Google routes searchers, so they are worth five deliberate minutes.
- Use region codes when markets share a language. An AU brand with US and NZ markets needs en-AU, en-US, and en-NZ. Plain en on all three tells Google the pages are interchangeable, and it will happily show the AU page to a US searcher, complete with AUD pricing the checkout then contradicts.
- Point x-default at your primary market, on purpose. x-default is the page Google shows searchers who match no market. Shopify assigns it from your primary market settings. If your biggest growth bet is the US but x-default resolves to the AU surface, every unmatched international searcher lands on Australian pricing. Check it, decide it, do not inherit it by accident.
- Match the codes to actual checkout behaviour. If en-NZ exists as a URL surface but checkout quotes NZD only via a currency selector that defaults to AUD, the page promises a localisation the transaction does not honour. Conversion data will tell you before Google does.
None of this requires code. All of it is decided by which markets you create, which languages you attach, and which market is primary. That is the recurring theme of Shopify international SEO: the settings screen is the technical implementation.
Translation Depth: When Translate & Adapt Is Enough and When It Is Not
URL structure decides whether Google trusts your international pages. Language decides whether humans buy from them. CSA Research surveyed 8,709 consumers across 29 countries and found 76% prefer to buy products with information in their own language, and 40% will not buy from a website in another language at all. For an Australian brand, that number is the difference between a German market that converts and one that pads your traffic reports.
Shopify’s free Translate & Adapt app covers the first layer. It auto-translates up to two languages and lets you add more with manual translations, and it plugs directly into the Markets language model so translated content lands on the right URLs with the right hreflang automatically. For a first push into one non-English market, it is genuinely enough to launch with, provided a native speaker reviews the product pages and checkout strings before you spend a dollar on traffic.
The under-used feature is the Adapt half. You can serve different English content per market on the same language. We use it to swap “jumper” for “sweater”, AU sizing for US sizing, and “free shipping over $100 AUD” for the local threshold on en-US pages. Those small adaptations also make the pages materially different documents, which gives Google an actual reason to rank the en-US version for US searches instead of treating it as a duplicate with a different price tag.
Where Translate & Adapt stops being enough: stores with large catalogues that need translation workflows and glossaries, brands with regulated product claims that differ by country, and any market where search demand uses vocabulary your translated pages do not contain. Translation gives you correct pages. It does not give you keyword research. If German shoppers search for a product category by a name your machine translation never produces, you will be correct and invisible at the same time.
Search Console, Sitemaps and the First 90 Days
A Markets rollout without per-market measurement is a rollout you cannot debug. The setup we run on every build takes under an hour.
- One Search Console property per market surface. A domain property for the primary domain, plus URL-prefix properties for each subfolder (thebrand.com.au/en-us/, thebrand.com.au/en-nz/). Each subfolder property gets its own performance, indexing, and hreflang error reporting, so a problem in one market is visible the week it starts rather than buried in blended totals.
- Submit the sitemap once, at the primary domain. Shopify includes every market’s URLs in the main sitemap automatically. You do not need to submit per-market sitemaps, but confirm in each subfolder property that its pages are moving from Discovered to Indexed.
- Watch indexing before rankings. In the first fortnight the only question is whether Google is indexing the new URLs. Page indexing report, new subfolder property, watch Duplicate without user-selected canonical. A spike there means Google is collapsing your market pages into the AU versions, which sends you back to the adaptation work above.
- Then watch query overlap. From week three, compare queries in the AU property against the new market property. The healthy pattern is separation: US queries accruing to /en-us/ pages. The unhealthy pattern is your AU URLs ranking in the US instead, which usually means hreflang is being ignored.
Expect noise for six to eight weeks. Hreflang clusters take time to settle, and early impressions data swings before stabilising. The numbers that matter at the 90-day mark are indexed page counts per market, impression share per market, and whether the right country page wins the right country query. One apparel client we run saw their /en-nz/ subfolder go from zero to 41,000 impressions per month over one quarter, with the NZ market clearing $187,000 AUD in orders in the same period, all on URLs that inherited authority from the .com.au they already owned.

The Pre-Launch Checklist We Run Before Turning On a New Market
This is the literal gate we run on builds before a new market goes live. Every item is a real failure we have caught at least once.
- URL structure confirmed against the brand’s five-year market plan, not this quarter’s. Primary domain decision signed off in writing.
- hreflang set spot-checked on a product page, a collection page, and the home page in every market. Return tags symmetrical, exactly one x-default, one source of hreflang only.
- Canonicals self-referencing on every market surface. No market canonicalising to another market.
- No forced geo-redirects anywhere. Recommendation banner only, dismissible, and the dismissal persists.
- Localised content reviewed by a native speaker, or for English markets, adapted copy that differs in more than currency.
- Duties, taxes, and shipping rates configured per market so the localised page does not promise what checkout cannot deliver. Our AU-to-US setup guide covers that layer in detail.
- Search Console properties created per subfolder before launch day, so day-one data exists.
- Robots and theme apps checked for anything injecting noindex, stray hreflang, or per-market canonical overrides.
Eight items, roughly a day of work, and it is the difference between a market that compounds and a cleanup engagement six months later. Australian ecommerce is forecast to grow from $51.22 billion USD in 2026 to $90.57 billion USD by 2031, and the brands that take international search seriously now are buying rankings at a price that will not be available once their category catches up.
How We Do It at Insiteful
International SEO is wired into how we scope a build, not bolted on after launch. When a client brief includes selling beyond Australia, the URL structure decision happens in the architecture phase, before a line of theme code is written, because it constrains everything downstream: domains, catalogues, translation workflow, and analytics.
On the build itself, we configure Markets on the parent and sub-market model with catalogues per market, set up Translate & Adapt or a dedicated translation stack depending on catalogue size, and strip out any app that double-injects hreflang. Before launch, every market goes through the eight-point gate above, and we stand up the per-market Search Console properties so the first crawl is measured, not guessed at. For the first quarter after launch we review indexing and query separation per market against the baseline, the same way we track performance budgets on the native stack.
The pattern across hundreds of Aussie Shopify founders we have worked with is consistent: international rarely fails on ambition, it fails on configuration. The brands that win overseas are the ones whose technical foundations were boring, correct, and finished before the marketing started.
If international is on your roadmap and you want the Markets, hreflang, and URL structure decisions made properly the first time, that is exactly the kind of build we scope every week. See how we run a build, or have a look at the work first.