Čo je hreflang a prečo je kritický pre medzinárodné SEO
Hreflang je signál pre vyhľadávače, ktorý hovorí: „Táto URL má jazykové a/alebo geografické alternatívy.“ Správne nasadenie zabezpečí, že používateľovi sa zobrazí správna verzia stránky (jazyk, regionálne formáty, mena, právne texty) a minimalizuje sa riziko duplicitného obsahu medzi prekladmi. Pre moderné SEO, AIO/AEO (AI/Answer Engine Optimization) a LLM kontexty je to aj o presnej prezentácii entít, cenotvorby a legislatívnych rozdielov v odpovediach modelov.
Základné princípy a syntax hreflang
- Hodnota atribútu
hreflang: používa IETF BCP 47, prakticky:jazyk(ISO 639-1) + voliteľne-REGIÓN(ISO 3166-1 alpha-2), napr.sk,cs,en-GB,en-US,fr-CA,zh-Hant,zh-Hans. - Reciprocita: každá URL musí odkazovať na svoje alternatívy a tie späť na ňu (vrátane self-referencing odkazu).
- 1:1 mapovanie: každá jazyková verzia konkrétnej stránky má mať ekvivalent v ostatných jazykových sadách. Nepoužívajte odkazy na „blízku“ ale nie identickú podstránku.
x-default: voliteľná „fallback“ URL, často jazykový prepínač alebo globálna domovská stránka.- Kanonikalita: v hreflang uvádzajte kanonické URL (protokol, host, cesta, trailing slash).
Spôsoby implementácie: HTML, XML sitemap a HTTP hlavičky
Hreflang možno nasadiť tromi rovnocennými cestami (kombinovať ich netreba, stačí jedna, prakticky sa však často používa XML sitemap kvôli škálovaniu):
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 (najmä pre dokumenty bez HTML, napr. 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"
Architektúra webu a stratégie pre jazykové/regiónové verzie
- ccTLD vs. subdoména vs. podpriečinok: ccTLD (napr.
.sk) prirodzene signalizuje geotargeting; subdomény (sk.example.com) a podpriečinky (/sk/) sú flexibilnejšie pre správu a konsolidáciu autority. - Regionálne varianty obsahu: rozdiely v menách, DPH, právnych textoch, dostupnosti produktov – rátajte s odlišnými šablónami a dátovými zdrojmi.
- Jazyk vs. krajina: nepoužívajte krajinu bez jazyka (
GBje neplatné), vždy aspoň jazyk (en), prípadne jazyk-krajina (en-GB). - Script varianty: čínština
zh-Hans/zh-Hantalebo srbčinasr-Latn/sr-Cyrl– jasne definujte cieľové publikum.
Interakcia s kanonickými odkazmi a indexáciou
- Self-canonical: jazyková verzia má kanonizovať sama na seba, nie na inú jazykovú mutáciu.
- Hreflang ≠ rel=canonical: canonical rieši duplicitu v rámci „tej istej“ URL s variantmi; hreflang rieši paralelné jazykové ekvivalenty.
- Noindex a hreflang: neodkazujte hreflangom na noindex stránky; rozbije to sadu a mätie vyhľadávače.
- Parametre a filtrovanie: v hreflang uvádzajte kanonické URL bez zbytočných parametrov (UTM apod.).
Škálovanie: generovanie sitemáp pre stovky tisíc URL
- Datový model: v CMS/DB udržiavajte mapu „global_id → jazykové URL“ pre každú logickú stránku.
- Sitemap split: do 50 000 URL alebo 50 MB nekomprimovane; použite index sitemapy (
sitemapindex). - Automatická validácia: build pipeline by mal kontrolovať reciprocitu a prítomnosť self-referencing odkazov.
- Konzistencia domén: pri cross-domain setoch (napr.
example.sk+example.cz) generujte kompletné sady vo všetkých sitemaps.
Príklady správnych a chybných kódov
- Správne:
en-GB,en-US,pt-BR,zh-Hant,sr-Latn,fr-CA,sk. - Nesprávne:
en-UK(má byťen-GB),eng(použite dvojpísmenové kódy),GBbez jazyka,en_GBs podčiarkovníkom (použite pomlčku).
Vzorové sety pre bežné situácie
SK/CZ/EN s globálnym 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/"/>
Dialekty EN a cenové rozdiely
<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/"/>
Script varianty pre čí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/產品/"/>
Špeciálne prípady: stránkovačky, kategórie, „soft 404“ a selektory jazyka
- Stránkovanie (
?page=2): hreflang sady musia mapovať rovnaké číslo strany na rovnaké číslo v inej jazykovej verzii (neukazujte všetko na page 1). - Filtrované listingy: ak sú kanonické (indexovateľné), môžu mať vlastné hreflang; inak nie.
- Jazykový prepínač: URL prepínača (bez konkrétneho obsahu) použite ako
x-default, nie ako jazykovú mutáciu. - Soft 404 a prázdne kategórie: ak nemáte plnohodnotný obsah, neprepájajte cez hreflang (nedržte „mŕtve“ sady).
Najčastejšie chyby, ktoré ničia účinok hreflang
- Chýbajúca reciprocita (A → B, ale B → A nie).
- Miešanie protokolov/hostov (http vs. https,
wwwvs. bezwww). - Neplatné kódy (
en-UK, trojpísmenové kódy, samotné krajiny). - Odkazovanie na nekanonické URL (s parametrami, session ID, „/index.html“ varianta).
- Neexistujúce ekvivalenty (nie je 1:1 obsahová zhoda, no napriek tomu je v sade).
- Noindex v sade (rozbije dôveru v celú sadu).
Validácia a audit krok za krokom
- Inventarizácia: zoznam všetkých jazykových mutácií a párovanie URL podľa „global_id“.
- Kontrola kódov: auditujte jazyk/region v BCP 47; nahraďte neplatné kódy.
- Reciprocita & self-link: programovo overte, že každý pár je obojsmerný a obsahuje self-referencing.
- Kanonikalita: skontrolujte
rel=canonicala že hreflang používa presne tie isté kanonické URL. - Stránkovanie: page-to-page mapovanie (1↔1, 2↔2, …).
- Živé testy: otestujte niekoľko URL v inšpekčných nástrojoch, sledujte, ktorú verziu Google zobrazuje v SERP pre rôzne lokality/jazyky.
Meranie dopadu: SEO aj AIO/AEO
- Impresie a CTR podľa krajín/jazykov: porovnávajte pred/po implementácii.
- Segmentácia vstupov: organic sessions a tržby podľa lokality/jazyka.
- Správnosť výberu snippetov: monitorujte, či sa v danom regióne zobrazuje správny jazyk a mena.
- LLM/AI odpovede: konzistentné jazykové URL v citáciách a referenciách (AEO) – menej „pomýlených“ odpovedí miešajúcich meny/jazyk.
Odporúčané procesy a governance
- Štandard v repozitári: dokumentujte jazykové kódy, mapovanie URL a pravidlá pre
x-default. - CI validácia: pri build/ deploy bežte automatický test sitemáp (reciprocita, kanonikalita, status 200).
- Redakčný workflow: pri publikácii novej stránky vznikne placeholder v ostatných jazykoch alebo sa stránka dočasne vylúči zo sady, aby nevznikali neúplné sety.
- Monitoring chýb: alerty pri 4xx/5xx na URL v hreflang setoch, pri presmerovaniach a zmenách kanoník.
Checklist pre správne nasadenie
- Jasná architektúra jazykov/regionov (ccTLD/subdoména/podpriečinok) a mapovanie 1:1.
- Platné BCP 47 hodnoty (
jazykalebojazyk-REGIÓN), bez neplatných kódov. - Kompletné sady s reciprocitou a self-referencing odkazmi.
- Konzistentné
rel=canonicala použitie kanonických URL v hreflang. - Správne nasadenie v sitemape (preferované pre veľké weby) alebo v HTML head/ HTTP hlavičkách.
- Mapovanie stránkovania a filtrovaných kategórií len ak sú kanonické.
x-defaultpre jazykový prepínač alebo globálnu vstupnú stránku.- Automatizovaná validácia a monitoring po deploy.
Časté otázky (FAQ)
- Potrebujem hreflang, ak mám iba angličtinu? Ak máte len jednu jazykovú verziu, nie. Zmysel dáva až pri viacerých jazykoch/regionoch.
- Môžem miešať kódy ako
en-UK? Nie. Použiteen-GB. Držte sa BCP 47. - Je
x-defaultpovinný? Nie, ale býva praktický pre jazykový výber alebo „global home“. - Stačí HTML, alebo musím mať aj sitemapu? Stačí jeden spôsob. Pre veľké weby je sitemap praktickejšia na údržbu.
- Čo s automatickým strojovým prekladom? Je akceptovateľný, ale uistite sa o kvalite a konzistencii; hreflang rieši len správne zacielenie, nie kvalitu obsahu.
Zhrnutie
Hreflang je nevyhnutný pre správne smerovanie medzinárodnej návštevnosti a pre elimináciu jazykových/regionálnych kolízií v indexe. Kľúčom je presné kódovanie jazykov a regiónov, reciprocita, mapovanie 1:1 a kanonikalita. Implementáciu riešte ideálne v sitemape s jasnou governanciou a automatizovanou validáciou. Výsledkom sú správne SERP snippet-y, lepší používateľský zážitok a čistejšie signály aj pre AI/odpoveďové systémy.