If you’re on the Shopify, Advanced Shopify, or Shopify Plus plan, you can use the international domains feature to create region-specific or country-specific domains. When you use international domains, sitemap files are generated for all domains. All of your domains are discoverable by search engines unless they redirect to your primary domain.
Shopify ccTLDs, country subdomains, and country subfolders
Shopify does support international expansion, however, is not optimised perfectly for SEO. This is because it doesn’t allow country subfolders, therefore, if you want to expand internationally you have two options:
- Create a country subdomain
- Use a new domain or country TLD
Whilst Google reiterates that there should be no difference between the SEO benefits of subdomain vs subfolder, this is still a topic that divides opinion.
Your products can be duplicated to ensure that alternate language/location sites contain the same products.
Shopify by default does not contain hreflang, however, the code can be added to the theme.liquid.
The code can automatically generate the URLs required for the different location subdomains/domains and a run-through is described here.
Since most international stores are generated by copying the original Shopify store, this means that URLs will be in the original language.
Similarly, this can cause errors if some products are only available in certain locations, as the hreflang will generate for all alternatives. For example, even if a product (example-product) only exists in en/gb it will generate for all locations:
example.com/en/gb/example-product/ – exists as product
example.com/fr/fr/example-product/ – does not exist, still referenced in hreflang
example.com/de/de/example-product/ – does not exist, still referenced in hreflang
There are apps available that can translate your website content, in addition to helping to create hreflang:
Shopify Hreflang Sitemaps
Due to Shopify’s automatically generated sitemaps and restrictions on creating your own bespoke XML sitemaps, hreflang cannot be implemented via sitemaps.