When Hreflang Is Overkill
For large international sites with dedicated teams, hreflang works well. For smaller sites serving content in 2-3 languages, the implementation complexity often exceeds the benefit.
Full hreflang requires bidirectional annotations between every language version of every page. A site with 200 pages in 4 languages needs 800 hreflang annotations. I've audited dozens of implementations, and more than half had errors that undermined the intent.
The Subdirectory Approach
example.com/ → English (default)
example.com/es/ → Spanish
example.com/fr/ → French
<html lang="en"> → English pages
<html lang="es"> → Spanish pages
This tells Google the language of each page. Google is quite good at detecting language on its own. What it doesn't do is tell Google that /es/product is the Spanish version of /product. For that, you'd need hreflang.
When Subdirectories Are Sufficient
- You serve different languages, not different regions
- Each language version has unique or adapted content
- You're not seeing cross-language ranking problems in GSC
- Fewer than 500 pages per language
Content Localization vs. Translation
Straight translation doesn't account for local search behavior. Keyword research needs to happen in each target language independently. Localization goes beyond language — currency, date formats, measurement units, and cultural references all change by market.
Geotargeting with Search Console
You can set geographic targeting in GSC per subdirectory. Go to Settings → International Targeting and associate each subdirectory with a target country.
Language Switching
Give users a visible language selector. Don't auto-redirect based on IP geolocation — Google crawls from US IPs, and auto-redirecting confuses Googlebot. Use a dismissable banner instead.
Content Strategy
You don't need to translate every page. Start with highest-traffic and highest-converting pages. For blog content, create original content per language based on that market's search demand rather than translating old articles.