Technické SEO · Slovníček pojmů
Hreflang:
co to je a jak
ho implementovat
Atribut hreflang říká Googlu, která jazyková verze stránky patří kterému uživateli. Bez správné implementace vám Google zobrazí českou stránku německým zákazníkům a naopak.
Definice
Co je hreflang atribut
Hreflang je HTML atribut, který informuje Google o jazykové a geografické verzi konkrétní stránky. Google na jeho základě rozhoduje, která verze obsahu se zobrazí konkrétnímu uživateli podle nastavení jeho prohlížeče nebo polohy.
Bez hreflang Google neví, že vaše česká a slovenská stránka jsou překlady téhož obsahu. Může je vyhodnotit jako duplicity, zobrazit špatnou verzi, nebo jednu z nich zcela ignorovat.
Atribut se zapisuje do sekce <head> každé jazykové verze a odkazuje na všechny ostatní mutace. Každá stránka musí odkazovat i sama na sebe.
Základní syntaxe
<link rel="alternate" hreflang="cs" href="https://example.cz/" /><link rel="alternate" hreflang="sk" href="https://example.sk/" /><link rel="alternate" hreflang="x-default" href="https://example.cz/" />
<head> každé jazykové verze — včetně té slovenské.
Jak Google s hreflang pracuje v praxi
Když uživatel zadá dotaz na google.de, Google z hreflang tagů identifikuje všechny stránky označené hreflang="de" nebo hreflang="de-DE" a upřednostní je před ostatními jazykovými verzemi. Němec uvidí německou stránku, Čech českou, bez ohledu na to, zda mají obě stejnou doménu nebo každá jinou ccTLD.
Hreflang přitom není garancí zobrazení správné verze. Google ho bere jako silný signál, nikoli jako příkaz. Pokud jsou tagy nereciprocní nebo odkazují na blokované URL, Search je ignoruje a rozhoduje se sám. Proto je správná implementace bez chyb podmínkou funkčnosti, ne volitelným vylepšením.
Atribut respektují Google a Yandex. Bing hreflang ignoruje a pro správné cílení vyžaduje meta tag content-language nebo HTTP hlavičku Content-Language nastavenou zvlášť.
Rozsah použití
Kdy hreflang použít a kdy ne
Hreflang není pro každý web. Před implementací si odpovězte na jednu otázku: má každá jazyková verze obsahu vlastní URL adresu?
- Web existuje ve více jazykových verzích, každá na vlastní URL
- Stejný obsah cílíte na různé regiony se stejným jazykem (en-GB a en-US)
- Máte e-shop s českou, slovenskou a německou mutací
- Každá jazyková verze má přeloženy i klíčové části šablony (menu, patička, tlačítka)
- Jazykový přepínač mění obsah stránky bez změny URL (JavaScript překlad)
- Máte pouze jednu jazykovou verzi webu
- Přeložena je jen část obsahu, hlavní text zůstává v původním jazyce
- Obsah stránek je fakticky stejný, liší se jen měna nebo DPH — hreflang duplicitu nevyřeší
Implementace
Tři způsoby implementace hreflang
Podle Google Search Central jsou všechny tři metody pro vyhledávač rovnocenné. Kombinovat je nemá smysl a výrazně komplikuje správu. Vyberte jednu a držte ji napříč celým webem.
| Metoda | Kdy použít | Výhody | Nevýhody |
|---|---|---|---|
| HTML <head> | Weby do ~500 stránek, přístup k HTML hlavičce, WordPress/Shopify/Webflow | Přímá kontrola, snadná implementace přes plugin | U velkých webů s desítkami jazyků obtížná synchronizace |
| XML sitemap | Velké weby s tisíci stránek a mnoha jazykovými mutacemi | Centrální správa na jednom místě, škálovatelné | Sitemap musí být vždy aktuální, jinak Google zpracuje zastaralé URL |
| HTTP hlavička | Soubory mimo HTML formát (PDF, dokumenty) | Jediná možnost pro non-HTML soubory | Vyžaduje zásah do serverové konfigurace, nelze přes CMS |
Metoda 1 — Hreflang v HTML hlavičce <head>
Každá jazyková verze stránky musí v sekci <head> obsahovat kompletní sadu odkazů na všechny mutace včetně sebe sama. Sada odkazů je na každé verzi stránky identická, mění se pouze rel="canonical".
Příklad — HTML metoda
<!-- Tato sada se vkládá do <head> KAŽDÉ jazykové verze --><link rel="alternate" hreflang="en-gb" href="https://en-gb.example.com/page.html" /><link rel="alternate" hreflang="en-us" href="https://en-us.example.com/page.html" /><link rel="alternate" hreflang="en" href="https://en.example.com/page.html" /><link rel="alternate" hreflang="de" href="https://de.example.com/page.html" /><link rel="alternate" hreflang="x-default" href="https://www.example.com/" />
Metoda 2 — Hreflang v XML sitemapě
Každá URL v sitemapě dostane sadu <xhtml:link> dětských elementů odkazujících na všechny jazykové verze. Sitemap musí deklarovat xmlns:xhtml namespace. URL limit sitemaps se na dětské elementy nevztahuje.
Příklad — XML sitemap metoda
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"> <url> <loc>https://example.cz/stranka/</loc> <xhtml:link rel="alternate" hreflang="cs" href="https://example.cz/stranka/"/> <xhtml:link rel="alternate" hreflang="sk" href="https://example.sk/stranka/"/> <xhtml:link rel="alternate" hreflang="x-default" href="https://example.cz/stranka/"/> </url></urlset>
<url> element se stejnou sadou <xhtml:link> dětských elementů.
Metoda 3 — Hreflang v HTTP hlavičce
Používá se výhradně pro soubory mimo HTML formát, typicky PDF dokumenty. Vrátíte HTTP hlavičku Link: s GET odpovědí. Formát je identický u každé jazykové verze souboru.
Příklad — HTTP hlavička
Link: <https://example.com/dokument.pdf>; rel="alternate"; hreflang="en", <https://example.cz/dokument.pdf>; rel="alternate"; hreflang="cs"
Záchranná URL
Atribut x-default — co to je a kdy ho nastavit
Hodnota x-default označuje stránku, která se zobrazí uživatelům, jejichž jazyk prohlížeče neodpovídá žádné z vašich jazykových mutací.
Pokud máte web v češtině a slovenštině a přijde návštěvník z Japonska, Google neví, kam ho nasměrovat. Bez x-default si Google vybere sám, typicky nedeterministicky. S x-default specifikujete záchrannou URL explicitně.
Podle Google Search Central je x-default navržen primárně pro jazykové selektory a stránky s automatickým přesměrováním. Funguje ale i jako obecná záloha pro nepokryté jazyky.
Příklad se třemi trhy
<link rel="alternate" href="https://example.com/en-gb" hreflang="en-gb" /><link rel="alternate" href="https://example.com/en-us" hreflang="en-us" /><link rel="alternate" href="https://example.com/en-au" hreflang="en-au" /><link rel="alternate" href="https://example.com/vyberte-jazyk" hreflang="x-default" />
Kombinace signálů
Hreflang a canonical — jak je správně kombinovat
Hreflang a canonical tag plní odlišné funkce a musí být nastaveny nezávisle na sobě. Záměna nebo konflikt těchto dvou atributů patří k nejdražším technickým chybám na vícejazyčných webech.
Canonical říká Googlu, která URL je preferovaná verze stránky pro indexaci. Hreflang říká, pro jaké publikum je stránka určena. Canonical pracuje vertikálně (deduplikace), hreflang horizontálně (lokalizace).
Klíčové pravidlo: canonical každé jazykové verze musí odkazovat sám na sebe, ne na jinou jazykovou verzi. Pokud česká verze má canonical na anglickou, Google tuto stránku nevyindexuje jako samostatnou a hreflang přestane fungovat.
<!-- Na české verzi --><link rel="canonical" href="https://example.cz/produkt/" /><link rel="alternate" hreflang="cs" href="https://example.cz/produkt/" /><link rel="alternate" hreflang="de" href="https://example.de/produkt/" />
<!-- Na české verzi --><link rel="canonical" href="https://example.de/produkt/" /><!-- Canonical na jinou jazykovou verzi ruší efekt hreflang -->
Referenční přehled
ISO kódy pro hreflang — přehled pro CZ/SK/DACH a okolní trhy
Hodnota atributu hreflang se skládá z kódu jazyka podle ISO 639-1 a volitelně kódu regionu podle ISO 3166-1 Alpha 2. Kombinace se odděluje pomlčkou. Nelze uvést pouze kód země bez jazyka — Google takový zápis ignoruje.
CZ, ale český jazyk má v ISO 639-1 kód cs. Správně tedy cs-CZ, nikoli cz ani cs-CS. U Velké Británie je kód regionu GB, ne UK — zápis en-UK Google ignoruje.
| Trh / publikum | Správná hreflang hodnota | Jazyk (ISO 639-1) | Region (ISO 3166-1 Alpha 2) |
|---|---|---|---|
| Česká republika | cs-CZ |
cs (čeština) | CZ |
| Slovensko | sk-SK |
sk (slovenština) | SK |
| Němčina obecně | de |
de (němčina) | bez regionu |
| Německo | de-DE |
de (němčina) | DE |
| Rakousko | de-AT |
de (němčina) | AT |
| Švýcarsko (němčina) | de-CH |
de (němčina) | CH |
| Polsko | pl-PL |
pl (polština) | PL |
| Maďarsko | hu-HU |
hu (maďarština) | HU |
| Velká Británie | en-GB |
en (angličtina) | GB (ne UK) |
| USA | en-US |
en (angličtina) | US |
| Angličtina obecně | en |
en (angličtina) | bez regionu |
| Nepokryté jazyky (záloha) | x-default |
rezervovaná hodnota | bez regionu |
Kompletní seznam jazykových kódů najdete v ISO 639-1 a kódů regionů v ISO 3166-1 Alpha 2.
Troubleshooting
5 nejčastějších chyb při implementaci hreflang
Chybná implementace hreflang se většinou neprojeví chybovou hláškou, ale ztrátou organické návštěvnosti z cílového trhu. Google chybné tagy tiše ignoruje. Toto jsou chyby, které se opakují nejčastěji.
Pokud stránka A odkazuje hreflangem na stránku B, stránka B musí odkazovat zpět na A. Bez tohoto potvrzení Google tagy ignoruje — jinak by kdokoli mohl libovolnou stránku označit jako jazykovou verzi vaší stránky.
Každá stránka musí navíc odkazovat sama na sebe. Na webu se třemi jazykovými mutacemi každá stránka obsahuje tři hreflang tagy: na sebe a na obě ostatní verze.
Nejčastější záměny: cz místo cs pro češtinu, en-UK místo en-GB pro Velkou Británii, be jako Belgie (ale be je kód běloruštiny — správně nl-BE, fr-BE nebo de-BE).
Google explicitně uvádí, že kódy jako EU, UN nebo UK v hreflang nemají žádný efekt — jsou rezervované pro jiné účely a Search je ignoruje.
Pokud hreflang odkazuje na URL, která má nastavenou direktivu noindex nebo je blokovaná v robots.txt, Google nahlásí chybu v Search Console. Google nemůže ověřit zpětný odkaz z blokované stránky, takže celý pár tagů ignoruje.
Problém nastává typicky při spuštění nové jazykové mutace, která ještě není připravena k indexaci, ale hreflang na ni už míří.
Implementace hreflang zároveň v HTML hlavičce i v XML sitemapě nezpůsobuje chybu — Google takový web zpracuje. Ale správa se stává extrémně náchylnou na nekonzistence: aktualizujete sitemap, zapomenete aktualizovat HTML tagy, a najednou různé části webu ukazují na různé URL.
Podle Google Search Central neexistuje žádná výhoda pro Search při kombinování více metod. Naopak, je to výrazně těžší na správu.
<head> přes plugin (Rank Math, Yoast).
Google ve své dokumentaci uvádí příklady pouze s homepagem, což vedlo k rozšířené praxi implementovat hreflang jen na úvodní stránce. To je chybně. Hreflang musí být na každé stránce, která má jazykovou alternativu — tedy na produktových stránkách, kategoriích, článcích, kontaktech.
Pokud máte hreflang jen na homepage, Google správně spáruje pouze úvodní stránky. Na všech ostatních URL si Google vybere verzi sám, bez vašeho vlivu.
Testování
Jak ověřit, že hreflang funguje správně
Po implementaci hreflang nemáte žádnou okamžitou zpětnou vazbu. Google může trvat týdny, než nové tagy zpracuje. Existují ale nástroje, které chyby odhalí ještě před tím, než je vyhodnotí Search Console.
Google Search Console — Mezinárodní cílení
V Google Search Console přejděte do sekce Starší nástroje a sestavy > Mezinárodní cílení. Záložka Jazyk zobrazí chyby hreflang tagů, nejčastěji „Missing return links“ nebo „Unknown language tag“.
Search Console zpracovává hreflang retroaktivně po crawlu, takže nové chyby se mohou projevit se zpožděním několika dnů až týdnů. Zkontrolujte tuto sekci vždy po nasazení nebo větší změně jazykové struktury webu.
Validátory třetích stran
Google uvádí v dokumentaci nástroje, které nejsou udržovány Googlem, ale jsou v praxi hojně používány:
- Hreflang Tags Generator od Aleydy Solis — generátor i validátor v jednom, rychlá kontrola syntaxe a reciprocity pro konkrétní URL
- Merkle SEO Hreflang Tag Testing Tool — ověří hreflang tagy na živé stránce, zobrazí chybějící zpětné odkazy i neplatné kódy
- Screaming Frog SEO Spider — crawluje celý web a exportuje kompletní hreflang report včetně nerecipročních párů a chybných ISO kódů
- Ahrefs Site Audit — hreflang audit jako součást technického SEO auditu, zvýrazní nejčastější chyby napříč celým webem
Před spuštěním
Checklist správné implementace hreflang
Projděte tento seznam před každým nasazením nebo auditem vícejazyčného webu. Každá nesplněná položka je potenciální důvod, proč hreflang nefunguje.
Struktura tagů
- Každá jazyková verze obsahuje hreflang tag odkazující sama na sebe (self-reference)
- Každá jazyková verze obsahuje hreflang tagy na všechny ostatní mutace
- Propojení je vzájemné — pokud A odkazuje na B, B odkazuje zpět na A
- Atribut x-default je přítomen a odkazuje na záchrannou URL nebo jazykový selektor
- Jsou použity absolutní URL adresy (https://…), ne relativní (/stranka/)
Technické podmínky
- Všechny odkazované URL jsou indexovatelné (žádný noindex, žádná blokace v robots.txt)
- Canonical každé jazykové verze odkazuje sám na sebe, ne na jinou jazykovou verzi
- Používáte pouze jednu implementační metodu (HTML nebo sitemap nebo HTTP hlavičky)
- Jazykové a regionální kódy odpovídají ISO 639-1 a ISO 3166-1 Alpha 2
- Hreflang je implementován na všech stránkách s jazykovou alternativou, nejen na homepage
Časté dotazy
Nejčastější otázky o hreflang
Hreflang nastavíme
přesně a bez chyb
Technické SEO pro vícejazyčné weby je náš obor. Projdeme váš web, odhalíme chyby v hreflang implementaci a nastavíme vše podle Google dokumentace.
Zdroje
Zdroje a reference
- Google Search Central — Tell Google about localized versions of your page · přístup 14. 4. 2026
- Wikipedia — Seznam kódů ISO 639-1 · přístup 14. 4. 2026
- Wikipedia — ISO 3166-1 Alpha 2 · přístup 14. 4. 2026