Co je hreflang a proč je kritický pro mezinárodní SEO
Hreflang je signál pro vyhledávače, který sděluje: „Tato URL má jazykové a/nebo geografické alternativy.“ Správné nasazení zajistí, že uživateli se zobrazí správná verze stránky (jazyk, regionální formáty, měna, právní texty) a minimalizuje se riziko duplicitního obsahu mezi překlady. Pro moderní SEO, AIO/AEO (AI/Answer Engine Optimization) a kontexty LLM jde také o přesnou prezentaci entit, cenotvorby a legislativních rozdílů v odpovědích modelů.
Základní principy a syntax hreflang
- Hodnota atributu
hreflang: používá IETF BCP 47, prakticky:jazyk(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ě self-referencing odkazu).
- 1:1 mapování: každá jazyková verze konkrétní stránky má mít ekvivalent v ostatních jazykových sadách. Nepoužívejte odkazy na „blízkou“, ale ne totožnou podstránku.
x-default: volitelná „fallback“ URL, často jazykový přepínač nebo globální domovská stránka.- Kanonikalita: v hreflang uvádějte kanonické URL (protokol, host, cesta, trailing slash).
Způsoby implementace: HTML, XML sitemap a HTTP hlavičky
Hreflang lze nasadit třemi rovnocennými způsoby (kombinovat není nutné, postačuje jeden; prakticky se však často používá XML sitemap kvůli škálovatelnosti):
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> <!-- další URL bloky s kompletní 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. podsložka: ccTLD (např.
.sk) přirozeně signalizuje geotargeting; subdomény (sk.example.com) a podsložky (/sk/) jsou flexibilnější pro správu a konsolidaci autority. - Regionální varianty obsahu: rozdíly v měnách, DPH, právních textech, dostupnosti produktů – počítejte s odlišnými šablonami a datovými zdroji.
- Jazyk vs. země: nepoužívejte zemi bez jazyka (
GBje neplatné), vždy alespoň jazyk (en), případně jazyk-země (en-GB). - Varianty písma: čínština
zh-Hans/zh-Hantnebo srbštinasr-Latn/sr-Cyrl– jasně definujte cílové publikum.
Interakce s kanonickými odkazy a indexací
- Self-canonical: jazyková verze má kanonizovat sama sebe, nikoli 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 hreflangem na noindex stránky; rozbije to sadu a mate 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 mapu „global_id → jazykové URL“ pro každou logickou stránku.
- Rozdělení sitemap: do 50 000 URL nebo 50 MB nekomprimovaně; použijte index sitemap (
sitemapindex). - Automatická validace: build pipeline by měl kontrolovat reciprocitu a přítomnost self-referencing odkazů.
- Konzistence domén: při cross-domain setech (např.
example.sk+example.cz) generujte kompletní sady ve všech sitemaps.
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. - Špatně:
en-UK(správně jeen-GB),eng(používejte dvoupísmenné kódy),GBbez jazyka,en_GBs podtržítkem (použijte pomlčku).
Vzorové sady pro běžné situace
SK/CZ/EN s globálním fallback
<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/"/>
Dálenty EN 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): hreflang sady musí mapovat stejné číslo stránky na stejné číslo v jiné jazykové verzi (nezobrazujte vše na page 1). - Filtrované listingy: pokud jsou kanonické (indexovatelné), mohou mít vlastní hreflang; jinak nikoli.
- Jazykový přepínač: URL přepínače (bez konkrétního obsahu) používejte jako
x-default, ne jako jazykovou mutaci. - Soft 404 a prázdné kategorie: pokud nemáte plnohodnotný obsah, nepropojujte je přes hreflang (neudržujte „mrtvé“ sady).
Nejčastější chyby, které ničily efekt hreflang
- Chybějící reciprocita (A → B, ale B → A ne).
- Míchání protokolů/domén (http vs. https,
wwwvs. bezwww). - Neplatné kódy (
en-UK, třípísmenné kódy, samotné země). - Odkazování na nekanonické URL (s parametry, session ID, varianta „/index.html“).
- Neexistující ekvivalenty (není 1:1 obsahová shoda, ale přesto je v sadě).
- Noindex v sadě (rozbije důvěru v celou sadu).
Validace a audit krok za krokem
- Inventarizace: seznam všech jazykových mutací a párování URL dle „global_id“.
- Kontrola kódů: auditujte jazyk/region podle BCP 47; nahraďte neplatné kódy.
- Reciprocita & self-link: programově ověřte, že každý pár je obousměrný a obsahuje self-referencing.
- Kanonikalita: zkontrolujte
rel=canonicala že hreflang používá přesně stejné kanonické URL. - Stránkování: page-to-page mapování (1↔1, 2↔2, …).
- Živé testy: otestujte několik URL v inspekčních nástrojích, sledujte, kterou verzi Google zobrazuje ve výsledcích pro různé lokality/jazyky.
Měření dopadu: SEO i AIO/AEO
- Imprese a CTR dle zemí/jazyků: porovnávejte před a po implementaci.
- Segmentace vstupů: organické návštěvnosti a tržby podle lokality/jazyka.
- Správnost výběru snippetů: monitorujte, zda se v daném regionu zobrazuje správný jazyk a měna.
- LLM/AI odpovědi: konzistentní jazykové URL v citacích a referencích (AEO) – méně „mátoucích“ odpovědí s kombinací měn/jazyků.
Doporučené procesy a governance
- Standard v repozitáři: dokumentujte jazykové kódy, mapování URL a pravidla pro
x-default. - CI validace: při build/deploy spouštějte automatický test sitemaps (reciprocita, kanonikalita, status 200).
- Redakční workflow: při publikaci nové stránky vznikne placeholder v ostatních jazycích, nebo se stránka dočasně vyloučí ze sady, aby nevznikaly neúplné sety.
- Monitoring chyb: alerty při 4xx/5xx na URL v hreflang sadách, při přesměrováních a změnách kanonik.
Checklist pro správné nasazení
- Jasná architektura jazyků/regionů (ccTLD/subdoména/podsložka) a 1:1 mapování.
- Platné BCP 47 hodnoty (
jazyknebojazyk-REGION), bez neplatných kódů. - Kompletní sady s reciprocitou a self-referencing odkazy.
- Konzistentní
rel=canonicala použití kanonických URL v hreflang. - Správné nasazení v sitemapě (preferováno pro velké weby) nebo v HTML head/HTTP hlavičkách.
- Mapování stránkování a filtrovaných kategorií pouze pokud jsou kanonické.
x-defaultpro jazykový přepínač nebo globální vstupní stránku.- Automatizovaná validace a monitoring po deploy.
Časté otázky (FAQ)
- Potřebuji hreflang, když mám pouze angličtinu? Pokud máte jen jednu jazykovou verzi, není potřeba. Smysl má až při více jazycích/oblastech.
- Mohu míchat kódy jako
en-UK? Ne. Použijteen-GB. Držte se standardu BCP 47. - Je
x-defaultpovinný? Ne, ale bývá



























