How to redirect Shopify visitors by country without hurting SEO

A country redirect is one of the highest-leverage things an international Shopify store can add: a shopper in Berlin who lands on USD prices with US shipping is far more likely to leave than one who sees euros and a German delivery estimate. Done carelessly, the same redirect can also make Google index the wrong pages, or none at all. This article explains the two failure modes and the setup that avoids them.

Failure mode 1: redirecting the crawler

Google documents that the default IP addresses of Googlebot appear to be based in the USA. If your storefront redirects every “US” visitor to a different page or domain, Googlebot is redirected too. The pages it was asked to crawl are never seen, and your other markets are indexed only from the US-facing content. Google does crawl from non-US addresses as well, but only in addition to the US ones, and never enough to reconstruct your whole catalogue for each country.

The fix is simple: never redirect known crawlers. A redirect script should check the user agent (Googlebot, Bingbot, the social preview bots used by Facebook, X, Slack and WhatsApp) and stay quiet for them. GeoBeacon does this by default; the setting is called Ignore bots and crawlers and we recommend leaving it on.

Failure mode 2: taking the decision away from the shopper

Google's guidance on multi-regional sites is direct: avoid automatically redirecting users from one language version of a site to a different language version, and let people switch themselves. The reason is practical. Someone in Canada buying a gift for a friend in Texas wants the US store. An expat wants their home store. A shared product link should open the product that was shared.

A suggestion popup (“Shopping from Canada? Shop in CAD”) gets almost all of the conversion benefit of an automatic redirect while keeping the shopper in control. Whichever they choose should be remembered so they are asked once, not on every page. Automatic redirects still have their place, for instance when you sell in one country only and want everyone else on a separate international site, but they should be the exception.

Keep the transactional pages out of it

Never run a geolocation script on checkout, cart, account or password pages. A shopper who has filled a cart and then gets bounced to another market loses the cart, and a redirect during checkout is the fastest way to lose the order. GeoBeacon excludes these paths and lets you add your own.

Prefer Shopify Markets over separate URLs where you can

If your markets live in one store (for example yourstore.com/en-ca or yourstore.ca managed by Shopify Markets), Shopify already generates the right hreflang tags and canonical URLs for each market, so Google knows the pages are regional variants of one another. Switching a shopper between markets with Shopify's own localization form, as GeoBeacon does, does not change any URL Google sees: the crawler still indexes each market's pages at their own addresses.

When markets are separate stores on separate domains, add hreflang links between them yourself (a theme edit or an app) so Google treats them as alternates rather than duplicates, and keep the page path when redirecting so a product link on one store lands on the same product on the other.

A checklist

  • Skip crawlers and preview bots; never redirect Googlebot.
  • Default to a suggestion popup; use automatic redirects deliberately.
  • Remember the shopper's choice.
  • Exclude checkout, cart, account and password pages.
  • Keep the page path when sending shoppers to another store.
  • Make sure hreflang exists between regional versions.
  • Test with ?geobeacon=DE style parameters rather than a VPN, and check Search Console for coverage changes after launch.