Subdirectory (International)

No Comments
Subdirectory (international)

AI Summary

A subdirectory (or subfolder) puts each language or country version in a path on one domain, like example.com/fr/, so every version inherits the root domain's authority. It is the default international structure for most sites because it consolidates links into a single host, but it only pays off when hreflang correctly clusters the versions.

  • One host, one link profile: authority is shared across every language folder.
  • hreflang, not the folder name, tells Google which version targets which audience.
  • Pick one hreflang method (head tags, HTTP header, or XML sitemap) and never mix them.
  • Compare with ccTLD and subdomain before launch, because migrating structures later is expensive.
Diagram of a subdirectory international structure with example. Com as one host feeding fr, de, and en-gb language folders that share domain authority.
Subdirectory structure: language folders on one host share the domain link profile.

A subdirectory (or subfolder) structure puts each language or country version of your site in a folder path on one domain: example.com/fr/, example.com/de/, example.com/en-gb/. If you get the structure wrong at launch, you'll be migrating URLs and re-earning rankings for a year, this is one of the few international SEO decisions that's genuinely expensive to reverse.

What it looks like in the wild

Subdirectories are the default choice for most international sites, and for good reason: every language version inherits the authority of the root domain. Real patterns you'll recognize:

  • apple.com/fr/, France, French
  • airbnb.com/es/, Spanish language folder on the .com
  • example.com/en-gb/ vs example.com/en-us/, same language, two markets, one domain

The key property: it's all one host. Links earned by your German blog post strengthen the domain your French product pages live on. With a subdomain setup that consolidation is murkier, Google has long said subdomains are "fine," but in practice they behave like separate sites for some signals, which is exactly the debate that keeps this argument alive.

Subdirectory vs ccTLD vs subdomain: decision matrix

FactorSubdirectory (example.com/fr/)ccTLD (example.fr)Subdomain (fr.example.com)
Authority consolidationFull, one domain, one link profileNone, each domain earns its own linksPartial and contested, treated closer to a separate site for some signals
Geotargeting strengthVia hreflang + folder-level settingsStrongest, the TLD itself is a country signalVia hreflang; host alone signals nothing
Cost to runLowest, one CMS, one certificate, one crawl budgetHighest, registrations, hosting, legal entities per countryMedium, DNS and often separate deployments
Local trust / CTRNeutralHigh, users in France click .frNeutral to low
Migration risk if you change laterLow starting pointVery highHigh, host change is a full migration
Best forMost sites, especially content and SaaSBig brands with per-country teams and budgetsGenuinely separate products, stacks, or teams

The full argument with real-world trade-offs is in the ccTLD vs subdirectory vs subdomain guide.

Subdirectories and hreflang

Structure alone doesn't tell Google which folder targets which audience, hreflang does. And hreflang is a signal, not a directive: it helps Google cluster your language versions, it doesn't command anything. Pick one implementation method (HTML head tags, HTTP headers, or XML sitemap) and never mix two, mixed methods create conflicting annotations that quietly break the cluster. The hreflang implementation guide covers the whole setup.

One subdirectory-specific failure mode is worth naming: hreflang tags on /fr/ pages pointing at URLs that live in a different structure (a subdomain, or the bare root). That's a subdirectory mismatch and it breaks return-tag reciprocity.

How to check it

  1. Crawl the site in Screaming Frog, open the Hreflang tab, and filter for "Missing Return Links" and "Inconsistent Language & Region Return Links", subdirectory sites break here when one folder gets restructured and the others keep linking to old paths.
  2. Spot-check headers: curl -sI https://example.com/fr/, confirm a 200 (not a redirect chain into the folder) and check whether hreflang is being emitted via the Link: HTTP header. If it is, make sure nobody also added head tags.
  3. Verify every language folder is reachable from crawlable HTML links (not just a JavaScript language picker).
  4. In Google Search Console, add each folder as a separate URL-prefix property, per-market performance data is the whole point.

Common mistakes

  • Mixing structures. /fr/ for France but de.example.com for Germany. Pick one convention sitewide; mixed setups double your hreflang failure surface. Fix: consolidate on one structure before scaling to more markets.
  • Ambiguous folder names. Is /fr/ the French language or the France market? Decide, document it, and make hreflang match (fr vs fr-FR). Fix: use language-region folders like /fr-fr/ and /fr-ca/ when you target countries.
  • Auto-redirecting users by IP. Googlebot mostly crawls from the US; force-redirecting it to /en-us/ means it may never see your other folders. Fix: suggest, don't force, banner or picker, and let the crawler through.
  • Launching folders with translated titles and nothing else. A thin /es/ that mirrors the English page word-for-word competes with nothing. Fix: localize, don't just translate.
  • Forgetting the folders in one hreflang direction. /fr/ annotates /de/ but /de/ never annotates back. No reciprocity, no cluster. Fix: generate annotations from a single source of truth, not per-page by hand.

Field notes from real subdirectory migrations

Two failure modes show up again and again once a subdirectory site scales past a handful of markets. The first is the folder that quietly returns a redirect instead of a clean 200: a locale detector 302s example.com/fr/ to example.com/fr/home/, the hreflang cluster points at the canonical folder, and the return tags stop reconciling. Always confirm each language root answers 200 directly. The second is canonical drift, where a templating change starts emitting a canonical to the English URL from inside the French folder, and within a crawl cycle Google drops the localized version. Self-reference the canonical on every folder.

Operationally, add each folder as its own URL-prefix property in Search Console before launch, not after. Per-market impressions, average position, and the Pages report are the only way to catch a single locale silently dropping out. Generate hreflang from one source of truth (a database or a sitemap builder), never by hand per template, because hand-maintained annotations are where reciprocity breaks. If you serve the folders from a CDN, verify the edge does not vary content by visitor geography on the same URL: Googlebot crawls mostly from the United States, and geo-varied HTML on a stable path is how the wrong version gets indexed.

FAQ

Do I need separate hosting for each subdirectory?

No, and that is the point. Every language folder lives on the same host, CMS, and certificate, so you run one stack instead of one per country. That shared infrastructure is exactly why subdirectories cost the least to operate.

How do subdirectories affect crawl budget?

They concentrate it. Because all folders sit on one host, Googlebot crawls them under a single budget rather than splitting attention across separate domains. Keep the internal linking between folders sensible and your important pages stay well crawled.

Do subdirectories rank better than subdomains?

There's no ranking bonus for the folder itself. The advantage is consolidation: one domain accumulating all links and authority tends to outperform the same content split across hosts. Whether subdomains are truly "separate sites" to Google is contested, which is itself a reason to prefer the structure with no ambiguity.

Can I use subdirectories without hreflang?

You can, and Google will often figure out language from the content. But same-language markets (en-US vs en-GB) will cannibalize each other without hreflang clustering the versions. If you have two folders in the same language, hreflang stops being optional.

Should the default language live at the root or in its own folder?

Either works. Root-level English (example.com/ plus /fr/, /de/) is common and saves a migration. A dedicated /en/ folder is cleaner for analytics and hreflang generation. What matters is consistency, don't have English at both the root and /en/.

Does each subdirectory need its own sitemap?

Not required, but per-folder sitemaps (referenced from one index) make indexation monitoring per market far easier in Search Console.

Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.

About SEO ProCheck

Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.

Work With Me

Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.

Subscribe to our newsletter!

More from our blog