What is international SEO, and what does hreflang do?
Making a site work for multiple countries or languages so that search engines serve the right version to the right user — and hreflang is the mechanism telling them which version is which.
The first decision: the URL structure, which is difficult to change later.
Country-code top-level domains (example.fr) — strongest geographic signal, clearest to users, and the most expensive to run since each domain builds authority separately.
Subdirectories (example.com/fr/) — everything inherits the main domain's authority, which is usually the best default, and the geographic signal is weaker.
Subdomains (fr.example.com) — somewhere between, and treated as more separate than people expect.
URL parameters — not recommended.
What hreflang actually does. It marks equivalent pages in different languages or regions, so a search engine can substitute the right one. It is not a redirect and does not change rankings — it changes which of your pages is shown.
The rules that trip people up:
It must be reciprocal. If page A points to page B, B must point back to A. Non-reciprocal tags are ignored entirely, and this is the most common implementation error.
Every version must list every other version, including itself.
Language codes are required; region codes are optional — en is valid, en-GB is valid, and GB alone is not.
An x-default should specify the fallback for unmatched users.
It can be implemented in HTML head, HTTP headers or the XML sitemap — the sitemap approach scales best and is easiest to maintain.
The other elements of international SEO:
Genuine translation, not machine output, and localisation of examples, currency, units, sizes and imagery.
Local keyword research, since direct translation of keywords frequently misses what people actually search.
Avoiding automatic IP-based redirects, which prevent crawling and frustrate travellers — offer a suggestion instead.
Local hosting or CDN presence, and local links.
Duplicate content across regions is handled by hreflang rather than by canonicals, and mixing the two incorrectly is a frequent failure.