Co je hreflang a proč je zásadní pro mezinárodní SEO
Hreflang je signál pro vyhledávače, který říká: „Tato URL má jazykové a/nebo geografické alternativy.“ Správné nasazení zajistí, že se uživateli zobrazí správná verze stránky (jazyk, regionální formáty, měna, právní texty) a minimalizuje riziko duplicitního obsahu mezi překlady. V moderním SEO a kontextech AIO/AEO (AI/Answer Engine Optimization) a LLM jde také o přesnou prezentaci entit, tvorby cen a legislativních rozdílů v odpovědích modelů.
Základní principy a syntaxe hreflang
- Hodnota atributu
hreflang: používá standard IETF BCP 47; v praxi jde ojazyk(ISO 639-1) + volitelně-REGION(ISO 3166-1 alpha-2), např.sk,cs,en-GB,en-US,fr-CA,zh-Hant,zh-Hans. - Reciprocita: každá URL musí odkazovat na své alternativy a ty zpět na ni (včetně odkazu self-referencing).
- Mapování 1:1: každá jazyková verze konkrétní stránky by měla mít ekvivalent v ostatních jazykových sadách. Neodkazujte na „blízkou“, ale ne zcela totožnou podstránku.
x-default: volitelná záložní URL, často přepínač jazyků nebo globální domovská stránka.- Kanonikalita: v hreflang uvádějte kanonické URL (protokol, hostitel, cesta, koncové lomítko).
Způsoby implementace: HTML, XML sitemap a HTTP hlavičky
Hreflang lze nasadit třemi rovnocennými způsoby (není třeba je kombinovat, stačí jeden; v praxi se však kvůli škálovatelnosti často používá XML sitemap):
1) HTML <link rel="alternate" hreflang="..."> v <head>
<link rel="alternate" hreflang="sk" href="https://example.com/sk/produkt-a/"> <link rel="alternate" hreflang="cs" href="https://example.com/cs/produkt-a/"> <link rel="alternate" hreflang="en-GB" href="https://example.com/uk/product-a/"> <link rel="alternate" hreflang="x-default" href="https://example.com/global/product-a/">
2) XML sitemap s hreflang (namespace xhtml)
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"> <url> <loc>https://example.com/sk/produkt-a/</loc> <xhtml:link rel="alternate" hreflang="sk" href="https://example.com/sk/produkt-a/"/> <xhtml:link rel="alternate" hreflang="cs" href="https://example.com/cs/produkt-a/"/> <xhtml:link rel="alternate" hreflang="en-GB" href="https://example.com/uk/product-a/"/> <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/global/product-a/"/> </url> <!-- ďalšie URL bloky s kompletnou hreflang sadou --> </urlset>
3) HTTP hlavičky (zejména pro dokumenty bez HTML, např. PDF)
Link: <https://example.com/sk/brochure.pdf>; rel="alternate"; hreflang="sk", <https://example.com/cs/brochure.pdf>; rel="alternate"; hreflang="cs", <https://example.com/global/brochure.pdf>; rel="alternate"; hreflang="x-default"
Architektura webu a strategie pro jazykové/regionální verze
- ccTLD vs. subdoména vs. podadresář: ccTLD (např.
.sk) přirozeně signalizuje geografické cílení; subdomény (sk.example.com) a podadresáře (/sk/) jsou flexibilnější z hlediska správy a konsolidace autority. - Regionální varianty obsahu: rozdíly v měnách, DPH, právních textech a dostupnosti produktů vyžadují odlišné šablony a datové zdroje.
- Jazyk vs. země: nepoužívejte kód země bez jazyka (
GBje neplatné); vždy uveďte alespoň jazyk (en), případně jazyk a zemi (en-GB). - Varianty písma: u čínštiny
zh-Hans/zh-Hantnebo srbštinysr-Latn/sr-Cyrljasně definujte cílové publikum.
Interakce s kanonickými odkazy a indexací
- Self-canonical: jazyková verze má kanonizovat sama na sebe, nikoli na jinou jazykovou mutaci.
- Hreflang ≠ rel=canonical: canonical řeší duplicitu v rámci „téže“ URL s variantami; hreflang řeší paralelní jazykové ekvivalenty.
- Noindex a hreflang: neodkazujte pomocí hreflang na stránky s direktivou noindex; narušíte tím sadu a zmatete vyhledávače.
- Parametry a filtrování: v hreflang uvádějte kanonické URL bez zbytečných parametrů (UTM apod.).
Škálování: generování sitemap pro stovky tisíc URL
- Datový model: v CMS/DB udržujte pro každou logickou stránku mapu „global_id → jazykové URL“.
- Rozdělení sitemap: maximálně 50 000 URL nebo 50 MB nekomprimovaně; použijte index sitemap (
sitemapindex). - Automatická validace: build pipeline by měla kontrolovat reciprocitu a přítomnost odkazů self-referencing.
- Konzistence domén: u sad napříč doménami (např.
example.sk+example.cz) generujte úplné sady ve všech souborech sitemap.
Příklady správných a chybných kódů
- Správně:
en-GB,en-US,pt-BR,zh-Hant,sr-Latn,fr-CA,sk. - Nesprávně:
en-UK(má býten-GB),eng(používejte dvoupísmenné kódy),GBbez jazyka,en_GBs podtržítkem (používejte pomlčku).
Ukázkové sady pro běžné situace
SK/CZ/EN s globální záložní variantou
<link rel="alternate" hreflang="sk" href="https://example.com/sk/sluzba/"/> <link rel="alternate" hreflang="cs" href="https://example.cz/cs/sluzba/"/> <link rel="alternate" hreflang="en" href="https://example.com/en/service/"/> <link rel="alternate" hreflang="x-default" href="https://example.com/"/>
Varianty angličtiny a cenové rozdíly
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/pricing/"/> <link rel="alternate" hreflang="en-US" href="https://example.com/us/pricing/"/> <link rel="alternate" hreflang="en-AU" href="https://example.com/au/pricing/"/>
Varianty písma pro čínštinu
<link rel="alternate" hreflang="zh-Hans" href="https://example.com/zh-hans/產品/"/> <link rel="alternate" hreflang="zh-Hant" href="https://example.com/zh-hant/產品/"/>
Speciální případy: stránkování, kategorie, „soft 404“ a jazykové přepínače
- Stránkování (
?page=2): sady hreflang musí mapovat stejné číslo stránky na stejné číslo v jiné jazykové verzi (neodkazujte vše na page 1). - Filtrované výpisy: pokud jsou kanonické (indexovatelné), mohou mít vlastní hreflang; jinak ne.
- Jazykový přepínač: URL přepínače (bez konkrétního obsahu) použijte jako
x-default, nikoli jako jazykovou mutaci. - Soft 404 a prázdné kategorie: pokud nemáte plnohodnotný obsah, nepropojujte stránky přes hreflang (neponechávejte „mrtvé“ sady).
Nejčastější chyby, které ruší účinek hreflang
- Chybějící reciprocita (A → B, ale B → A nikoli).
- Míchání protokolů/hostitelů (http vs. https,
wwwvs. bezwww). - Neplatné kódy (
en-UK, třípísmenné kódy, samotné kódy zemí). - Odkazování na nekanonické URL (s parametry, ID relace, varianta „/index.html“).
- Neexistující ekvivalenty (obsah si neodpovídá v poměru 1:1, a přesto je stránka zahrnuta v sadě).
- Noindex v sadě (narušuje důvěryhodnost celé sady).
Validace a audit krok za krokem
- Inventarizace: seznam všech jazykových mutací a párování URL podle „global_id“.
- Kontrola kódů: ověřte jazyk/region podle BCP 47 a nahraďte neplatné kódy.
- Reciprocita a self-link: programově ověřte, že každá dvojice je obousměrná a obsahuje odkaz self-referencing.
- Kanonikalita: zkontrolujte
rel=canonicala ověřte, že hreflang používá přesně stejné kanonické URL. - Stránkování: mapování stránky na stránku (1↔1, 2↔2, …).
- Živé testy: otestujte několik URL pomocí inspekčních nástrojů a sledujte, kterou verzi Google zobrazuje v SERP pro různé lokality/jazyky.
Měření dopadu: SEO i AIO/AEO
- Počet zobrazení a CTR podle zemí/jazyků: porovnávejte hodnoty před implementací a po ní.
- Segmentace návštěvnosti: organické relace a tržby podle lokality/jazyka.
- Správnost výběru úryvků: sledujte, zda se v daném regionu zobrazuje správný jazyk a měna.
- Odpovědi LLM/AI: konzistentní jazykové URL v citacích a odkazech (AEO) znamenají méně „zmatených“ odpovědí, které míchají měny a jazyky.
Doporučené procesy a správa
- Standard v repozitáři: zdokumentujte jazykové kódy, mapování URL a pravidla pro
x-default. - CI validace: při sestavení/nasazení spusťte automatický test sitemap (reciprocita, kanonikalita, stav 200).
- Redakční workflow: při publikování nové stránky vytvořte placeholder v ostatních jazycích, nebo stránku dočasně vyřaďte ze sady, aby nevznikaly neúplné sady.
- Monitorování chyb: nastavte upozornění při odpovědích 4xx/5xx na URL v sadách hreflang, při přesměrováních a změnách kanonických URL.
Kontrolní seznam pro správné nasazení
- Jasná architektura jazyků/regionů (ccTLD/subdoména/podadresář) a mapování 1:1.
- Platné hodnoty BCP 47 (
jazyknebojazyk-REGION), bez neplatných kódů. - Úplné sady s reciprocitou a odkazy self-referencing.
- Konzistentní
rel=canonicala použití kanonických URL v hreflang. - Správné nasazení v sitemapě (doporučeno pro velké weby) nebo v HTML head/HTTP hlavičkách.
- Mapování stránkování a filtrovaných kategorií pouze v případě, že jsou kanonické.
x-defaultpro jazykový přepínač nebo globální vstupní stránku.- Automatizovaná validace a monitorování po nasazení.
Časté otázky (FAQ)
- Potřebuji hreflang, pokud mám pouze angličtinu? Pokud máte jen jednu jazykovou verzi, ne. Smysl má až při více jazycích/regionech.
- Mohu kombinovat kódy jako
en-UK? Ne. Použijteen-GB. Řiďte se standardem BCP 47. - Je
x-defaultpovinný? Ne, ale hodí se pro výběr jazyka nebo globální domovskou stránku. - Stačí HTML, nebo musím mít také sitemapu? Stačí jeden způsob. U velkých webů se sitemap snadněji udržuje.
- Jak je to s automatickým strojovým překladem? Je přijatelný, ale ověřte jeho kvalitu a konzistenci; hreflang řeší pouze správné cílení, nikoli kvalitu obsahu.
Shrnutí
Hreflang je nezbytný pro správné směrování mezinárodní návštěvnosti a eliminaci jazykových/regionálních kolizí v indexu. Klíčové jsou přesné kódování jazyků a regionů, reciprocita, mapování 1:1 a kanonikalita. Implementaci ideálně řešte v sitemapě s jasně nastavenou správou a automatizovanou validací. Výsledkem jsou správné úryvky ve výsledcích vyhledávání, lepší uživatelská zkušenost a čistší signály také pro systémy AI a odpovědní systémy.
