hreflang-international-seolisted
Install: claude install-skill keupera/seo-skills
# International and Hreflang
Hreflang doesn't improve rankings. It tells Google which version of a page to show to which user, and it consolidates ranking signals across versions so the set competes as one rather than as duplicates.
That's a smaller promise than it's usually sold with, and getting it wrong is worse than not having it. Broken hreflang is very common because the rules are unforgiving and nothing visibly breaks when they're violated.
## Step 1: Choose the URL structure
Decide this first. Changing it later is a full migration.
| Structure | Example | Pros | Cons |
|---|---|---|---|
| **Subdirectory** | `example.com/de/` | Inherits domain authority, one property to manage, cheapest | Weaker geo signal than a ccTLD |
| **Subdomain** | `de.example.com` | Separable infrastructure | Authority sharing is less certain, more config |
| **ccTLD** | `example.de` | Strongest country signal, best local trust | Each domain builds authority from zero. Expensive |
| **Parameter** | `example.com?lang=de` | Nothing | Don't |
**Subdirectories are the right default** for almost everyone. Use ccTLDs when there's a genuine local entity, local trust matters commercially, or the market demands it. The authority cost of ccTLDs is real and consistently underestimated.
Separate language from country only when the content actually differs. `de-DE` and `de-AT` need separate pages if prices, shipping, tax or law differ. If they'd be identical, ship one `de` version.
## Step 2: The hr