Hreflang je HTML atribut (rel="alternate" hreflang="jazyk-region"), kterým web řekne vyhledávači, že stránka existuje ve víc jazykových nebo regionálních verzích, a která je která. Google podle něj nabídne uživateli tu verzi, která odpovídá jeho jazyku - nepoužívá ho ale k tomu, aby poznal, v jakém jazyce stránka vlastně je.
Hodí se ve třech situacích: web má obsah plně přeložený do víc jazyků, má stejný jazyk s drobnými regionálními rozdíly (ceny v librách pro UK, v dolarech pro US), nebo překládá jen šablonu (navigaci, patičku) a obsah zůstává v jednom jazyce - typicky diskuzní fóra a weby s obsahem od uživatelů.
Hodnota atributu se skládá z kódu jazyka (formát ISO 639-1: cs, en, de) a volitelně kódu regionu (ISO 3166-1 Alpha-2: GB, AT, CH), oddělených pomlčkou - třeba en-GB pro angličtinu ve Velké Británii. Samotný kód regionu nestačí: hreflang="be" neznamená Belgii, ale běloruštinu, protože první část kódu je vždy jazyk, ne země. Pro belgické publikum je proto potřeba de-BE, nl-BE nebo fr-BE podle jazyka, ne holé be.
Speciální hodnota x-default označuje stránku, na kterou se má uživatel dostat, když jeho jazyk neodpovídá žádné z nabízených verzí - typicky výběr jazyka nebo mezinárodní rozcestník.
Hreflang se dá zapsat třemi způsoby, a Google je z hlediska výsledku považuje za rovnocenné:
<link rel="alternate" hreflang="..." href="..." /> v <head> každé stránky, jeden tag pro každou jazykovou verzi včetně sebe sama.Link: hlavičce odpovědi. Hodí se pro soubory, které nemají <head> - typicky PDF.<xhtml:link> prvky uvnitř <url> záznamu, výhodné u velkých webů, kde by HTML varianta znamenala editaci tisíců stránek.Kombinovat víc metod najednou nemá smysl - výsledek je stejný, jen se zdvojnásobí až ztrojnásobí místo, kde může vzniknout chyba.
Nejčastější zjednodušení, které se o hreflangu tvrdí, je, že říká vyhledávači, v jakém jazyce stránka je. Google to ve své dokumentaci vyvrací přímo: jazyk stránky rozpoznává vlastními algoritmy, hreflang ani atribut lang k tomu nepoužívá. Hreflang neurčuje jazyk jedné stránky, ale vztah mezi víc stránkami - říká, že tahle URL a tamta URL jsou jazykové varianty téhož obsahu, a která z nich patří kterému publiku.
Druhé zjednodušení je, že hreflang řeší duplicitní obsah. Podle Google se přeložená verze stránky za duplicitu nepočítá vůbec - problém vzniká jen tam, kde zůstane hlavní obsah nepřeložený a liší se jen šablona nebo doména. V tom případě hreflang pomůže vyhledávači nabídnout každému publiku tu správnou URL, ale samotnou příčinu (nepřeložený obsah na víc adresách) neřeší.
Každá jazyková verze by měla mít vlastní canonical, který ukazuje sama na sebe - ne na hlavní nebo výchozí jazykovou verzi webu. Canonical na jinou jazykovou verzi říká vyhledávači „tahle stránka je duplicita, indexuj tu druhou” - přesně opačný signál než hreflang, který říká „tyhle stránky jsou svébytné varianty pro různé publikum”. Když si canonical a hreflang na stránce odporují, přednost obvykle dostane canonical a jazyková verze z výsledků zmizí.
Přehled Mezinárodní cílení v Search Console dřív ukazoval hreflang chyby na úrovni celého webu, Google ho ale v roce 2022 zrušil - podpora byla ukončena a s ní i tohle hlášení chyb zmizelo. Google dál hreflang podporuje a doporučení k němu platí beze změny, jen chybí vestavěný přehled, který by nesrovnalosti ukázal na jednom místě.
Prakticky se ověřuje dvěma způsoby: nástrojem URL Inspection v Search Console pro jednotlivou konkrétní stránku, nebo crawlerem (třeba Screaming Frog), který projde celý web a spáruje jazykové verze mezi sebou - to je jediný reálný způsob, jak na větším webu odhalit chybějící zpětné odkazy nebo špatně napsané kódy systematicky, ne stránku po stránce.
Hreflang se nerozbije jednou a napořád - nová stránka, nový jazyk, redesign a vazby mezi verzemi se snadno rozpojí. V měsíční správě to kontroluju jako součást technického auditu, ne jen při prvním nastavení.
Napište miNebo se podívejte na službu SEO správa →