Technické SEO

Hreflang

Definice

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ů.

Syntaxe: jazyk, region a x-default

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.

Tři způsoby implementace

Hreflang se dá zapsat třemi způsoby, a Google je z hlediska výsledku považuje za rovnocenné:

  • HTML - sada <link rel="alternate" hreflang="..." href="..." /> v <head> každé stránky, jeden tag pro každou jazykovou verzi včetně sebe sama.
  • HTTP hlavička - stejná informace v Link: hlavičce odpovědi. Hodí se pro soubory, které nemají <head> - typicky PDF.
  • XML sitemap - <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.

Co hreflang neurčuje

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ší.

Hreflang a canonical se nesmí popírat

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í.

Nejčastější chyby

  • Chybějící reciprocita. Odkazuje-li česká verze na anglickou, anglická musí odkazovat zpět na českou - včetně odkazu sama na sebe. Bez zpětného odkazu Google celou dvojici tagů ignoruje.
  • Hreflang na stránce, kterou vyhledávač nemá dovoleno procházet nebo indexovat. Zákaz může být přes noindex, nebo přes pravidlo v souboru pro roboty - v obou případech Google vazbu mezi jazykovými verzemi nemůže potvrdit a hreflang tag nemá na čem stát.
  • Kombinace víc metod zároveň místo výběru jedné - viz výš.
  • Hreflang jen na homepage, ne na jednotlivých podstránkách, které mají jazykové varianty.

Jak ověřit, že hreflang funguje

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.

Související pojmy
Z teorie do praxe

Proberte to se mnou.

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 mi

Nebo se podívejte na službu SEO správa →