Hreflang tag a jeho význam pro mezinárodní SEO

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 (GB je neplatné), vždy alespoň jazyk (en), případně jazyk-země (en-GB).
  • Varianty písma: čínština zh-Hans/zh-Hant nebo srbština sr-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

  1. Datový model: v CMS/DB udržujte mapu „global_id → jazykové URL“ pro každou logickou stránku.
  2. Rozdělení sitemap: do 50 000 URL nebo 50 MB nekomprimovaně; použijte index sitemap (sitemapindex).
  3. Automatická validace: build pipeline by měl kontrolovat reciprocitu a přítomnost self-referencing odkazů.
  4. 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ě je en-GB), eng (používejte dvoupísmenné kódy), GB bez jazyka, en_GB s 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

  1. Chybějící reciprocita (A → B, ale B → A ne).
  2. Míchání protokolů/domén (http vs. https, www vs. bez www).
  3. Neplatné kódy (en-UK, třípísmenné kódy, samotné země).
  4. Odkazování na nekanonické URL (s parametry, session ID, varianta „/index.html“).
  5. Neexistující ekvivalenty (není 1:1 obsahová shoda, ale přesto je v sadě).
  6. Noindex v sadě (rozbije důvěru v celou sadu).

Validace a audit krok za krokem

  1. Inventarizace: seznam všech jazykových mutací a párování URL dle „global_id“.
  2. Kontrola kódů: auditujte jazyk/region podle BCP 47; nahraďte neplatné kódy.
  3. Reciprocita & self-link: programově ověřte, že každý pár je obousměrný a obsahuje self-referencing.
  4. Kanonikalita: zkontrolujte rel=canonical a že hreflang používá přesně stejné kanonické URL.
  5. Stránkování: page-to-page mapování (1↔1, 2↔2, …).
  6. Ž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

  1. Standard v repozitáři: dokumentujte jazykové kódy, mapování URL a pravidla pro x-default.
  2. CI validace: při build/deploy spouštějte automatický test sitemaps (reciprocita, kanonikalita, status 200).
  3. 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.
  4. 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 (jazyk nebo jazyk-REGION), bez neplatných kódů.
  • Kompletní sady s reciprocitou a self-referencing odkazy.
  • Konzistentní rel=canonical a 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-default pro 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žijte en-GB. Držte se standardu BCP 47.
  • Je x-default povinný? Ne, ale bývá