International Ecommerce SEO: Subdomains vs Subdirectories vs ccTLDs
Choosing between en.example.com, example.com/en/, and example.de affects rankings, costs, and operations. A practical guide to picking the right international URL strategy.
Going international is a multiplier on every ecommerce decision: shipping, taxes, payments, customer support — and SEO. Most of those decisions are reversible. Your URL strategy isn't. Pick the wrong structure for your international stores and you'll either spend years fighting it or rebuild from scratch.
This guide compares the three options, with criteria for picking the right one for your business.
The Three Options
1. ccTLDs — example.de, example.fr, example.co.uk
Country-code top-level domains. One domain per country. Strongest geographic signal, highest cost to operate.
2. Subdomains — de.example.com, fr.example.com, uk.example.com
One root domain, separate subdomains per region. Treated by Google as related-but-separate sites. Medium geographic signal, medium cost.
3. Subdirectories — example.com/de/, example.com/fr/, example.com/uk/
One domain, paths per region. Treated as one site. Weakest geographic signal but maximum domain authority sharing. Lowest cost.
How Each Affects SEO
Domain Authority Sharing
- ccTLDs: Each domain builds authority independently. Backlinks to
example.dedon't helpexample.fr. - Subdomains: Mostly separate, with some overlap. Modern Google treats subdomains as more related than ccTLDs but less unified than subdirectories.
- Subdirectories: One domain, all backlinks build one authority pool. A backlink to your /de/ subdirectory helps your /fr/ subdirectory rank too.
For a new international expansion, subdirectories give the fastest ranking growth — you're leveraging existing authority instead of building from zero per region.
Geographic Targeting
- ccTLDs: Strongest geo signal. Google assumes
.detargets Germany without configuration. - Subdomains and subdirectories: Require explicit geo-targeting in Google Search Console + hreflang tags. Without these, Google guesses based on language and content.
Hreflang Implementation
Required for all three structures if you have multiple language/region versions of the same content. Hreflang errors are the #1 international SEO problem we see in audits — typos, missing return tags, conflicting tags between sitemap and HTML.
Cost and Operational Complexity
ccTLDs (Highest)
- Domain registration per country (some require local presence — .fr requires EU presence, .it requires Italian VAT)
- Separate SSL certificates per domain
- Separate hosting/CDN configurations
- Separate Google Search Console properties
- Separate analytics setups
- Domain spoofing risk: someone else can register example.es if you don't
Subdomains (Medium)
- Single domain registration
- Wildcard SSL covers all subdomains
- Single hosting platform with subdomain routing
- Separate Search Console properties (subdomains are separate sites in Google's eyes)
- Easier to spin up new regions: add a DNS record
Subdirectories (Lowest)
- Single domain, single SSL, single Search Console property
- Single analytics property
- Backend complexity moves to your application: routing, content management, currency switching
- One downside: every region depends on one infrastructure. A bug in /de/ checkout can affect all regions.
When to Use Each
Use ccTLDs when:
- You're a local-first brand in each market (separate brand names, separate marketing teams)
- You sell highly regulated products (alcohol, supplements, medical devices) that require country-specific legal entities
- You have unlimited SEO and dev resources
- Local trust signals matter intensely (German shoppers strongly prefer .de domains; French shoppers prefer .fr)
Use subdomains when:
- Your team and codebase are unified but operations are regional
- You want to A/B test running each region as quasi-independent
- Your CMS or platform handles subdomains better than subdirectories (some Shopify Markets configurations are easier with subdomains)
Use subdirectories when (most common, recommended default):
- You want to launch new regions quickly without building authority from zero
- Your content is largely consistent across regions (same products, translated descriptions)
- You have a unified team and platform
- You're early in international expansion and want to test demand before investing in full localization
The Hreflang Implementation
Whatever structure you pick, hreflang is non-negotiable. Common mistakes:
- Self-referencing tag missing — every page must include an hreflang tag pointing to itself
- Return tag missing — if /en/ links to /de/, /de/ must link back to /en/
- Wrong language codes — use ISO 639-1 (en, de, fr), not three-letter codes
- Wrong region codes — use ISO 3166-1 alpha-2 (US, GB, DE), and check that you're targeting the right region (en-GB vs en-US matters for currency, spelling, and availability)
- x-default missing — declare a default version for users who don't match any specific region
- Conflicting hreflang sources — declaring tags in HTML and sitemap and HTTP headers, with different values
Migration Strategies
If you're already on the wrong structure, migration is possible but expensive. The rule of thumb:
- ccTLDs → subdirectories: Possible. Implement 301 redirects, expect 6-12 months of ranking turbulence per market.
- Subdomains → subdirectories: Easier. Same domain, just URL restructure. 3-6 months of turbulence.
- Subdirectories → subdomains or ccTLDs: Rare and not recommended. You're throwing away authority for marginal geographic signal gain.
Currency, Language, and Region — Three Different Things
Don't conflate them. A user in Switzerland might want German language, CHF currency, and Swiss-region content (separate VAT, different shipping options). Plan your URL structure around the dimension that matters most for your business — usually region for ecommerce because shipping and taxes are region-specific, not language-specific.
What StoreVitals Checks
Our scans flag:
- Missing hreflang tags
- Hreflang return tag mismatches
- HTML lang attribute mismatches with hreflang declarations
- Mixed language content (English alt text on a /de/ page)
- Geo-targeting signals in robots.txt and meta tags
If you're planning international expansion, run a baseline StoreVitals scan first to capture your current state. Then re-scan after each market launch to make sure you didn't break the international SEO setup.